summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiegoisawesome <diego@domoreaweso.me>2018-12-25 15:03:13 -0600
committerDiegoisawesome <diego@domoreaweso.me>2018-12-25 15:03:13 -0600
commitd8948a5cda2e385c1d4b5c6190c4fe0fb53359fb (patch)
treefa882b0733f88cc17dcbaef8c25c30c7198bdca1
parentdea41e1a7e6e73789431153d6c28dac3a3a73ac6 (diff)
parenta54aa03d20dacc88879404b87a5f6a7eb7babc54 (diff)
Merge remote-tracking branch 'pret/master' into trade
-rw-r--r--asm/battle_anim_effects_3.s44
-rw-r--r--asm/contest.s6
-rw-r--r--asm/contest_link_80F57C4.s8
-rw-r--r--asm/dark.s2199
-rw-r--r--asm/easy_chat.s2
-rw-r--r--asm/fldeff_80F9BCC.s2514
-rw-r--r--asm/flying.s26
-rw-r--r--asm/ice.s2944
-rw-r--r--asm/macros/event.inc68
-rw-r--r--asm/macros/map.inc2
-rw-r--r--asm/party_menu.s18014
-rw-r--r--asm/pokemon_storage_system.s20963
-rw-r--r--asm/pokenav.s40
-rw-r--r--asm/psychic.s2172
-rw-r--r--asm/rom_8011DC0.s16
-rw-r--r--asm/roulette.s6
-rw-r--r--asm/trade.s2
-rw-r--r--asm/trainer_card.s10
-rw-r--r--asm/use_pokeblock.s2
-rw-r--r--asm/water.s3607
-rw-r--r--data/battle_anim_scripts.s422
-rw-r--r--data/cry_id_table.inc137
-rw-r--r--data/data2c.s56
-rw-r--r--data/event_scripts.s641
-rw-r--r--data/field_effect_helpers.s11
-rw-r--r--data/field_effect_misc.s244
-rw-r--r--data/field_effect_scripts.s20
-rw-r--r--data/maps/AbandonedShip_CaptainsOffice/scripts.inc8
-rw-r--r--data/maps/AbandonedShip_Corridors_B1F/scripts.inc11
-rw-r--r--data/maps/AbandonedShip_HiddenFloorCorridors/scripts.inc44
-rw-r--r--data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc16
-rw-r--r--data/maps/AbandonedShip_Rooms2_1F/scripts.inc4
-rw-r--r--data/maps/AbandonedShip_Rooms_1F/scripts.inc2
-rw-r--r--data/maps/AncientTomb/scripts.inc20
-rw-r--r--data/maps/AquaHideout_1F/scripts.inc12
-rw-r--r--data/maps/AquaHideout_B1F/scripts.inc23
-rw-r--r--data/maps/AquaHideout_B2F/scripts.inc3
-rw-r--r--data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc40
-rw-r--r--data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc4
-rw-r--r--data/maps/BattleFrontier_BattleArenaLobby/scripts.inc24
-rw-r--r--data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc66
-rw-r--r--data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc10
-rw-r--r--data/maps/BattleFrontier_BattleDomeLobby/scripts.inc52
-rw-r--r--data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc20
-rw-r--r--data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc38
-rw-r--r--data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc26
-rw-r--r--data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc94
-rw-r--r--data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc42
-rw-r--r--data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc22
-rw-r--r--data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc40
-rw-r--r--data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc6
-rw-r--r--data/maps/BattleFrontier_BattlePikeLobby/scripts.inc12
-rw-r--r--data/maps/BattleFrontier_BattlePikeRandomRoom1/scripts.inc48
-rw-r--r--data/maps/BattleFrontier_BattlePikeRandomRoom2/scripts.inc2
-rw-r--r--data/maps/BattleFrontier_BattlePikeRandomRoom3/scripts.inc6
-rw-r--r--data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc6
-rw-r--r--data/maps/BattleFrontier_BattlePointExchangeServiceCorner/scripts.inc80
-rw-r--r--data/maps/BattleFrontier_BattlePyramidEmptySquare/scripts.inc18
-rw-r--r--data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc26
-rw-r--r--data/maps/BattleFrontier_BattlePyramidTop/scripts.inc38
-rw-r--r--data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc42
-rw-r--r--data/maps/BattleFrontier_BattleTowerBattleRoom2/scripts.inc29
-rw-r--r--data/maps/BattleFrontier_BattleTowerCorridor/scripts.inc8
-rw-r--r--data/maps/BattleFrontier_BattleTowerCorridor2/scripts.inc16
-rw-r--r--data/maps/BattleFrontier_BattleTowerElevator/scripts.inc17
-rw-r--r--data/maps/BattleFrontier_BattleTowerLobby/scripts.inc134
-rw-r--r--data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc24
-rw-r--r--data/maps/BattleFrontier_Lounge1/scripts.inc40
-rw-r--r--data/maps/BattleFrontier_Lounge2/scripts.inc27
-rw-r--r--data/maps/BattleFrontier_Lounge3/scripts.inc44
-rw-r--r--data/maps/BattleFrontier_Lounge5/scripts.inc6
-rw-r--r--data/maps/BattleFrontier_Lounge6/scripts.inc9
-rw-r--r--data/maps/BattleFrontier_Lounge7/scripts.inc14
-rw-r--r--data/maps/BattleFrontier_OutsideEast/scripts.inc19
-rw-r--r--data/maps/BattleFrontier_OutsideWest/scripts.inc24
-rw-r--r--data/maps/BattleFrontier_RankingHall/scripts.inc2
-rw-r--r--data/maps/BattleFrontier_ReceptionGate/scripts.inc8
-rw-r--r--data/maps/BattleFrontier_ScottsHouse/scripts.inc100
-rw-r--r--data/maps/BirthIsland_Exterior/scripts.inc20
-rw-r--r--data/maps/BirthIsland_Harbor/scripts.inc2
-rw-r--r--data/maps/CaveOfOrigin_1F/scripts.inc3
-rw-r--r--data/maps/CaveOfOrigin_UnusedRubySapphireMap1/scripts.inc3
-rw-r--r--data/maps/CaveOfOrigin_UnusedRubySapphireMap2/scripts.inc3
-rw-r--r--data/maps/CaveOfOrigin_UnusedRubySapphireMap3/scripts.inc3
-rw-r--r--data/maps/DesertRuins/scripts.inc20
-rw-r--r--data/maps/DesertUnderpass/scripts.inc6
-rw-r--r--data/maps/DewfordTown/scripts.inc62
-rw-r--r--data/maps/DewfordTown_Gym/scripts.inc60
-rw-r--r--data/maps/DewfordTown_Hall/scripts.inc35
-rw-r--r--data/maps/DewfordTown_House2/scripts.inc5
-rw-r--r--data/maps/EverGrandeCity/scripts.inc3
-rw-r--r--data/maps/EverGrandeCity_ChampionsRoom/scripts.inc28
-rw-r--r--data/maps/EverGrandeCity_DrakesRoom/scripts.inc10
-rw-r--r--data/maps/EverGrandeCity_GlaciasRoom/scripts.inc10
-rw-r--r--data/maps/EverGrandeCity_Hall1/scripts.inc2
-rw-r--r--data/maps/EverGrandeCity_Hall2/scripts.inc2
-rw-r--r--data/maps/EverGrandeCity_Hall3/scripts.inc2
-rw-r--r--data/maps/EverGrandeCity_Hall4/scripts.inc2
-rw-r--r--data/maps/EverGrandeCity_Hall5/scripts.inc2
-rw-r--r--data/maps/EverGrandeCity_HallOfFame/scripts.inc16
-rw-r--r--data/maps/EverGrandeCity_PhoebesRoom/scripts.inc10
-rw-r--r--data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc12
-rw-r--r--data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc17
-rw-r--r--data/maps/EverGrandeCity_SidneysRoom/scripts.inc10
-rw-r--r--data/maps/FallarborTown/scripts.inc3
-rw-r--r--data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc14
-rw-r--r--data/maps/FallarborTown_BattleTentCorridor/scripts.inc4
-rw-r--r--data/maps/FallarborTown_BattleTentLobby/scripts.inc17
-rw-r--r--data/maps/FallarborTown_House1/scripts.inc21
-rw-r--r--data/maps/FallarborTown_House2/scripts.inc13
-rw-r--r--data/maps/FarawayIsland_Entrance/scripts.inc6
-rw-r--r--data/maps/FarawayIsland_Interior/scripts.inc38
-rw-r--r--data/maps/FieryPath/scripts.inc3
-rw-r--r--data/maps/FortreeCity/scripts.inc7
-rw-r--r--data/maps/FortreeCity_Gym/scripts.inc18
-rw-r--r--data/maps/FortreeCity_House1/scripts.inc9
-rw-r--r--data/maps/FortreeCity_House2/scripts.inc8
-rw-r--r--data/maps/FortreeCity_House4/scripts.inc11
-rw-r--r--data/maps/GraniteCave_1F/scripts.inc3
-rw-r--r--data/maps/GraniteCave_StevensRoom/scripts.inc14
-rw-r--r--data/maps/InsideOfTruck/scripts.inc4
-rw-r--r--data/maps/IslandCave/scripts.inc29
-rw-r--r--data/maps/JaggedPass/scripts.inc17
-rw-r--r--data/maps/LavaridgeTown/scripts.inc45
-rw-r--r--data/maps/LavaridgeTown_Gym_1F/scripts.inc38
-rw-r--r--data/maps/LavaridgeTown_Gym_B1F/scripts.inc16
-rw-r--r--data/maps/LavaridgeTown_HerbShop/scripts.inc5
-rw-r--r--data/maps/LilycoveCity/scripts.inc76
-rw-r--r--data/maps/LilycoveCity_ContestLobby/scripts.inc101
-rw-r--r--data/maps/LilycoveCity_CoveLilyMotel_1F/scripts.inc10
-rw-r--r--data/maps/LilycoveCity_CoveLilyMotel_2F/scripts.inc11
-rw-r--r--data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc13
-rw-r--r--data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc30
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc25
-rw-r--r--data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc4
-rw-r--r--data/maps/LilycoveCity_Harbor/scripts.inc112
-rw-r--r--data/maps/LilycoveCity_House2/scripts.inc5
-rw-r--r--data/maps/LilycoveCity_House3/scripts.inc2
-rw-r--r--data/maps/LilycoveCity_LilycoveMuseum_1F/scripts.inc14
-rw-r--r--data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc41
-rw-r--r--data/maps/LilycoveCity_MoveDeletersHouse/scripts.inc10
-rw-r--r--data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc7
-rw-r--r--data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc124
-rw-r--r--data/maps/LittlerootTown/scripts.inc143
-rw-r--r--data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc39
-rw-r--r--data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc47
-rw-r--r--data/maps/LittlerootTown_MaysHouse_1F/scripts.inc47
-rw-r--r--data/maps/LittlerootTown_MaysHouse_2F/scripts.inc64
-rw-r--r--data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc128
-rw-r--r--data/maps/MagmaHideout_4F/scripts.inc4
-rw-r--r--data/maps/MarineCave_End/scripts.inc16
-rw-r--r--data/maps/MauvilleCity/scripts.inc50
-rw-r--r--data/maps/MauvilleCity_BikeShop/scripts.inc22
-rw-r--r--data/maps/MauvilleCity_GameCorner/scripts.inc92
-rw-r--r--data/maps/MauvilleCity_Gym/scripts.inc54
-rw-r--r--data/maps/MauvilleCity_House1/scripts.inc3
-rw-r--r--data/maps/MauvilleCity_House2/scripts.inc9
-rw-r--r--data/maps/MeteorFalls_1F_1R/scripts.inc12
-rw-r--r--data/maps/MeteorFalls_1F_2R/scripts.inc6
-rw-r--r--data/maps/MeteorFalls_StevensCave/scripts.inc3
-rw-r--r--data/maps/MirageTower_4F/scripts.inc4
-rw-r--r--data/maps/MossdeepCity/scripts.inc24
-rw-r--r--data/maps/MossdeepCity_Gym/scripts.inc58
-rw-r--r--data/maps/MossdeepCity_House1/scripts.inc2
-rw-r--r--data/maps/MossdeepCity_House2/scripts.inc4
-rw-r--r--data/maps/MossdeepCity_House3/scripts.inc5
-rw-r--r--data/maps/MossdeepCity_House4/scripts.inc5
-rw-r--r--data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc51
-rw-r--r--data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc48
-rw-r--r--data/maps/MossdeepCity_StevensHouse/scripts.inc15
-rw-r--r--data/maps/MtChimney/scripts.inc36
-rw-r--r--data/maps/MtChimney_CableCarStation/scripts.inc10
-rw-r--r--data/maps/MtPyre_1F/scripts.inc5
-rw-r--r--data/maps/MtPyre_3F/scripts.inc2
-rw-r--r--data/maps/MtPyre_6F/scripts.inc2
-rw-r--r--data/maps/MtPyre_Exterior/scripts.inc8
-rw-r--r--data/maps/MtPyre_Summit/scripts.inc77
-rw-r--r--data/maps/NavelRock_Bottom/scripts.inc20
-rw-r--r--data/maps/NavelRock_Harbor/scripts.inc2
-rw-r--r--data/maps/NavelRock_Top/scripts.inc30
-rw-r--r--data/maps/NewMauville_Entrance/scripts.inc8
-rw-r--r--data/maps/NewMauville_Inside/scripts.inc40
-rw-r--r--data/maps/OldaleTown/scripts.inc46
-rw-r--r--data/maps/OldaleTown_Mart/scripts.inc6
-rw-r--r--data/maps/OldaleTown_PokemonCenter_1F/scripts.inc3
-rw-r--r--data/maps/PacifidlogTown_House2/scripts.inc22
-rw-r--r--data/maps/PacifidlogTown_House3/scripts.inc9
-rw-r--r--data/maps/PacifidlogTown_House4/scripts.inc4
-rw-r--r--data/maps/PacifidlogTown_House5/scripts.inc2
-rw-r--r--data/maps/PetalburgCity/scripts.inc66
-rw-r--r--data/maps/PetalburgCity_Gym/scripts.inc285
-rw-r--r--data/maps/PetalburgCity_Mart/scripts.inc3
-rw-r--r--data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc8
-rw-r--r--data/maps/PetalburgCity_WallysHouse/scripts.inc14
-rw-r--r--data/maps/PetalburgWoods/scripts.inc27
-rw-r--r--data/maps/Route101/scripts.inc16
-rw-r--r--data/maps/Route102/scripts.inc10
-rw-r--r--data/maps/Route103/scripts.inc17
-rw-r--r--data/maps/Route104/scripts.inc131
-rw-r--r--data/maps/Route104_MrBrineysHouse/scripts.inc20
-rw-r--r--data/maps/Route104_PrettyPetalFlowerShop/scripts.inc28
-rw-r--r--data/maps/Route105/scripts.inc15
-rw-r--r--data/maps/Route106/scripts.inc2
-rw-r--r--data/maps/Route107/scripts.inc2
-rw-r--r--data/maps/Route108/scripts.inc2
-rw-r--r--data/maps/Route109/scripts.inc32
-rw-r--r--data/maps/Route109_SeashoreHouse/scripts.inc23
-rw-r--r--data/maps/Route110/scripts.inc58
-rw-r--r--data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc4
-rw-r--r--data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc10
-rw-r--r--data/maps/Route110_TrickHouseEnd/scripts.inc30
-rw-r--r--data/maps/Route110_TrickHouseEntrance/scripts.inc151
-rw-r--r--data/maps/Route110_TrickHousePuzzle1/scripts.inc4
-rw-r--r--data/maps/Route110_TrickHousePuzzle2/scripts.inc10
-rw-r--r--data/maps/Route110_TrickHousePuzzle3/scripts.inc30
-rw-r--r--data/maps/Route110_TrickHousePuzzle4/scripts.inc2
-rw-r--r--data/maps/Route110_TrickHousePuzzle5/scripts.inc146
-rw-r--r--data/maps/Route110_TrickHousePuzzle6/scripts.inc2
-rw-r--r--data/maps/Route110_TrickHousePuzzle7/scripts.inc81
-rw-r--r--data/maps/Route110_TrickHousePuzzle8/scripts.inc2
-rw-r--r--data/maps/Route111/scripts.inc87
-rw-r--r--data/maps/Route111_OldLadysRestStop/scripts.inc8
-rw-r--r--data/maps/Route111_WinstrateFamilysHouse/scripts.inc8
-rw-r--r--data/maps/Route112/scripts.inc2
-rw-r--r--data/maps/Route112_CableCarStation/scripts.inc10
-rw-r--r--data/maps/Route113/scripts.inc10
-rw-r--r--data/maps/Route113_GlassWorkshop/scripts.inc52
-rw-r--r--data/maps/Route114/scripts.inc24
-rw-r--r--data/maps/Route114_FossilManiacsHouse/scripts.inc5
-rw-r--r--data/maps/Route114_FossilManiacsTunnel/scripts.inc15
-rw-r--r--data/maps/Route114_LanettesHouse/scripts.inc9
-rw-r--r--data/maps/Route115/scripts.inc16
-rw-r--r--data/maps/Route116/scripts.inc68
-rw-r--r--data/maps/Route116_TunnelersRestHouse/scripts.inc3
-rw-r--r--data/maps/Route117/scripts.inc15
-rw-r--r--data/maps/Route118/scripts.inc39
-rw-r--r--data/maps/Route119/scripts.inc49
-rw-r--r--data/maps/Route119_WeatherInstitute_1F/scripts.inc15
-rw-r--r--data/maps/Route119_WeatherInstitute_2F/scripts.inc38
-rw-r--r--data/maps/Route120/scripts.inc80
-rw-r--r--data/maps/Route121/scripts.inc6
-rw-r--r--data/maps/Route121_SafariZoneEntrance/scripts.inc20
-rw-r--r--data/maps/Route123/scripts.inc13
-rw-r--r--data/maps/Route123_BerryMastersHouse/scripts.inc53
-rw-r--r--data/maps/Route124/scripts.inc9
-rw-r--r--data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc23
-rw-r--r--data/maps/Route125/scripts.inc15
-rw-r--r--data/maps/Route126/scripts.inc5
-rw-r--r--data/maps/Route127/scripts.inc15
-rw-r--r--data/maps/Route128/scripts.inc15
-rw-r--r--data/maps/Route129/scripts.inc15
-rw-r--r--data/maps/Route130/scripts.inc7
-rw-r--r--data/maps/Route131/scripts.inc5
-rw-r--r--data/maps/RustboroCity/scripts.inc111
-rw-r--r--data/maps/RustboroCity_CuttersHouse/scripts.inc3
-rw-r--r--data/maps/RustboroCity_DevonCorp_1F/scripts.inc27
-rw-r--r--data/maps/RustboroCity_DevonCorp_2F/scripts.inc56
-rw-r--r--data/maps/RustboroCity_DevonCorp_3F/scripts.inc19
-rw-r--r--data/maps/RustboroCity_Flat1_2F/scripts.inc16
-rw-r--r--data/maps/RustboroCity_Flat2_2F/scripts.inc5
-rw-r--r--data/maps/RustboroCity_Gym/scripts.inc18
-rw-r--r--data/maps/RustboroCity_House1/scripts.inc9
-rw-r--r--data/maps/RustboroCity_Mart/scripts.inc6
-rw-r--r--data/maps/RustboroCity_PokemonSchool/scripts.inc21
-rw-r--r--data/maps/RusturfTunnel/scripts.inc43
-rw-r--r--data/maps/SSTidalCorridor/scripts.inc41
-rw-r--r--data/maps/SSTidalRooms/scripts.inc5
-rw-r--r--data/maps/SafariZone_South/scripts.inc13
-rw-r--r--data/maps/SeafloorCavern_Entrance/scripts.inc14
-rw-r--r--data/maps/SeafloorCavern_Room9/scripts.inc12
-rw-r--r--data/maps/SealedChamber_InnerRoom/scripts.inc5
-rw-r--r--data/maps/SealedChamber_OuterRoom/scripts.inc6
-rw-r--r--data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc26
-rw-r--r--data/maps/ShoalCave_LowTideInnerRoom/scripts.inc57
-rw-r--r--data/maps/ShoalCave_LowTideLowerRoom/scripts.inc13
-rw-r--r--data/maps/ShoalCave_LowTideStairsRoom/scripts.inc8
-rw-r--r--data/maps/SkyPillar_1F/scripts.inc2
-rw-r--r--data/maps/SkyPillar_2F/scripts.inc2
-rw-r--r--data/maps/SkyPillar_3F/scripts.inc2
-rw-r--r--data/maps/SkyPillar_4F/scripts.inc2
-rw-r--r--data/maps/SkyPillar_5F/scripts.inc2
-rw-r--r--data/maps/SkyPillar_Outside/scripts.inc16
-rw-r--r--data/maps/SkyPillar_Top/scripts.inc32
-rw-r--r--data/maps/SlateportCity/scripts.inc67
-rw-r--r--data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc6
-rw-r--r--data/maps/SlateportCity_BattleTentCorridor/scripts.inc18
-rw-r--r--data/maps/SlateportCity_BattleTentLobby/scripts.inc15
-rw-r--r--data/maps/SlateportCity_Harbor/scripts.inc80
-rw-r--r--data/maps/SlateportCity_House1/scripts.inc20
-rw-r--r--data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc29
-rw-r--r--data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc20
-rw-r--r--data/maps/SlateportCity_PokemonFanClub/scripts.inc70
-rw-r--r--data/maps/SlateportCity_SternsShipyard_1F/scripts.inc12
-rw-r--r--data/maps/SootopolisCity/scripts.inc248
-rw-r--r--data/maps/SootopolisCity_Gym_1F/scripts.inc29
-rw-r--r--data/maps/SootopolisCity_House1/scripts.inc5
-rw-r--r--data/maps/SootopolisCity_House2/scripts.inc4
-rw-r--r--data/maps/SootopolisCity_House3/scripts.inc2
-rw-r--r--data/maps/SootopolisCity_House6/scripts.inc7
-rw-r--r--data/maps/SootopolisCity_LotadAndSeedotHouse/scripts.inc20
-rw-r--r--data/maps/SootopolisCity_Mart/scripts.inc10
-rw-r--r--data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc38
-rw-r--r--data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc10
-rw-r--r--data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc10
-rw-r--r--data/maps/SouthernIsland_Exterior/scripts.inc6
-rw-r--r--data/maps/SouthernIsland_Interior/scripts.inc43
-rw-r--r--data/maps/TerraCave_End/scripts.inc16
-rw-r--r--data/maps/TrainerHill_Elevator/scripts.inc10
-rw-r--r--data/maps/TrainerHill_Entrance/scripts.inc46
-rw-r--r--data/maps/Underwater_SeafloorCavern/scripts.inc6
-rw-r--r--data/maps/Underwater_SealedChamber/scripts.inc4
-rw-r--r--data/maps/UnknownMap_25_34/scripts.inc22
-rw-r--r--data/maps/VerdanturfTown/scripts.inc6
-rw-r--r--data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc12
-rw-r--r--data/maps/VerdanturfTown_BattleTentCorridor/scripts.inc4
-rw-r--r--data/maps/VerdanturfTown_BattleTentLobby/scripts.inc22
-rw-r--r--data/maps/VerdanturfTown_WandasHouse/scripts.inc24
-rw-r--r--data/maps/VictoryRoad_1F/scripts.inc8
-rw-r--r--data/party_menu.s649
-rw-r--r--data/pokemon_storage_system.s1118
-rw-r--r--data/scripts/apprentice.inc41
-rw-r--r--data/scripts/berry_tree.inc26
-rw-r--r--data/scripts/cable_club.inc292
-rw-r--r--data/scripts/contest_hall.inc221
-rw-r--r--data/scripts/day_care.inc58
-rw-r--r--data/scripts/field_move_scripts.inc40
-rw-r--r--data/scripts/gabby_and_ty.inc26
-rw-r--r--data/scripts/mauville_man.inc68
-rw-r--r--data/scripts/mystery_event_club.inc11
-rw-r--r--data/scripts/players_house.inc118
-rw-r--r--data/scripts/pokeblocks.inc101
-rw-r--r--data/scripts/safari_zone.inc8
-rw-r--r--data/scripts/secret_base.inc184
-rw-r--r--data/scripts/secret_power_tm.inc10
-rw-r--r--data/scripts/trainer_battle.inc24
-rw-r--r--data/scripts/tv.inc24
-rw-r--r--data/specials.inc12
-rw-r--r--data/unk_transition.s18
-rw-r--r--include/battle.h36
-rw-r--r--include/battle_anim.h32
-rw-r--r--include/battle_main.h21
-rw-r--r--include/bg.h10
-rw-r--r--include/blit.h8
-rw-r--r--include/constants/event_objects.h3
-rw-r--r--include/constants/maps.h1
-rw-r--r--include/constants/vars.h2
-rw-r--r--include/contest.h1
-rw-r--r--include/credits.h3
-rw-r--r--include/decompress.h12
-rw-r--r--include/dma3.h45
-rw-r--r--include/easy_chat.h3
-rw-r--r--include/event_object_movement.h3
-rw-r--r--include/event_scripts.h5
-rw-r--r--include/field_player_avatar.h2
-rw-r--r--include/field_specials.h6
-rw-r--r--include/field_weather.h4
-rw-r--r--include/fldeff.h61
-rw-r--r--include/fldeff_80F9BCC.h19
-rw-r--r--include/fldeff_cut.h13
-rw-r--r--include/fldeff_groundshake.h6
-rw-r--r--include/fldeff_misc.h37
-rw-r--r--include/global.h6
-rw-r--r--include/graphics.h39
-rw-r--r--include/item_menu.h2
-rw-r--r--include/link_rfu.h1
-rw-r--r--include/menu.h17
-rw-r--r--include/mon_markings.h9
-rw-r--r--include/party_menu.h105
-rw-r--r--include/player_pc.h1
-rw-r--r--include/pokemon.h15
-rw-r--r--include/pokemon_icon.h5
-rw-r--r--include/pokemon_storage_system.h136
-rwxr-xr-xinclude/pokemon_summary_screen.h8
-rw-r--r--include/pokenav.h2
-rw-r--r--include/region_map.h1
-rw-r--r--include/rom6.h18
-rw-r--r--include/rom_8011DC0.h5
-rw-r--r--include/secret_base.h8
-rw-r--r--include/strings.h248
-rw-r--r--include/text.h2
-rw-r--r--include/trade.h5
-rw-r--r--include/window.h6
-rw-r--r--ld_script.txt24
-rw-r--r--src/battle_anim.c28
-rw-r--r--src/battle_anim_80A5C6C.c116
-rw-r--r--src/battle_anim_80A9C70.c4
-rwxr-xr-xsrc/battle_anim_8170478.c16
-rw-r--r--src/battle_anim_effects_1.c609
-rwxr-xr-xsrc/battle_anim_effects_2.c38
-rwxr-xr-xsrc/battle_anim_effects_3.c95
-rw-r--r--src/battle_arena.c2
-rw-r--r--src/battle_bg.c5
-rw-r--r--src/battle_controller_link_opponent.c2
-rw-r--r--src/battle_controller_link_partner.c2
-rw-r--r--src/battle_controller_player.c3
-rw-r--r--src/battle_controllers.c3
-rw-r--r--src/battle_dome.c11
-rw-r--r--src/battle_factory_screen.c10
-rw-r--r--src/battle_gfx_sfx_util.c49
-rw-r--r--src/battle_interface.c2
-rw-r--r--src/battle_main.c121
-rw-r--r--src/battle_message.c9
-rw-r--r--src/battle_pike.c2
-rw-r--r--src/battle_pyramid.c5
-rw-r--r--src/battle_pyramid_bag.c4
-rw-r--r--src/battle_script_commands.c14
-rw-r--r--src/battle_setup.c10
-rw-r--r--src/battle_tower.c102
-rw-r--r--src/battle_transition.c6
-rw-r--r--src/battle_util2.c7
-rw-r--r--src/berry_tag_screen.c4
-rw-r--r--src/bg.c84
-rw-r--r--src/bike.c2
-rw-r--r--src/blit.c10
-rw-r--r--src/bug.c8
-rwxr-xr-xsrc/cable_car.c6
-rw-r--r--src/clock.c3
-rw-r--r--src/contest.c6
-rw-r--r--src/credits.c13
-rw-r--r--src/dark.c820
-rw-r--r--src/data/graphics/berry_fix.h2
-rw-r--r--src/data/pokemon/base_stats.h862
-rw-r--r--src/data/pokemon/tutor_learnsets.h5783
-rw-r--r--src/data/wild_encounters.h4573
-rw-r--r--src/daycare.c25
-rw-r--r--src/decompress.c12
-rw-r--r--src/decoration.c6
-rw-r--r--src/dma3_manager.c46
-rw-r--r--src/dragon.c4
-rw-r--r--src/egg_hatch.c15
-rw-r--r--src/electric.c280
-rw-r--r--src/event_object_movement.c2
-rw-r--r--src/evolution_graphics.c2
-rw-r--r--src/field_control_avatar.c6
-rw-r--r--src/field_effect.c6
-rwxr-xr-xsrc/field_effect_helpers.c18
-rw-r--r--src/field_player_avatar.c4
-rw-r--r--src/field_poison.c6
-rw-r--r--src/field_specials.c18
-rw-r--r--src/fieldmap.c5
-rw-r--r--src/fight.c30
-rw-r--r--src/fire.c22
-rw-r--r--src/fldeff_cut.c3
-rw-r--r--src/fldeff_dig.c63
-rw-r--r--src/fldeff_escalator.c13
-rw-r--r--src/fldeff_flash.c2
-rw-r--r--src/fldeff_groundshake.c70
-rw-r--r--src/fldeff_misc.c1307
-rw-r--r--src/fldeff_rocksmash.c (renamed from src/rom6.c)52
-rw-r--r--src/fldeff_softboiled.c2
-rw-r--r--src/fldeff_strength.c2
-rw-r--r--src/fldeff_sweetscent.c4
-rw-r--r--src/fldeff_teleport.c2
-rw-r--r--src/ghost.c20
-rw-r--r--src/gpu_regs.c30
-rw-r--r--src/ground.c10
-rw-r--r--src/hall_of_fame.c39
-rw-r--r--src/ice.c1531
-rw-r--r--src/intro.c26
-rw-r--r--src/intro_credits_graphics.c12
-rw-r--r--src/item_icon.c4
-rwxr-xr-xsrc/item_menu.c8
-rw-r--r--src/item_menu_icons.c2
-rwxr-xr-xsrc/item_use.c4
-rw-r--r--src/lilycove_lady.c4
-rw-r--r--src/link_rfu.c2
-rw-r--r--src/list_menu.c6
-rw-r--r--src/load_save.c1
-rw-r--r--src/main_menu.c2
-rw-r--r--src/menu.c38
-rw-r--r--src/menu_helpers.c4
-rw-r--r--src/mon_markings.c1
-rw-r--r--src/money.c4
-rw-r--r--src/normal.c20
-rw-r--r--src/overworld.c2
-rwxr-xr-xsrc/party_menu.c7434
-rw-r--r--src/player_pc.c4
-rw-r--r--src/poison.c8
-rw-r--r--src/pokeball.c14
-rw-r--r--src/pokeblock.c13
-rw-r--r--src/pokeblock_feed.c10
-rw-r--r--src/pokedex.c4
-rw-r--r--src/pokemon.c66
-rw-r--r--src/pokemon_animation.c3
-rw-r--r--src/pokemon_icon.c17
-rw-r--r--src/pokemon_size_record.c2
-rw-r--r--src/pokemon_storage_system.c10181
-rw-r--r--src/pokemon_summary_screen.c36
-rw-r--r--src/post_battle_event_funcs.c4
-rw-r--r--src/psychic.c778
-rw-r--r--src/rayquaza_scene.c46
-rw-r--r--src/record_mixing.c2
-rw-r--r--src/region_map.c3
-rw-r--r--src/rock.c8
-rw-r--r--src/rom_8011DC0.c1
-rw-r--r--src/rom_8034C54.c5
-rw-r--r--src/save.c1
-rw-r--r--src/scrcmd.c5
-rw-r--r--src/script_menu.c12
-rwxr-xr-xsrc/script_pokemon_util_80F87D8.c4
-rw-r--r--src/secret_base.c79
-rw-r--r--src/smokescreen.c4
-rw-r--r--src/sound.c3
-rw-r--r--src/start_menu.c4
-rw-r--r--src/starter_choose.c4
-rw-r--r--src/text.c9
-rw-r--r--src/title_screen.c6
-rw-r--r--src/trade.c6
-rw-r--r--src/trainer_pokemon_sprites.c4
-rw-r--r--src/tv.c9
-rw-r--r--src/unk_transition.c14
-rw-r--r--src/walda_phrase.c11
-rw-r--r--src/wallclock.c2
-rw-r--r--src/water.c2185
-rw-r--r--src/wild_encounter.c4577
-rw-r--r--src/window.c66
-rw-r--r--sym_ewram.txt108
517 files changed, 41317 insertions, 67419 deletions
diff --git a/asm/battle_anim_effects_3.s b/asm/battle_anim_effects_3.s
index 4b9466786..cfcfb93f9 100644
--- a/asm/battle_anim_effects_3.s
+++ b/asm/battle_anim_effects_3.s
@@ -5,50 +5,6 @@
.text
- thumb_func_start AnimTask_GetReturnPowerLevel
-AnimTask_GetReturnPowerLevel: @ 815F8A0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r3, =gBattleAnimArgs
- movs r2, 0
- strh r2, [r3, 0xE]
- ldr r1, =gAnimFriendship
- ldrb r0, [r1]
- ldrb r1, [r1]
- adds r0, r1, 0
- subs r0, 0x3D
- lsls r0, 24
- lsrs r0, 24
- adds r2, r1, 0
- cmp r0, 0x1E
- bhi _0815F8C4
- movs r0, 0x1
- strh r0, [r3, 0xE]
-_0815F8C4:
- adds r0, r2, 0
- subs r0, 0x5C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6C
- bhi _0815F8D4
- movs r0, 0x2
- strh r0, [r3, 0xE]
-_0815F8D4:
- lsls r0, r1, 24
- lsrs r0, 24
- cmp r0, 0xC8
- bls _0815F8E0
- movs r0, 0x3
- strh r0, [r3, 0xE]
-_0815F8E0:
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AnimTask_GetReturnPowerLevel
thumb_func_start sub_815F8F4
sub_815F8F4: @ 815F8F4
diff --git a/asm/contest.s b/asm/contest.s
index 35dbaf385..a9abd9430 100644
--- a/asm/contest.s
+++ b/asm/contest.s
@@ -1657,7 +1657,7 @@ _080DC506:
lsls r0, r5, 3
ldr r1, =gUnknown_08587AE8
adds r0, r1
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
ldr r0, =gSpriteTemplate_8587B18
adds r0, r6, r0
ldr r2, =gUnknown_08587A70
@@ -1713,7 +1713,7 @@ _080DC506:
sub_80DC594: @ 80DC594
push {lr}
ldr r0, =gUnknown_08587BB0
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
ldr r0, =gUnknown_08587BB8
bl LoadSpritePalette
ldr r0, =gSpriteTemplate_8587BC8
@@ -2286,7 +2286,7 @@ sub_80DC9EC: @ 80DC9EC
lsls r4, r1, 3
ldr r0, =gUnknown_08589904
adds r0, r4, r0
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
ldr r0, =gUnknown_08589924
adds r4, r0
adds r0, r4, 0
diff --git a/asm/contest_link_80F57C4.s b/asm/contest_link_80F57C4.s
index 3e35ab7f1..b869adf1b 100644
--- a/asm/contest_link_80F57C4.s
+++ b/asm/contest_link_80F57C4.s
@@ -1417,7 +1417,7 @@ _080F64F2:
adds r2, r4, 0
bl GetMonSpritePalStructFromOtIdPersonality
adds r4, r0, 0
- bl LoadCompressedObjectPalette
+ bl LoadCompressedSpritePalette
adds r0, r6, 0
movs r1, 0x1
bl SetMultiuseSpriteTemplateToPokemon
@@ -1451,9 +1451,9 @@ _080F64F2:
ldr r1, [r1]
strb r0, [r1, 0x8]
ldr r0, =gUnknown_0858D878
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
ldr r0, =gUnknown_0858D880
- bl LoadCompressedObjectPalette
+ bl LoadCompressedSpritePalette
ldr r0, =sub_80F7670
movs r1, 0xA
bl CreateTask
@@ -2093,7 +2093,7 @@ _080F6AA6:
adds r0, r1
ldrh r0, [r0]
movs r1, 0
- bl mon_icon_convert_unown_species_id
+ bl GetIconSpecies
lsls r0, 16
lsrs r0, 16
adds r0, r6
diff --git a/asm/dark.s b/asm/dark.s
deleted file mode 100644
index d3f44db0b..000000000
--- a/asm/dark.s
+++ /dev/null
@@ -1,2199 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_81136E8
-sub_81136E8: @ 81136E8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =gBattleAnimArgs
- ldrh r1, [r1]
- strh r1, [r0, 0x8]
- ldr r1, =gBattleAnimAttacker
- ldrb r4, [r1]
- movs r1, 0x10
- strh r1, [r0, 0xA]
- movs r0, 0x52
- bl SetGpuReg
- adds r0, r4, 0
- bl sub_80A8364
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08113734
- ldr r1, =0x00003f42
- movs r0, 0x50
- bl SetGpuReg
- b _0811373C
- .pool
-_08113734:
- ldr r1, =0x00003f44
- movs r0, 0x50
- bl SetGpuReg
-_0811373C:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_811375C
- str r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81136E8
-
- thumb_func_start sub_811375C
-sub_811375C: @ 811375C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r6, r0, r1
- ldrh r0, [r6, 0xA]
- lsrs r4, r0, 8
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0xC
- ldrsh r0, [r6, r2]
- ldrb r2, [r6, 0x8]
- cmp r0, r2
- bne _081137D8
- adds r4, 0x1
- lsls r4, 24
- lsrs r4, 24
- subs r0, r1, 0x1
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r4, 8
- orrs r1, r0
- movs r5, 0
- strh r1, [r6, 0xA]
- ldrh r1, [r6, 0xA]
- movs r0, 0x52
- bl SetGpuReg
- strh r5, [r6, 0xC]
- cmp r4, 0x10
- bne _081137DE
- ldr r2, =gSprites
- ldr r1, =gBattlerSpriteIds
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- adds r0, r7, 0
- bl DestroyAnimVisualTask
- b _081137DE
- .pool
-_081137D8:
- ldrh r0, [r6, 0xC]
- adds r0, 0x1
- strh r0, [r6, 0xC]
-_081137DE:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_811375C
-
- thumb_func_start sub_81137E4
-sub_81137E4: @ 81137E4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gTasks
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r2, r1
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0]
- strh r0, [r2, 0x8]
- movs r1, 0x80
- lsls r1, 5
- strh r1, [r2, 0xA]
- ldr r0, =sub_811381C
- str r0, [r2]
- movs r0, 0x52
- bl SetGpuReg
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81137E4
-
- thumb_func_start sub_811381C
-sub_811381C: @ 811381C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r6, r0, r1
- ldrh r0, [r6, 0xA]
- lsrs r4, r0, 8
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0xC
- ldrsh r0, [r6, r2]
- ldrb r2, [r6, 0x8]
- cmp r0, r2
- bne _0811387C
- subs r4, 0x1
- lsls r4, 24
- lsrs r4, 24
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r4, 8
- orrs r1, r0
- movs r5, 0
- strh r1, [r6, 0xA]
- ldrh r1, [r6, 0xA]
- movs r0, 0x52
- bl SetGpuReg
- strh r5, [r6, 0xC]
- cmp r4, 0
- bne _08113882
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- adds r0, r7, 0
- bl DestroyAnimVisualTask
- b _08113882
- .pool
-_0811387C:
- ldrh r0, [r6, 0xC]
- adds r0, 0x1
- strh r0, [r6, 0xC]
-_08113882:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_811381C
-
- thumb_func_start sub_8113888
-sub_8113888: @ 8113888
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0x52
- bl SetGpuReg
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl sub_80A8364
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081138BC
- ldr r1, =0x00003f42
- movs r0, 0x50
- bl SetGpuReg
- b _081138C4
- .pool
-_081138BC:
- ldr r1, =0x00003f44
- movs r0, 0x50
- bl SetGpuReg
-_081138C4:
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8113888
-
- thumb_func_start sub_81138D4
-sub_81138D4: @ 81138D4
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r6, =gBattleAnimTarget
- ldrb r0, [r6]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x30]
- ldr r5, =gBattleAnimAttacker
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrb r0, [r6]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x34]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x36]
- movs r0, 0x7E
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl InitSpriteDataForLinearTranslation
- ldrh r0, [r4, 0x30]
- negs r0, r0
- strh r0, [r4, 0x34]
- ldrh r0, [r4, 0x32]
- negs r0, r0
- strh r0, [r4, 0x36]
- ldr r0, =0x0000ffd8
- strh r0, [r4, 0x3A]
- ldr r1, =sub_8113950
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81138D4
-
- thumb_func_start sub_8113950
-sub_8113950: @ 8113950
- push {r4-r6,lr}
- adds r4, r0, 0
- ldrh r5, [r4, 0x30]
- ldrh r0, [r4, 0x34]
- adds r2, r5, r0
- strh r2, [r4, 0x34]
- ldrh r3, [r4, 0x32]
- ldrh r6, [r4, 0x36]
- adds r1, r3, r6
- strh r1, [r4, 0x36]
- lsls r0, r2, 16
- asrs r0, 24
- strh r0, [r4, 0x24]
- lsls r0, r1, 16
- asrs r0, 24
- strh r0, [r4, 0x26]
- movs r6, 0x3C
- ldrsh r0, [r4, r6]
- cmp r0, 0
- bne _08113992
- adds r0, r2, r5
- strh r0, [r4, 0x34]
- adds r1, r3
- strh r1, [r4, 0x36]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r4, 0x24]
- lsls r1, 16
- asrs r1, 24
- strh r1, [r4, 0x26]
- ldrh r0, [r4, 0x2E]
- subs r0, 0x1
- strh r0, [r4, 0x2E]
-_08113992:
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r2, 0x3A
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r6, [r4, 0x26]
- adds r0, r6
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x38]
- adds r0, 0x3
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- cmp r0, 0x7F
- ble _081139C2
- movs r0, 0
- strh r0, [r4, 0x38]
- ldrh r0, [r4, 0x3A]
- adds r0, 0x14
- strh r0, [r4, 0x3A]
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
-_081139C2:
- ldrh r0, [r4, 0x2E]
- subs r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bne _081139D4
- adds r0, r4, 0
- bl DestroyAnimSprite
-_081139D4:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8113950
-
- thumb_func_start sub_81139DC
-sub_81139DC: @ 81139DC
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, =gBattleAnimArgs
- ldrh r0, [r5]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r5, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldrb r1, [r5, 0x4]
- adds r0, r4, 0
- bl StartSpriteAffineAnim
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x2E]
- ldrh r0, [r5, 0x8]
- strh r0, [r4, 0x30]
- ldrh r0, [r5, 0xA]
- strh r0, [r4, 0x32]
- ldr r0, =sub_8113A18
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81139DC
-
- thumb_func_start sub_8113A18
-sub_8113A18: @ 8113A18
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x36]
- adds r0, r1
- strh r0, [r2, 0x36]
- ldrh r1, [r2, 0x30]
- ldrh r3, [r2, 0x38]
- adds r1, r3
- strh r1, [r2, 0x38]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r2, 0x24]
- lsls r1, 16
- asrs r1, 24
- strh r1, [r2, 0x26]
- ldrh r0, [r2, 0x34]
- adds r0, 0x1
- strh r0, [r2, 0x34]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x32
- ldrsh r1, [r2, r3]
- cmp r0, r1
- bne _08113A4E
- ldr r0, =sub_8113A58
- str r0, [r2, 0x1C]
-_08113A4E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8113A18
-
- thumb_func_start sub_8113A58
-sub_8113A58: @ 8113A58
- push {lr}
- adds r3, r0, 0
- ldrh r1, [r3, 0x36]
- ldrh r0, [r3, 0x2E]
- subs r1, r0
- strh r1, [r3, 0x36]
- ldrh r0, [r3, 0x38]
- ldrh r2, [r3, 0x30]
- subs r0, r2
- strh r0, [r3, 0x38]
- lsls r1, 16
- asrs r1, 24
- strh r1, [r3, 0x24]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r3, 0x26]
- ldrh r0, [r3, 0x34]
- subs r0, 0x1
- strh r0, [r3, 0x34]
- lsls r0, 16
- cmp r0, 0
- bne _08113A8A
- adds r0, r3, 0
- bl DestroySpriteAndMatrix
-_08113A8A:
- pop {r0}
- bx r0
- thumb_func_end sub_8113A58
-
- thumb_func_start sub_8113A90
-sub_8113A90: @ 8113A90
- push {r4-r7,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r3, r0, 0
- cmp r1, 0
- bne _08113AAC
- ldr r0, =gBattleAnimAttacker
- b _08113AAE
- .pool
-_08113AAC:
- ldr r0, =gBattleAnimTarget
-_08113AAE:
- ldrb r5, [r0]
- movs r6, 0x14
- ldrh r2, [r4, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- adds r1, 0x4
- ldr r7, =0x000003ff
- adds r0, r7, 0
- ands r1, r0
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r4, 0x4]
- movs r1, 0x2
- ldrsh r0, [r3, r1]
- cmp r0, 0x1
- beq _08113B0C
- cmp r0, 0x1
- bgt _08113AE8
- cmp r0, 0
- beq _08113AF2
- b _08113B60
- .pool
-_08113AE8:
- cmp r0, 0x2
- beq _08113B26
- cmp r0, 0x3
- beq _08113B3E
- b _08113B60
-_08113AF2:
- adds r0, r5, 0
- movs r1, 0x5
- bl sub_80A861C
- subs r0, 0x8
- strh r0, [r4, 0x20]
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_80A861C
- adds r0, 0x8
- strh r0, [r4, 0x22]
- b _08113B60
-_08113B0C:
- adds r0, r5, 0
- movs r1, 0x5
- bl sub_80A861C
- subs r0, 0xE
- strh r0, [r4, 0x20]
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_80A861C
- adds r0, 0x10
- strh r0, [r4, 0x22]
- b _08113B60
-_08113B26:
- adds r0, r5, 0
- movs r1, 0x4
- bl sub_80A861C
- adds r0, 0x8
- strh r0, [r4, 0x20]
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_80A861C
- adds r0, 0x8
- b _08113B54
-_08113B3E:
- adds r0, r5, 0
- movs r1, 0x4
- bl sub_80A861C
- adds r0, 0xE
- strh r0, [r4, 0x20]
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_80A861C
- adds r0, 0x10
-_08113B54:
- strh r0, [r4, 0x22]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- movs r6, 0xEC
-_08113B60:
- movs r0, 0x20
- strh r0, [r4, 0x2E]
- lsls r0, r6, 24
- asrs r0, 24
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x22]
- adds r0, 0xC
- strh r0, [r4, 0x36]
- ldr r0, =0x0000fff4
- strh r0, [r4, 0x38]
- adds r0, r4, 0
- bl InitAnimArcTranslation
- ldr r0, =sub_8113B90
- str r0, [r4, 0x1C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8113A90
-
- thumb_func_start sub_8113B90
-sub_8113B90: @ 8113B90
- push {r4,lr}
- adds r4, r0, 0
- bl TranslateAnimArc
- lsls r0, 24
- cmp r0, 0
- beq _08113BA4
- adds r0, r4, 0
- bl DestroySpriteAndMatrix
-_08113BA4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8113B90
-
- thumb_func_start sub_8113BAC
-sub_8113BAC: @ 8113BAC
- push {r4-r7,lr}
- sub sp, 0x1C
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r5, r1, r0
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1F
- movs r6, 0
- strh r0, [r5, 0x16]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_80A861C
- subs r0, 0x7
- strh r0, [r5, 0x14]
- ldrh r1, [r5, 0x16]
- strh r1, [r5, 0x12]
- strh r0, [r5, 0x10]
- subs r1, r0
- lsls r1, 8
- strh r1, [r5, 0x22]
- ldrb r0, [r4]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- subs r1, 0x20
- strh r1, [r5, 0x24]
- adds r0, 0x20
- strh r0, [r5, 0x26]
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08113C1C
- ldr r0, =0x0000fff4
- b _08113C1E
- .pool
-_08113C1C:
- ldr r0, =0x0000ffc0
-_08113C1E:
- strh r0, [r5, 0x18]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl sub_80A8364
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0xE]
- cmp r0, 0x1
- bne _08113C80
- add r4, sp, 0xC
- adds r0, r4, 0
- bl sub_80A6B30
- ldr r0, =gBattle_BG1_Y
- ldrh r0, [r0]
- strh r0, [r5, 0x1C]
- ldr r1, =0x00003f42
- movs r0, 0x50
- bl SetGpuReg
- ldrb r1, [r4, 0x8]
- lsls r1, 4
- movs r0, 0
- movs r2, 0x20
- bl FillPalette
- ldr r0, =0x04000016
- str r0, [sp]
- movs r7, 0x2
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _08113CB0
- ldr r1, =gBattle_BG2_X
- b _08113CAA
- .pool
-_08113C80:
- ldr r0, =gBattle_BG2_Y
- ldrh r0, [r0]
- strh r0, [r5, 0x1C]
- ldr r1, =0x00003f44
- movs r0, 0x50
- bl SetGpuReg
- movs r0, 0
- movs r1, 0x90
- movs r2, 0x20
- bl FillPalette
- ldr r0, =0x0400001a
- str r0, [sp]
- movs r7, 0x4
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _08113CB0
- ldr r1, =gBattle_BG1_X
-_08113CAA:
- ldrh r0, [r1]
- adds r0, 0xF0
- strh r0, [r1]
-_08113CB0:
- ldr r0, =0xa2600001
- str r0, [sp, 0x4]
- mov r2, sp
- movs r1, 0
- movs r0, 0x1
- strb r0, [r2, 0x8]
- mov r0, sp
- strb r1, [r0, 0x9]
- strh r1, [r5, 0x1E]
- movs r0, 0x10
- strh r0, [r5, 0x20]
- strh r1, [r5, 0x8]
- strh r1, [r5, 0xA]
- strh r1, [r5, 0xC]
- movs r0, 0x3
- bl sub_8114374
- movs r3, 0
- ldr r4, =gScanlineEffectRegBuffers
- movs r0, 0xF0
- lsls r0, 3
- adds r6, r4, r0
-_08113CDC:
- lsls r1, r3, 1
- adds r2, r1, r4
- ldrh r0, [r5, 0x1C]
- strh r0, [r2]
- adds r1, r6
- ldrh r0, [r5, 0x1C]
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x6F
- bls _08113CDC
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- bl ScanlineEffect_SetParams
- movs r0, 0x3F
- eors r7, r0
- movs r1, 0xFC
- lsls r1, 6
- adds r0, r1, 0
- orrs r7, r0
- movs r0, 0x4A
- adds r1, r7, 0
- bl SetGpuReg
- ldr r1, =0x00003f3f
- movs r0, 0x48
- bl SetGpuReg
- ldr r2, =gBattle_WIN0H
- ldrh r0, [r5, 0x24]
- lsls r0, 8
- ldrh r1, [r5, 0x26]
- orrs r0, r1
- strh r0, [r2]
- ldr r1, =gBattle_WIN0V
- movs r0, 0xA0
- strh r0, [r1]
- ldr r0, =sub_8113D60
- str r0, [r5]
- add sp, 0x1C
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8113BAC
-
- thumb_func_start sub_8113D60
-sub_8113D60: @ 8113D60
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bls _08113D7A
- b _08113E72
-_08113D7A:
- lsls r0, 2
- ldr r1, =_08113D8C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08113D8C:
- .4byte _08113DA0
- .4byte _08113E02
- .4byte _08113E1C
- .4byte _08113E58
- .4byte _08113E6C
-_08113DA0:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _08113E72
- movs r0, 0
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08113DD0
- ldrh r1, [r4, 0x1E]
- movs r2, 0x1E
- ldrsh r0, [r4, r2]
- cmp r0, 0xC
- beq _08113DDE
- adds r0, r1, 0x1
- strh r0, [r4, 0x1E]
- b _08113DDE
-_08113DD0:
- ldrh r1, [r4, 0x20]
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- cmp r0, 0x8
- beq _08113DDE
- subs r0, r1, 0x1
- strh r0, [r4, 0x20]
-_08113DDE:
- ldrh r1, [r4, 0x20]
- lsls r1, 8
- ldrh r0, [r4, 0x1E]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r0, 0xC
- bne _08113E72
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- cmp r0, 0x8
- bne _08113E72
- b _08113E5E
-_08113E02:
- ldrh r0, [r4, 0x10]
- subs r0, 0x8
- strh r0, [r4, 0x10]
- adds r0, r4, 0
- bl sub_8114244
- movs r0, 0x10
- ldrsh r1, [r4, r0]
- movs r2, 0x18
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bge _08113E72
- b _08113E5E
-_08113E1C:
- ldrh r0, [r4, 0x10]
- subs r0, 0x8
- strh r0, [r4, 0x10]
- adds r0, r4, 0
- bl sub_8114244
- ldrh r1, [r4, 0x24]
- adds r1, 0x4
- strh r1, [r4, 0x24]
- ldrh r0, [r4, 0x26]
- subs r2, r0, 0x4
- strh r2, [r4, 0x26]
- lsls r1, 16
- lsls r0, r2, 16
- cmp r1, r0
- blt _08113E3E
- strh r2, [r4, 0x24]
-_08113E3E:
- ldr r3, =gBattle_WIN0H
- ldrh r2, [r4, 0x24]
- lsls r0, r2, 8
- ldrh r1, [r4, 0x26]
- orrs r0, r1
- strh r0, [r3]
- lsls r2, 16
- lsls r1, 16
- cmp r2, r1
- bne _08113E72
- b _08113E5E
- .pool
-_08113E58:
- ldr r1, =gScanlineEffect
- movs r0, 0x3
- strb r0, [r1, 0x15]
-_08113E5E:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08113E72
- .pool
-_08113E6C:
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_08113E72:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8113D60
-
- thumb_func_start sub_8113E78
-sub_8113E78: @ 8113E78
- push {r4-r7,lr}
- sub sp, 0x1C
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x4
- bls _08113E94
- b _081140A6
-_08113E94:
- lsls r0, 2
- ldr r1, =_08113EA8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08113EA8:
- .4byte _08113EBC
- .4byte _08113F40
- .4byte _08113F84
- .4byte _08113FF0
- .4byte _08114058
-_08113EBC:
- bl IsContest
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08113EF8
- ldr r0, =gBattle_WIN0H
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gBattle_WIN0V
- strh r1, [r0]
- ldr r4, =0x00003f3f
- movs r0, 0x48
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x4A
- adds r1, r4, 0
- bl SetGpuReg
- adds r0, r6, 0
- bl DestroyAnimVisualTask
- b _081140A6
- .pool
-_08113EF8:
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl sub_80A8364
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0xE]
- cmp r0, 0x1
- bne _08113F24
- ldr r1, =0x00003f42
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, =gBattle_BG2_X
- b _08113F2E
- .pool
-_08113F24:
- ldr r1, =0x00003f44
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, =gBattle_BG1_X
-_08113F2E:
- ldrh r0, [r1]
- adds r0, 0xF0
- strh r0, [r1]
- b _08114044
- .pool
-_08113F40:
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _08113F68
- mov r0, sp
- bl sub_80A6B30
- ldr r0, =gBattle_BG1_Y
- ldrh r0, [r0]
- strh r0, [r5, 0x1C]
- mov r0, sp
- ldrb r1, [r0, 0x8]
- lsls r1, 4
- movs r0, 0
- movs r2, 0x20
- bl FillPalette
- b _08113F78
- .pool
-_08113F68:
- ldr r0, =gBattle_BG2_Y
- ldrh r0, [r0]
- strh r0, [r5, 0x1C]
- movs r0, 0
- movs r1, 0x90
- movs r2, 0x20
- bl FillPalette
-_08113F78:
- movs r0, 0x3
- bl sub_8114374
- b _08114044
- .pool
-_08113F84:
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1F
- movs r6, 0
- strh r0, [r5, 0x16]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_80A861C
- subs r0, 0x7
- strh r0, [r5, 0x14]
- ldrh r1, [r5, 0x16]
- subs r1, r0
- lsls r1, 8
- strh r1, [r5, 0x22]
- ldrb r0, [r4]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- subs r1, r0, 0x4
- strh r1, [r5, 0x24]
- adds r0, 0x4
- strh r0, [r5, 0x26]
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08113FD8
- ldr r0, =0x0000fff4
- b _08113FDA
- .pool
-_08113FD8:
- ldr r0, =0x0000ffc0
-_08113FDA:
- strh r0, [r5, 0x18]
- ldrh r0, [r5, 0x18]
- strh r0, [r5, 0x10]
- strh r0, [r5, 0x12]
- movs r0, 0xC
- strh r0, [r5, 0x1E]
- movs r0, 0x8
- strh r0, [r5, 0x20]
- b _08114044
- .pool
-_08113FF0:
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _08114000
- ldr r0, =0x04000016
- b _08114002
- .pool
-_08114000:
- ldr r0, =0x0400001a
-_08114002:
- str r0, [sp, 0x10]
- movs r3, 0
- add r4, sp, 0x10
- ldr r6, =gScanlineEffectRegBuffers
- movs r0, 0xF0
- lsls r0, 3
- adds r7, r6, r0
-_08114010:
- lsls r1, r3, 1
- adds r2, r1, r6
- ldrh r0, [r5, 0x1C]
- adds r0, 0x9F
- subs r0, r3
- strh r0, [r2]
- adds r1, r7
- ldrh r0, [r5, 0x1C]
- adds r0, 0x9F
- subs r0, r3
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x6F
- bls _08114010
- ldr r1, =0xa2600001
- str r1, [r4, 0x4]
- movs r2, 0
- movs r0, 0x1
- strb r0, [r4, 0x8]
- strb r2, [r4, 0x9]
- ldr r0, [sp, 0x10]
- ldr r2, [r4, 0x8]
- bl ScanlineEffect_SetParams
-_08114044:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _081140A6
- .pool
-_08114058:
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _08114070
- ldr r1, =0x00003f3d
- movs r0, 0x4A
- bl SetGpuReg
- b _08114078
- .pool
-_08114070:
- ldr r1, =0x00003f3b
- movs r0, 0x4A
- bl SetGpuReg
-_08114078:
- ldr r1, =0x00003f3f
- movs r0, 0x48
- bl SetGpuReg
- ldr r2, =gBattle_WIN0H
- ldrh r0, [r5, 0x24]
- lsls r0, 8
- ldrh r1, [r5, 0x26]
- orrs r0, r1
- strh r0, [r2]
- ldr r1, =gBattle_WIN0V
- movs r0, 0xA0
- strh r0, [r1]
- movs r0, 0
- strh r0, [r5, 0x8]
- strh r0, [r5, 0xA]
- strh r0, [r5, 0xC]
- ldr r1, =0x0000080c
- movs r0, 0x52
- bl SetGpuReg
- ldr r0, =sub_81140C8
- str r0, [r5]
-_081140A6:
- add sp, 0x1C
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8113E78
-
- thumb_func_start sub_81140C8
-sub_81140C8: @ 81140C8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bls _081140E2
- b _08114232
-_081140E2:
- lsls r0, 2
- ldr r1, =_081140F4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081140F4:
- .4byte _08114108
- .4byte _08114134
- .4byte _0811419C
- .4byte _081141FE
- .4byte _08114210
-_08114108:
- ldrh r0, [r4, 0x12]
- adds r0, 0x8
- strh r0, [r4, 0x12]
- lsls r0, 16
- asrs r0, 16
- ldrh r2, [r4, 0x16]
- movs r3, 0x16
- ldrsh r1, [r4, r3]
- cmp r0, r1
- blt _0811411E
- strh r2, [r4, 0x12]
-_0811411E:
- adds r0, r4, 0
- bl sub_8114244
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- movs r2, 0x16
- ldrsh r0, [r4, r2]
- cmp r1, r0
- beq _08114132
- b _08114232
-_08114132:
- b _08114204
-_08114134:
- movs r3, 0x26
- ldrsh r0, [r4, r3]
- movs r2, 0x24
- ldrsh r1, [r4, r2]
- subs r0, r1
- cmp r0, 0x3F
- bgt _08114150
- ldrh r0, [r4, 0x24]
- subs r0, 0x4
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x26]
- adds r0, 0x4
- strh r0, [r4, 0x26]
- b _08114154
-_08114150:
- movs r0, 0x1
- strh r0, [r4, 0xA]
-_08114154:
- ldr r2, =gBattle_WIN0H
- ldrh r0, [r4, 0x24]
- lsls r0, 8
- ldrh r1, [r4, 0x26]
- orrs r0, r1
- strh r0, [r2]
- ldrh r0, [r4, 0x10]
- adds r0, 0x8
- strh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 16
- ldrh r2, [r4, 0x14]
- movs r3, 0x14
- ldrsh r1, [r4, r3]
- cmp r0, r1
- blt _08114176
- strh r2, [r4, 0x10]
-_08114176:
- adds r0, r4, 0
- bl sub_8114244
- movs r0, 0x10
- ldrsh r1, [r4, r0]
- movs r2, 0x14
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _08114232
- movs r3, 0xA
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _08114232
- movs r0, 0
- strh r0, [r4, 0xA]
- b _08114204
- .pool
-_0811419C:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _08114232
- movs r0, 0
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081141CC
- ldrh r1, [r4, 0x1E]
- movs r2, 0x1E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _081141DA
- subs r0, r1, 0x1
- strh r0, [r4, 0x1E]
- b _081141DA
-_081141CC:
- ldrh r1, [r4, 0x20]
- movs r3, 0x20
- ldrsh r0, [r4, r3]
- cmp r0, 0xF
- bgt _081141DA
- adds r0, r1, 0x1
- strh r0, [r4, 0x20]
-_081141DA:
- ldrh r1, [r4, 0x20]
- lsls r1, 8
- ldrh r0, [r4, 0x1E]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08114232
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- cmp r0, 0x10
- bne _08114232
- b _08114204
-_081141FE:
- ldr r1, =gScanlineEffect
- movs r0, 0x3
- strb r0, [r1, 0x15]
-_08114204:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08114232
- .pool
-_08114210:
- ldr r0, =gBattle_WIN0H
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gBattle_WIN0V
- strh r1, [r0]
- ldr r4, =0x00003f3f
- movs r0, 0x48
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x4A
- adds r1, r4, 0
- bl SetGpuReg
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_08114232:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81140C8
-
- thumb_func_start sub_8114244
-sub_8114244: @ 8114244
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- ldrh r0, [r6, 0x12]
- ldrh r4, [r6, 0x10]
- subs r0, r4
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- beq _08114338
- movs r2, 0x22
- ldrsh r0, [r6, r2]
- bl __divsi3
- mov r8, r0
- movs r3, 0x14
- ldrsh r0, [r6, r3]
- lsls r5, r0, 8
- lsls r0, r4, 16
- movs r4, 0
- cmp r0, 0
- ble _081142A4
- ldr r0, =gScanlineEffectRegBuffers
- mov r12, r0
- ldr r7, =gScanlineEffect
-_08114278:
- lsls r2, r4, 16
- asrs r2, 16
- lsls r3, r2, 1
- ldrb r1, [r7, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r3, r0
- add r3, r12
- adds r1, r2, 0
- subs r1, 0x9F
- ldrh r0, [r6, 0x1C]
- subs r0, r1
- strh r0, [r3]
- adds r2, 0x1
- lsls r2, 16
- lsrs r4, r2, 16
- asrs r2, 16
- movs r1, 0x10
- ldrsh r0, [r6, r1]
- cmp r2, r0
- blt _08114278
-_081142A4:
- ldrh r4, [r6, 0x10]
- lsls r3, r4, 16
- asrs r1, r3, 16
- movs r2, 0x12
- ldrsh r0, [r6, r2]
- cmp r1, r0
- bgt _081142EE
- ldr r0, =gScanlineEffectRegBuffers
- mov r12, r0
- ldr r7, =gScanlineEffect
-_081142B8:
- asrs r4, r3, 16
- cmp r4, 0
- blt _081142DA
- asrs r1, r5, 8
- subs r1, r4
- lsls r3, r4, 1
- ldrb r2, [r7, 0x14]
- lsls r0, r2, 4
- subs r0, r2
- lsls r0, 7
- adds r3, r0
- add r3, r12
- lsls r1, 16
- asrs r1, 16
- ldrh r2, [r6, 0x1C]
- adds r1, r2
- strh r1, [r3]
-_081142DA:
- add r5, r8
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r3, r4, 16
- asrs r1, r3, 16
- movs r2, 0x12
- ldrsh r0, [r6, r2]
- cmp r1, r0
- ble _081142B8
-_081142EE:
- movs r3, 0x1C
- ldrsh r0, [r6, r3]
- adds r0, 0x9F
- lsls r2, r4, 16
- asrs r1, r2, 16
- subs r5, r0, r1
- movs r3, 0x16
- ldrsh r0, [r6, r3]
- cmp r1, r0
- bge _08114366
- ldr r7, =gScanlineEffectRegBuffers
- ldr r4, =gScanlineEffect
-_08114306:
- asrs r3, r2, 16
- cmp r3, 0
- blt _0811431E
- lsls r2, r3, 1
- ldrb r1, [r4, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r7
- strh r5, [r2]
- subs r5, 0x1
-_0811431E:
- adds r0, r3, 0x1
- lsls r2, r0, 16
- asrs r1, r2, 16
- movs r3, 0x16
- ldrsh r0, [r6, r3]
- cmp r1, r0
- blt _08114306
- b _08114366
- .pool
-_08114338:
- movs r1, 0x1C
- ldrsh r0, [r6, r1]
- adds r5, r0, 0
- adds r5, 0x9F
- movs r4, 0
- ldr r3, =gScanlineEffectRegBuffers
- movs r2, 0xF0
- lsls r2, 3
- adds r6, r3, r2
-_0811434A:
- lsls r0, r4, 16
- asrs r0, 16
- lsls r2, r0, 1
- adds r1, r2, r3
- strh r5, [r1]
- adds r2, r6
- strh r5, [r2]
- subs r5, 0x1
- adds r0, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, 0x6F
- ble _0811434A
-_08114366:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8114244
-
- thumb_func_start sub_8114374
-sub_8114374: @ 8114374
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r4, 0
- ldr r7, =gSprites
- movs r1, 0x3
- ands r0, r1
- lsls r5, r0, 2
- movs r0, 0xD
- negs r0, r0
- adds r6, r0, 0
-_0811438A:
- lsls r0, r4, 24
- lsrs r0, 24
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _081143AA
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- ldrb r0, [r1, 0x5]
- ands r0, r6
- orrs r0, r5
- strb r0, [r1, 0x5]
-_081143AA:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _0811438A
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8114374
-
- thumb_func_start sub_81143C0
-sub_81143C0: @ 81143C0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r6, =gBattleAnimAttacker
- ldrb r0, [r6]
- bl sub_80A8364
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- eors r0, r1
- negs r1, r0
- orrs r1, r0
- lsrs r4, r1, 31
- ldrb r0, [r6]
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_80A438C
- ldr r0, =gSprites
- mov r9, r0
- ldr r0, =gBattlerSpriteIds
- mov r8, r0
- ldrb r0, [r6]
- add r0, r8
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r9
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r7, 0x5
- negs r7, r7
- adds r0, r7, 0
- ands r0, r2
- strb r0, [r1]
- ldrb r0, [r6]
- movs r5, 0x2
- eors r0, r5
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _0811444E
- ldrb r0, [r6]
- eors r0, r5
- movs r1, 0x1
- eors r4, r1
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_80A438C
- ldrb r0, [r6]
- eors r0, r5
- add r0, r8
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r9
- adds r0, 0x3E
- ldrb r2, [r0]
- adds r1, r7, 0
- ands r1, r2
- strb r1, [r0]
-_0811444E:
- mov r0, r10
- bl DestroyAnimVisualTask
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81143C0
-
- thumb_func_start sub_8114470
-sub_8114470: @ 8114470
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- bl sub_80A8364
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- eors r0, r1
- negs r1, r0
- orrs r1, r0
- lsrs r5, r1, 31
- adds r0, r5, 0
- bl sub_80A477C
- ldrb r1, [r4]
- movs r0, 0x2
- eors r0, r1
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _081144AC
- movs r0, 0x1
- eors r5, r0
- adds r0, r5, 0
- bl sub_80A477C
-_081144AC:
- adds r0, r6, 0
- bl DestroyAnimVisualTask
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8114470
-
- thumb_func_start sub_81144BC
-sub_81144BC: @ 81144BC
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- ldrh r0, [r1, 0x2]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- ldrb r1, [r1, 0x4]
- adds r0, r4, 0
- bl StartSpriteAnim
- ldr r0, =RunStoredCallbackWhenAnimEnds
- str r0, [r4, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81144BC
-
- thumb_func_start sub_81144F8
-sub_81144F8: @ 81144F8
- push {r4-r7,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r7, r0, 24
- movs r6, 0
- ldr r0, =gBattle_WIN0H
- strh r6, [r0]
- ldr r0, =gBattle_WIN0V
- strh r6, [r0]
- ldr r1, =0x00003f3f
- movs r0, 0x48
- bl SetGpuReg
- ldr r1, =0x00003f3d
- movs r0, 0x4A
- bl SetGpuReg
- movs r1, 0x80
- lsls r1, 8
- movs r0, 0
- bl SetGpuRegBits
- ldr r1, =0x00003f42
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, =0x00000c08
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0x1
- movs r1, 0x4
- movs r2, 0
- bl SetAnimBgAttribute
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl SetAnimBgAttribute
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0811455C
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0x1
- bl SetAnimBgAttribute
-_0811455C:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _081145D6
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _081145D6
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _0811458C
- ldrb r0, [r4]
- bl GetBattlerPosition
- lsls r0, 24
- cmp r0, 0
- bne _081145D6
-_0811458C:
- ldrb r0, [r4]
- movs r5, 0x2
- eors r0, r5
- bl IsBattlerSpriteVisible
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081145D6
- ldr r3, =gSprites
- ldr r1, =gBattlerSpriteIds
- ldrb r0, [r4]
- eors r0, r5
- adds r0, r1
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- ldrb r3, [r2, 0x5]
- lsls r1, r3, 28
- lsrs r1, 30
- subs r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- movs r0, 0x1
- movs r1, 0x4
- movs r2, 0x1
- bl SetAnimBgAttribute
- movs r6, 0x1
-_081145D6:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _08114614
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0, 0x18]
- ldrh r5, [r0]
- b _0811465C
- .pool
-_08114614:
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08114640
- ldr r1, =gBattlerPartyIndexes
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- b _08114650
- .pool
-_08114640:
- ldr r1, =gBattlerPartyIndexes
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
-_08114650:
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
-_0811465C:
- movs r0, 0
- bl GetAnimBattlerSpriteId
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80A89C8
- lsls r0, 24
- lsrs r5, r0, 24
- mov r0, sp
- bl sub_80A6B30
- mov r0, sp
- ldrb r0, [r0, 0x9]
- ldr r1, =gUnknown_08C1D210
- bl sub_80A6D48
- mov r0, sp
- ldrb r0, [r0, 0x9]
- ldr r1, =gUnknown_08C1D0AC
- mov r2, sp
- ldrh r2, [r2, 0xA]
- bl sub_80A6CC0
- ldr r0, =gUnknown_08C1D1E8
- mov r1, sp
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- movs r2, 0x20
- bl LoadCompressedPalette
- ldr r2, =gBattle_BG1_X
- ldr r0, =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x20]
- negs r0, r0
- adds r0, 0x60
- strh r0, [r2]
- ldr r2, =gBattle_BG1_Y
- ldrh r0, [r1, 0x22]
- negs r0, r0
- adds r0, 0x20
- strh r0, [r2]
- ldrb r0, [r1, 0x5]
- lsrs r0, 4
- adds r0, 0x10
- adds r1, r0, 0
- ldr r2, =gBattleAnimArgs
- movs r3, 0x2
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bne _08114708
- adds r0, r1, 0
- movs r1, 0
- bl SetGreyscaleOrOriginalPalette
- b _08114714
- .pool
-_08114708:
- lsls r0, r1, 4
- ldrh r3, [r2, 0x4]
- movs r1, 0x10
- movs r2, 0xB
- bl BlendPalette
-_08114714:
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x8]
- ldr r2, =gBattleAnimArgs
- ldrh r1, [r2]
- strh r1, [r0, 0xA]
- ldrh r1, [r2, 0x2]
- strh r1, [r0, 0xC]
- ldrh r1, [r2, 0x4]
- strh r1, [r0, 0xE]
- strh r6, [r0, 0x14]
- ldr r1, =sub_8114748
- str r1, [r0]
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81144F8
-
- thumb_func_start sub_8114748
-sub_8114748: @ 8114748
- push {r4-r6,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x1C]
- adds r0, 0x4
- movs r5, 0
- strh r0, [r4, 0x1C]
- ldr r2, =gBattle_BG1_X
- ldrh r3, [r2]
- subs r1, r3, 0x4
- strh r1, [r2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x80
- beq _08114776
- b _08114886
-_08114776:
- strh r5, [r4, 0x1C]
- adds r0, r3, 0
- adds r0, 0x7C
- strh r0, [r2]
- ldrh r0, [r4, 0x1E]
- adds r0, 0x1
- strh r0, [r4, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- bne _08114824
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r0, [r1, 0x5]
- lsrs r0, 4
- adds r0, 0x10
- adds r1, r0, 0
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _081147B8
- adds r0, r1, 0
- movs r1, 0x1
- bl SetGreyscaleOrOriginalPalette
-_081147B8:
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- bl DestroySprite
- mov r0, sp
- bl sub_80A6B30
- mov r0, sp
- ldrb r0, [r0, 0x9]
- bl sub_80A6C68
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _08114886
- ldr r2, =gBattlerSpriteIds
- ldr r0, =gBattleAnimAttacker
- ldrb r1, [r0]
- movs r0, 0x2
- eors r0, r1
- adds r0, r2
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r5
- ldrb r3, [r2, 0x5]
- lsls r1, r3, 28
- lsrs r1, 30
- adds r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- b _08114886
- .pool
-_08114824:
- cmp r0, 0x3
- bne _08114886
- ldr r0, =gBattle_WIN0H
- strh r5, [r0]
- ldr r0, =gBattle_WIN0V
- strh r5, [r0]
- ldr r4, =0x00003f3f
- movs r0, 0x48
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x4A
- adds r1, r4, 0
- bl SetGpuReg
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _08114856
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0
- bl SetAnimBgAttribute
-_08114856:
- movs r0, 0
- bl GetGpuReg
- adds r1, r0, 0
- movs r2, 0x80
- lsls r2, 8
- adds r0, r2, 0
- eors r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- adds r0, r6, 0
- bl DestroyAnimVisualTask
-_08114886:
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8114748
-
- thumb_func_start sub_811489C
-sub_811489C: @ 811489C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r0, =gBattleAnimArgs
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r2, r0, 0
- cmp r1, 0x7
- bhi _08114900
- lsls r0, r1, 2
- ldr r1, =_081148C4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081148C4:
- .4byte _081148E4
- .4byte _081148E4
- .4byte _081148E4
- .4byte _081148E4
- .4byte _081148F0
- .4byte _081148F4
- .4byte _081148F8
- .4byte _081148FC
-_081148E4:
- ldrb r0, [r2]
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r2, r0, 24
- b _08114902
-_081148F0:
- movs r4, 0
- b _08114908
-_081148F4:
- movs r4, 0x2
- b _08114908
-_081148F8:
- movs r4, 0x1
- b _08114908
-_081148FC:
- movs r4, 0x3
- b _08114908
-_08114900:
- movs r2, 0xFF
-_08114902:
- movs r0, 0
- cmp r0, 0
- beq _0811492E
-_08114908:
- adds r0, r4, 0
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _0811492C
- ldr r0, =gBattlerSpriteIds
- adds r0, r4, r0
- ldrb r2, [r0]
- b _0811492E
- .pool
-_0811492C:
- movs r2, 0xFF
-_0811492E:
- cmp r2, 0xFF
- beq _0811494A
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x5]
- lsrs r0, 4
- adds r0, 0x10
- ldr r1, =gBattleAnimArgs
- ldrb r1, [r1, 0x2]
- bl SetGreyscaleOrOriginalPalette
-_0811494A:
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811489C
-
- thumb_func_start sub_8114960
-sub_8114960: @ 8114960
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, =gAnimMoveTurn
- ldrb r0, [r2]
- cmp r0, 0x1
- bhi _08114974
- ldr r1, =gBattleAnimArgs
- movs r0, 0
- strh r0, [r1, 0xE]
-_08114974:
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _08114980
- ldr r1, =gBattleAnimArgs
- movs r0, 0x1
- strh r0, [r1, 0xE]
-_08114980:
- adds r0, r3, 0
- bl DestroyAnimVisualTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8114960
-
- .align 2, 0
diff --git a/asm/easy_chat.s b/asm/easy_chat.s
index 70786ab65..f6f09a87e 100644
--- a/asm/easy_chat.s
+++ b/asm/easy_chat.s
@@ -6455,7 +6455,7 @@ sub_811DE90: @ 811DE90
ldr r4, =gUnknown_08597CE8
_0811DEA2:
adds r0, r4, 0
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
adds r4, 0x8
adds r5, 0x1
cmp r5, 0x3
diff --git a/asm/fldeff_80F9BCC.s b/asm/fldeff_80F9BCC.s
deleted file mode 100644
index a361faa32..000000000
--- a/asm/fldeff_80F9BCC.s
+++ /dev/null
@@ -1,2514 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80F9BCC
-sub_80F9BCC: @ 80F9BCC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r3, r2, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r3, 24
- lsrs r3, 24
- ldr r0, =sub_80F9C90
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80F9C44
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F9BCC
-
- thumb_func_start sub_80F9BF4
-sub_80F9BF4: @ 80F9BF4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r3, r2, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r3, 24
- lsrs r3, 24
- ldr r0, =sub_80F9DFC
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80F9C44
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F9BF4
-
- thumb_func_start sub_80F9C1C
-sub_80F9C1C: @ 80F9C1C
- push {lr}
- ldr r0, =sub_80F9C90
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80F9C1C
-
- thumb_func_start sub_80F9C30
-sub_80F9C30: @ 80F9C30
- push {lr}
- ldr r0, =sub_80F9DFC
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80F9C30
-
- thumb_func_start sub_80F9C44
-sub_80F9C44: @ 80F9C44
- push {r4,r5,lr}
- lsls r1, 16
- lsrs r4, r1, 16
- adds r5, r4, 0
- lsls r3, 24
- lsrs r3, 24
- adds r1, r3, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- adds r2, r0, 0
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0, r1
- movs r0, 0
- strh r0, [r1, 0x8]
- movs r0, 0x10
- cmp r4, 0
- beq _080F9C72
- adds r0, r4, 0
-_080F9C72:
- strh r0, [r1, 0xA]
- movs r0, 0x14
- cmp r5, 0
- beq _080F9C7C
- adds r0, r5, 0
-_080F9C7C:
- strh r0, [r1, 0xC]
- ldr r1, [r1]
- adds r0, r2, 0
- bl _call_via_r1
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F9C44
-
- thumb_func_start sub_80F9C90
-sub_80F9C90: @ 80F9C90
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080F9D10
- cmp r0, 0x1
- bgt _080F9CB8
- cmp r0, 0
- beq _080F9CC2
- b _080F9DDE
- .pool
-_080F9CB8:
- cmp r0, 0x2
- beq _080F9D32
- cmp r0, 0x3
- beq _080F9D94
- b _080F9DDE
-_080F9CC2:
- movs r0, 0x78
- strh r0, [r4, 0xE]
- strh r0, [r4, 0x10]
- movs r0, 0x50
- strh r0, [r4, 0x12]
- movs r0, 0x51
- strh r0, [r4, 0x14]
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl SetGpuRegBits
- ldrh r1, [r4, 0xE]
- lsls r1, 8
- ldrh r0, [r4, 0x10]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x40
- bl SetGpuReg
- ldrh r1, [r4, 0x12]
- lsls r1, 8
- ldrh r0, [r4, 0x14]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x44
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0x3F
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0
- bl SetGpuReg
- b _080F9DEE
-_080F9D10:
- movs r0, 0x50
- bl GetGpuReg
- strh r0, [r4, 0x16]
- movs r0, 0x54
- bl GetGpuReg
- strh r0, [r4, 0x18]
- movs r0, 0x50
- movs r1, 0xBF
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0x10
- bl SetGpuReg
- b _080F9DEE
-_080F9D32:
- ldrh r0, [r4, 0xE]
- ldrh r1, [r4, 0xA]
- subs r0, r1
- movs r5, 0
- strh r0, [r4, 0xE]
- ldrh r2, [r4, 0x10]
- adds r1, r2
- strh r1, [r4, 0x10]
- lsls r0, 16
- cmp r0, 0
- ble _080F9D50
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0xEF
- ble _080F9D76
-_080F9D50:
- strh r5, [r4, 0xE]
- movs r0, 0xF0
- strh r0, [r4, 0x10]
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- ldrh r1, [r4, 0x16]
- movs r0, 0x50
- bl SetGpuReg
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- movs r2, 0
- bl BlendPalettes
- ldr r0, =gPlttBufferFaded
- strh r5, [r0]
-_080F9D76:
- ldrh r1, [r4, 0xE]
- lsls r1, 8
- ldrh r0, [r4, 0x10]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x40
- bl SetGpuReg
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- b _080F9DD8
- .pool
-_080F9D94:
- ldrh r0, [r4, 0x12]
- ldrh r1, [r4, 0xC]
- subs r0, r1
- strh r0, [r4, 0x12]
- ldrh r2, [r4, 0x14]
- adds r1, r2
- strh r1, [r4, 0x14]
- lsls r0, 16
- cmp r0, 0
- ble _080F9DB0
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x9F
- ble _080F9DC2
-_080F9DB0:
- movs r0, 0
- strh r0, [r4, 0x12]
- movs r0, 0xA0
- strh r0, [r4, 0x14]
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl ClearGpuRegBits
-_080F9DC2:
- ldrh r1, [r4, 0x12]
- lsls r1, 8
- ldrh r0, [r4, 0x14]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x44
- bl SetGpuReg
- movs r1, 0x12
- ldrsh r0, [r4, r1]
-_080F9DD8:
- cmp r0, 0
- bne _080F9DF4
- b _080F9DEE
-_080F9DDE:
- ldrh r1, [r4, 0x16]
- movs r0, 0x50
- bl SetGpuReg
- adds r0, r5, 0
- bl DestroyTask
- b _080F9DF4
-_080F9DEE:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080F9DF4:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80F9C90
-
- thumb_func_start sub_80F9DFC
-sub_80F9DFC: @ 80F9DFC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- cmp r1, 0x1
- beq _080F9E38
- cmp r1, 0x1
- bgt _080F9E24
- cmp r1, 0
- beq _080F9E2E
- b _080F9F2C
- .pool
-_080F9E24:
- cmp r1, 0x2
- beq _080F9E86
- cmp r1, 0x3
- beq _080F9ED8
- b _080F9F2C
-_080F9E2E:
- ldr r0, =gPlttBufferFaded
- strh r1, [r0]
- b _080F9F4E
- .pool
-_080F9E38:
- movs r1, 0
- strh r1, [r4, 0xE]
- movs r0, 0xF0
- strh r0, [r4, 0x10]
- strh r1, [r4, 0x12]
- movs r0, 0xA0
- strh r0, [r4, 0x14]
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl SetGpuRegBits
- ldrh r1, [r4, 0xE]
- lsls r1, 8
- ldrh r0, [r4, 0x10]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x40
- bl SetGpuReg
- ldrh r1, [r4, 0x12]
- lsls r1, 8
- ldrh r0, [r4, 0x14]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x44
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0x3F
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0
- bl SetGpuReg
- b _080F9F4E
-_080F9E86:
- ldrh r0, [r4, 0xC]
- ldrh r2, [r4, 0x12]
- adds r1, r0, r2
- strh r1, [r4, 0x12]
- ldrh r2, [r4, 0x14]
- subs r0, r2, r0
- strh r0, [r4, 0x14]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x4F
- bgt _080F9EA4
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x51
- bgt _080F9EBC
-_080F9EA4:
- movs r0, 0x50
- strh r0, [r4, 0x12]
- movs r0, 0x51
- strh r0, [r4, 0x14]
- movs r0, 0x50
- movs r1, 0xBF
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0x10
- bl SetGpuReg
-_080F9EBC:
- ldrh r1, [r4, 0x12]
- lsls r1, 8
- ldrh r0, [r4, 0x14]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x44
- bl SetGpuReg
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0x50
- bne _080F9F54
- b _080F9F4E
-_080F9ED8:
- ldrh r0, [r4, 0xA]
- ldrh r2, [r4, 0xE]
- adds r1, r0, r2
- strh r1, [r4, 0xE]
- ldrh r2, [r4, 0x10]
- subs r0, r2, r0
- strh r0, [r4, 0x10]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x77
- bgt _080F9EF6
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x78
- bgt _080F9F0C
-_080F9EF6:
- movs r0, 0x78
- strh r0, [r4, 0xE]
- strh r0, [r4, 0x10]
- subs r0, 0x79
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldr r1, =gPlttBufferFaded
- movs r0, 0
- strh r0, [r1]
-_080F9F0C:
- ldrh r1, [r4, 0xE]
- lsls r1, 8
- ldrh r0, [r4, 0x10]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x40
- bl SetGpuReg
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0x78
- bne _080F9F54
- b _080F9F4E
- .pool
-_080F9F2C:
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl ClearGpuRegBits
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- adds r0, r5, 0
- bl DestroyTask
- b _080F9F54
-_080F9F4E:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080F9F54:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80F9DFC
-
- thumb_func_start sub_80F9F5C
-sub_80F9F5C: @ 80F9F5C
- push {lr}
- ldr r0, =gPlayerFacingPosition
- ldr r1, =gMapHeader
- ldr r1, [r1, 0x4]
- bl sub_80E9608
- bl sub_80E8B6C
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F9F5C
-
- thumb_func_start sub_80F9F78
-sub_80F9F78: @ 80F9F78
- push {lr}
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0]
- movs r0, 0x6
- ands r0, r1
- cmp r0, 0
- beq _080F9FC0
- ldr r1, =gFieldEffectArguments
- ldr r0, [r1, 0x4]
- cmp r0, 0x2
- beq _080F9FAE
- cmp r0, 0x2
- bgt _080F9FA0
- cmp r0, 0x1
- beq _080F9FA6
- b _080F9FFE
- .pool
-_080F9FA0:
- cmp r0, 0x3
- beq _080F9FB6
- b _080F9FDC
-_080F9FA6:
- movs r0, 0x10
- str r0, [r1, 0x14]
- movs r0, 0x28
- b _080F9FFC
-_080F9FAE:
- movs r0, 0x10
- str r0, [r1, 0x14]
- movs r0, 0x8
- b _080F9FFC
-_080F9FB6:
- movs r0, 0x8
- negs r0, r0
- str r0, [r1, 0x14]
- movs r0, 0x18
- b _080F9FFC
-_080F9FC0:
- ldr r1, =gFieldEffectArguments
- ldr r0, [r1, 0x4]
- cmp r0, 0x2
- beq _080F9FEA
- cmp r0, 0x2
- bgt _080F9FD8
- cmp r0, 0x1
- beq _080F9FE2
- b _080F9FFE
- .pool
-_080F9FD8:
- cmp r0, 0x3
- beq _080F9FEE
-_080F9FDC:
- cmp r0, 0x4
- beq _080F9FF8
- b _080F9FFE
-_080F9FE2:
- movs r0, 0x8
- str r0, [r1, 0x14]
- movs r0, 0x28
- b _080F9FFC
-_080F9FEA:
- movs r0, 0x8
- b _080F9FFA
-_080F9FEE:
- movs r0, 0x8
- negs r0, r0
- str r0, [r1, 0x14]
- movs r0, 0x18
- b _080F9FFC
-_080F9FF8:
- movs r0, 0x18
-_080F9FFA:
- str r0, [r1, 0x14]
-_080F9FFC:
- str r0, [r1, 0x18]
-_080F9FFE:
- pop {r0}
- bx r0
- thumb_func_end sub_80F9F78
-
- thumb_func_start sub_80FA004
-sub_80FA004: @ 80FA004
- push {r4,lr}
- bl sub_80E8BC8
- ldr r0, =gSpecialVar_Result
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _080FA0AE
- bl GetPlayerFacingDirection
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _080FA0AE
- ldr r4, =gPlayerFacingPosition
- adds r1, r4, 0x2
- adds r0, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsSecretBaseCave
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080FA070
- bl sub_80F9F5C
- ldr r1, =gFieldCallback2
- ldr r0, =FieldCallback_PrepareFadeInFromMenu
- str r0, [r1]
- ldr r1, =gPostMenuFieldCallback
- ldr r0, =sub_80FA0DC
- b _080FA0C0
- .pool
-_080FA070:
- adds r0, r4, 0
- bl MetatileBehavior_IsSecretBaseTree
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080FA0A0
- bl sub_80F9F5C
- ldr r1, =gFieldCallback2
- ldr r0, =FieldCallback_PrepareFadeInFromMenu
- str r0, [r1]
- ldr r1, =gPostMenuFieldCallback
- ldr r0, =sub_80FA1E8
- b _080FA0C0
- .pool
-_080FA0A0:
- adds r0, r4, 0
- bl MetatileBehavior_IsSecretBaseShrub
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080FA0B2
-_080FA0AE:
- movs r0, 0
- b _080FA0C4
-_080FA0B2:
- bl sub_80F9F5C
- ldr r1, =gFieldCallback2
- ldr r0, =FieldCallback_PrepareFadeInFromMenu
- str r0, [r1]
- ldr r1, =gPostMenuFieldCallback
- ldr r0, =sub_80FA34C
-_080FA0C0:
- str r0, [r1]
- movs r0, 0x1
-_080FA0C4:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80FA004
-
- thumb_func_start sub_80FA0DC
-sub_80FA0DC: @ 80FA0DC
- push {lr}
- bl GetCursorSelectionMonId
- ldr r1, =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- ldr r0, =EventScript_275A86
- bl ScriptContext1_SetupScript
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FA0DC
-
- thumb_func_start oei_sweet_scent
-oei_sweet_scent: @ 80FA0FC
- push {lr}
- bl oei_task_add
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, =sub_80FA128
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end oei_sweet_scent
-
- thumb_func_start sub_80FA128
-sub_80FA128: @ 80FA128
- push {lr}
- movs r0, 0xB
- bl FieldEffectActiveListRemove
- movs r0, 0x37
- bl FieldEffectStart
- pop {r0}
- bx r0
- thumb_func_end sub_80FA128
-
- thumb_func_start sub_80FA13C
-sub_80FA13C: @ 80FA13C
- push {r4,lr}
- bl sub_80F9F78
- ldr r0, =gUnknown_0858E600
- ldr r3, =gSprites
- ldr r1, =gPlayerAvatar
- ldrb r1, [r1, 0x4]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r3
- ldrh r1, [r2, 0x2]
- lsls r1, 23
- lsrs r1, 23
- ldr r4, =gFieldEffectArguments
- ldr r3, [r4, 0x14]
- adds r1, r3
- lsls r1, 16
- asrs r1, 16
- ldrb r2, [r2]
- ldr r3, [r4, 0x18]
- adds r2, r3
- lsls r2, 16
- asrs r2, 16
- movs r3, 0x94
- bl CreateSprite
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80FA13C
-
- thumb_func_start sub_80FA18C
-sub_80FA18C: @ 80FA18C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x83
- bl PlaySE
- movs r0, 0
- strh r0, [r4, 0x2E]
- ldr r0, =sub_80FA1A8
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FA18C
-
- thumb_func_start sub_80FA1A8
-sub_80FA1A8: @ 80FA1A8
- push {lr}
- adds r1, r0, 0
- ldrh r2, [r1, 0x2E]
- movs r3, 0x2E
- ldrsh r0, [r1, r3]
- cmp r0, 0x27
- bgt _080FA1C8
- adds r0, r2, 0x1
- strh r0, [r1, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- bne _080FA1D0
- bl sub_80E8D4C
- b _080FA1D0
-_080FA1C8:
- movs r0, 0
- strh r0, [r1, 0x2E]
- ldr r0, =sub_80FA1D8
- str r0, [r1, 0x1C]
-_080FA1D0:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FA1A8
-
- thumb_func_start sub_80FA1D8
-sub_80FA1D8: @ 80FA1D8
- push {lr}
- movs r1, 0x37
- bl FieldEffectStop
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_80FA1D8
-
- thumb_func_start sub_80FA1E8
-sub_80FA1E8: @ 80FA1E8
- push {lr}
- bl GetCursorSelectionMonId
- ldr r1, =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- ldr r0, =EventScript_275ADF
- bl ScriptContext1_SetupScript
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FA1E8
-
- thumb_func_start sub_80FA208
-sub_80FA208: @ 80FA208
- push {lr}
- bl oei_task_add
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, =sub_80FA234
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80FA208
-
- thumb_func_start sub_80FA234
-sub_80FA234: @ 80FA234
- push {lr}
- movs r0, 0x1A
- bl FieldEffectActiveListRemove
- movs r0, 0x38
- bl FieldEffectStart
- pop {r0}
- bx r0
- thumb_func_end sub_80FA234
-
- thumb_func_start sub_80FA248
-sub_80FA248: @ 80FA248
- push {r4,lr}
- ldr r1, =gPlayerFacingPosition
- movs r2, 0
- ldrsh r0, [r1, r2]
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- bl MapGridGetMetatileBehaviorAt
- adds r2, r0, 0
- ldr r1, =0x00000fff
- adds r0, r1, 0
- ands r2, r0
- cmp r2, 0x96
- bne _080FA26A
- ldr r1, =gFieldEffectArguments
- movs r0, 0
- str r0, [r1, 0x1C]
-_080FA26A:
- cmp r2, 0x9C
- bne _080FA274
- ldr r1, =gFieldEffectArguments
- movs r0, 0x2
- str r0, [r1, 0x1C]
-_080FA274:
- bl sub_80F9F78
- ldr r0, =gUnknown_0858E618
- ldr r3, =gSprites
- ldr r1, =gPlayerAvatar
- ldrb r1, [r1, 0x4]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r3
- ldrh r1, [r2, 0x2]
- lsls r1, 23
- lsrs r1, 23
- ldr r4, =gFieldEffectArguments
- ldr r3, [r4, 0x14]
- adds r1, r3
- lsls r1, 16
- asrs r1, 16
- ldrb r2, [r2]
- ldr r3, [r4, 0x18]
- adds r2, r3
- lsls r2, 16
- asrs r2, 16
- movs r3, 0x94
- bl CreateSprite
- ldr r0, [r4, 0x1C]
- cmp r0, 0x1
- beq _080FA2B2
- cmp r0, 0x3
- bne _080FA2B6
-_080FA2B2:
- bl sub_80E8D4C
-_080FA2B6:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80FA248
-
- thumb_func_start sub_80FA2D8
-sub_80FA2D8: @ 80FA2D8
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x9B
- bl PlaySE
- ldr r0, =gFieldEffectArguments
- ldr r1, [r0, 0x1C]
- adds r2, r4, 0
- adds r2, 0x2A
- movs r0, 0
- strb r1, [r2]
- strh r0, [r4, 0x2E]
- ldr r0, =sub_80FA304
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FA2D8
-
- thumb_func_start sub_80FA304
-sub_80FA304: @ 80FA304
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x27
- ble _080FA32E
- ldr r0, =gFieldEffectArguments
- ldr r0, [r0, 0x1C]
- cmp r0, 0
- beq _080FA322
- cmp r0, 0x2
- bne _080FA326
-_080FA322:
- bl sub_80E8D4C
-_080FA326:
- movs r0, 0
- strh r0, [r4, 0x2E]
- ldr r0, =sub_80FA33C
- str r0, [r4, 0x1C]
-_080FA32E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FA304
-
- thumb_func_start sub_80FA33C
-sub_80FA33C: @ 80FA33C
- push {lr}
- movs r1, 0x38
- bl FieldEffectStop
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_80FA33C
-
- thumb_func_start sub_80FA34C
-sub_80FA34C: @ 80FA34C
- push {lr}
- bl GetCursorSelectionMonId
- ldr r1, =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- ldr r0, =EventScript_275B38
- bl ScriptContext1_SetupScript
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FA34C
-
- thumb_func_start sub_80FA36C
-sub_80FA36C: @ 80FA36C
- push {lr}
- bl oei_task_add
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, =sub_80FA398
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80FA36C
-
- thumb_func_start sub_80FA398
-sub_80FA398: @ 80FA398
- push {lr}
- movs r0, 0x1B
- bl FieldEffectActiveListRemove
- movs r0, 0x39
- bl FieldEffectStart
- pop {r0}
- bx r0
- thumb_func_end sub_80FA398
-
- thumb_func_start sub_80FA3AC
-sub_80FA3AC: @ 80FA3AC
- push {r4,lr}
- bl sub_80F9F78
- ldr r0, =gUnknown_0858E630
- ldr r3, =gSprites
- ldr r1, =gPlayerAvatar
- ldrb r1, [r1, 0x4]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r3
- ldrh r1, [r2, 0x2]
- lsls r1, 23
- lsrs r1, 23
- ldr r4, =gFieldEffectArguments
- ldr r3, [r4, 0x14]
- adds r1, r3
- lsls r1, 16
- asrs r1, 16
- ldrb r2, [r2]
- ldr r3, [r4, 0x18]
- adds r2, r3
- lsls r2, 16
- asrs r2, 16
- movs r3, 0x94
- bl CreateSprite
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80FA3AC
-
- thumb_func_start sub_80FA3FC
-sub_80FA3FC: @ 80FA3FC
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0xA9
- bl PlaySE
- movs r0, 0
- strh r0, [r4, 0x2E]
- ldr r0, =sub_80FA418
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FA3FC
-
- thumb_func_start sub_80FA418
-sub_80FA418: @ 80FA418
- push {lr}
- adds r1, r0, 0
- ldrh r2, [r1, 0x2E]
- movs r3, 0x2E
- ldrsh r0, [r1, r3]
- cmp r0, 0x27
- bgt _080FA438
- adds r0, r2, 0x1
- strh r0, [r1, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- bne _080FA440
- bl sub_80E8D4C
- b _080FA440
-_080FA438:
- movs r0, 0
- strh r0, [r1, 0x2E]
- ldr r0, =sub_80FA448
- str r0, [r1, 0x1C]
-_080FA440:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FA418
-
- thumb_func_start sub_80FA448
-sub_80FA448: @ 80FA448
- push {lr}
- movs r1, 0x39
- bl FieldEffectStop
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_80FA448
-
- thumb_func_start sub_80FA458
-sub_80FA458: @ 80FA458
- push {r4,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- ldr r0, =sub_80FA4A0
- 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
- mov r0, sp
- ldrh r0, [r0]
- movs r2, 0
- strh r0, [r1, 0x8]
- ldrh r0, [r4]
- strh r0, [r1, 0xA]
- strh r2, [r1, 0xC]
- movs r0, 0
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80FA458
-
- thumb_func_start sub_80FA4A0
-sub_80FA4A0: @ 80FA4A0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- ldrh r0, [r4, 0x4]
- subs r0, 0x4
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- bhi _080FA56E
- lsls r0, 2
- ldr r1, =_080FA4D0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080FA4D0:
- .4byte _080FA514
- .4byte _080FA56E
- .4byte _080FA56E
- .4byte _080FA56E
- .4byte _080FA522
- .4byte _080FA56E
- .4byte _080FA56E
- .4byte _080FA56E
- .4byte _080FA514
- .4byte _080FA56E
- .4byte _080FA56E
- .4byte _080FA56E
- .4byte _080FA522
- .4byte _080FA56E
- .4byte _080FA56E
- .4byte _080FA56E
- .4byte _080FA540
-_080FA514:
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- movs r2, 0x89
- lsls r2, 2
- b _080FA52E
-_080FA522:
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- movs r2, 0x88
- lsls r2, 2
-_080FA52E:
- bl MapGridSetMetatileIdAt
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl CurrentMapDrawMetatileAt
- b _080FA56E
-_080FA540:
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- movs r2, 0x89
- lsls r2, 2
- bl MapGridSetMetatileIdAt
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl CurrentMapDrawMetatileAt
- movs r0, 0x3D
- bl FieldEffectActiveListRemove
- bl EnableBothScriptContexts
- adds r0, r5, 0
- bl DestroyTask
- b _080FA574
-_080FA56E:
- ldrh r0, [r4, 0x4]
- adds r0, 0x1
- strh r0, [r4, 0x4]
-_080FA574:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80FA4A0
-
- thumb_func_start sub_80FA57C
-sub_80FA57C: @ 80FA57C
- push {r4,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- movs r0, 0x3
- bl PlaySE
- ldr r0, =0x00004054
- bl VarGet
- lsls r0, 16
- cmp r0, 0
- bne _080FA5B8
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r2, 0xE2
- lsls r2, 4
- bl MapGridSetMetatileIdAt
- b _080FA5C8
- .pool
-_080FA5B8:
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- ldr r2, =0x00000e21
- bl MapGridSetMetatileIdAt
-_080FA5C8:
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl CurrentMapDrawMetatileAt
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FA57C
-
- thumb_func_start sub_80FA5E4
-sub_80FA5E4: @ 80FA5E4
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 16
- lsrs r6, 16
- ldr r0, =sub_80FA62C
- 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
- movs r0, 0
- strh r4, [r1, 0x8]
- strh r5, [r1, 0xA]
- strh r6, [r1, 0xC]
- strh r0, [r1, 0xE]
- movs r0, 0x1
- strh r0, [r1, 0x10]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FA5E4
-
- thumb_func_start sub_80FA62C
-sub_80FA62C: @ 80FA62C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- ldrh r1, [r4, 0x6]
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- cmp r0, 0x6
- bne _080FA650
- movs r0, 0
- b _080FA652
- .pool
-_080FA650:
- adds r0, r1, 0x1
-_080FA652:
- strh r0, [r4, 0x6]
- movs r3, 0x6
- ldrsh r0, [r4, r3]
- cmp r0, 0
- bne _080FA6A4
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x2
- bne _080FA66C
- movs r2, 0
- ldrsh r0, [r4, r2]
- bl sub_80FA6AC
-_080FA66C:
- movs r3, 0x2
- ldrsh r0, [r4, r3]
- movs r2, 0x4
- ldrsh r1, [r4, r2]
- ldrh r2, [r4, 0x8]
- ldrh r3, [r4]
- adds r2, r3
- lsls r2, 16
- lsrs r2, 16
- bl MapGridSetMetatileIdAt
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- movs r2, 0x4
- ldrsh r1, [r4, r2]
- bl CurrentMapDrawMetatileAt
- ldrh r1, [r4, 0x8]
- movs r3, 0x8
- ldrsh r0, [r4, r3]
- cmp r0, 0x3
- bne _080FA6A0
- adds r0, r5, 0
- bl DestroyTask
- b _080FA6A4
-_080FA6A0:
- adds r0, r1, 0x1
- strh r0, [r4, 0x8]
-_080FA6A4:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80FA62C
-
- thumb_func_start sub_80FA6AC
-sub_80FA6AC: @ 80FA6AC
- push {lr}
- lsls r0, 16
- asrs r1, r0, 16
- movs r0, 0xCE
- lsls r0, 2
- cmp r1, r0
- beq _080FA6D8
- cmp r1, r0
- bgt _080FA6C8
- movs r0, 0x8A
- lsls r0, 2
- cmp r1, r0
- beq _080FA6F0
- b _080FA6F6
-_080FA6C8:
- movs r0, 0xCF
- lsls r0, 2
- cmp r1, r0
- beq _080FA6E0
- adds r0, 0x4
- cmp r1, r0
- beq _080FA6E8
- b _080FA6F6
-_080FA6D8:
- movs r0, 0x4A
- bl PlaySE
- b _080FA6F6
-_080FA6E0:
- movs r0, 0x4B
- bl PlaySE
- b _080FA6F6
-_080FA6E8:
- movs r0, 0x4C
- bl PlaySE
- b _080FA6F6
-_080FA6F0:
- movs r0, 0x4E
- bl PlaySE
-_080FA6F6:
- pop {r0}
- bx r0
- thumb_func_end sub_80FA6AC
-
- thumb_func_start sub_80FA6FC
-sub_80FA6FC: @ 80FA6FC
- movs r0, 0
- bx lr
- thumb_func_end sub_80FA6FC
-
- thumb_func_start sub_80FA700
-sub_80FA700: @ 80FA700
- movs r0, 0
- bx lr
- thumb_func_end sub_80FA700
-
- thumb_func_start sub_80FA704
-sub_80FA704: @ 80FA704
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- lsls r5, 16
- lsrs r5, 16
- lsls r4, 16
- lsrs r4, 16
- movs r0, 0x4D
- bl PlaySE
- lsls r5, 16
- asrs r5, 16
- lsls r4, 16
- asrs r4, 16
- ldr r2, =0x00000276
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridSetMetatileIdAt
- subs r6, r4, 0x1
- ldr r2, =0x0000026e
- adds r0, r5, 0
- adds r1, r6, 0
- bl MapGridSetMetatileIdAt
- adds r0, r5, 0
- adds r1, r4, 0
- bl CurrentMapDrawMetatileAt
- adds r0, r5, 0
- adds r1, r6, 0
- bl CurrentMapDrawMetatileAt
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FA704
-
- thumb_func_start sub_80FA754
-sub_80FA754: @ 80FA754
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r1
- ldrh r2, [r1, 0x8]
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- cmp r0, 0x7
- bne _080FA788
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- movs r3, 0xC
- ldrsh r1, [r1, r3]
- bl sub_80FA704
- adds r0, r4, 0
- bl DestroyTask
- b _080FA78C
- .pool
-_080FA788:
- adds r0, r2, 0x1
- strh r0, [r1, 0x8]
-_080FA78C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FA754
-
- thumb_func_start sub_80FA794
-sub_80FA794: @ 80FA794
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- adds r7, r5, 0
- lsls r1, 16
- lsrs r4, r1, 16
- adds r6, r4, 0
- bl GetPlayerFacingDirection
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080FA7BC
- lsls r0, r5, 16
- asrs r0, 16
- lsls r1, r4, 16
- asrs r1, 16
- bl sub_80FA704
- b _080FA7DE
-_080FA7BC:
- cmp r0, 0x2
- bne _080FA7DE
- ldr r0, =sub_80FA754
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- strh r0, [r1, 0x8]
- strh r7, [r1, 0xA]
- strh r6, [r1, 0xC]
-_080FA7DE:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FA794
-
- thumb_func_start sub_80FA7EC
-sub_80FA7EC: @ 80FA7EC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r1
- ldrh r2, [r1, 0xA]
- movs r3, 0xA
- ldrsh r0, [r1, r3]
- cmp r0, 0x7
- beq _080FA808
- b _080FA966
-_080FA808:
- ldr r2, =0xfffffd88
- adds r0, r2, 0
- ldrh r1, [r1, 0x8]
- adds r0, r1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3B
- bls _080FA81A
- b _080FA95E
-_080FA81A:
- lsls r0, 2
- ldr r1, =_080FA830
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080FA830:
- .4byte _080FA920
- .4byte _080FA928
- .4byte _080FA930
- .4byte _080FA938
- .4byte _080FA940
- .4byte _080FA948
- .4byte _080FA950
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA95E
- .4byte _080FA958
-_080FA920:
- movs r0, 0x3E
- bl PlaySE
- b _080FA95E
-_080FA928:
- movs r0, 0x3F
- bl PlaySE
- b _080FA95E
-_080FA930:
- movs r0, 0x40
- bl PlaySE
- b _080FA95E
-_080FA938:
- movs r0, 0x41
- bl PlaySE
- b _080FA95E
-_080FA940:
- movs r0, 0x42
- bl PlaySE
- b _080FA95E
-_080FA948:
- movs r0, 0x43
- bl PlaySE
- b _080FA95E
-_080FA950:
- movs r0, 0x44
- bl PlaySE
- b _080FA95E
-_080FA958:
- movs r0, 0x45
- bl PlaySE
-_080FA95E:
- adds r0, r4, 0
- bl DestroyTask
- b _080FA96A
-_080FA966:
- adds r0, r2, 0x1
- strh r0, [r1, 0xA]
-_080FA96A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FA7EC
-
- thumb_func_start sub_80FA970
-sub_80FA970: @ 80FA970
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, =sub_80FA7EC
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- strh r4, [r1, 0x8]
- strh r0, [r1, 0xA]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FA970
-
- thumb_func_start sub_80FA9A4
-sub_80FA9A4: @ 80FA9A4
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- bne _080FA9BC
- movs r0, 0xC3
- bl PlaySE
-_080FA9BC:
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1F
- ble _080FA9CA
- adds r0, r4, 0
- bl DestroySprite
-_080FA9CA:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FA9A4
-
- thumb_func_start sub_80FA9D0
-sub_80FA9D0: @ 80FA9D0
- push {r4,lr}
- sub sp, 0x4
- ldr r3, =gEventObjects
- ldr r2, =gPlayerAvatar
- ldrb r1, [r2, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x10]
- mov r0, sp
- strh r1, [r0]
- ldrb r1, [r2, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x12]
- mov r4, sp
- adds r4, 0x2
- strh r0, [r4]
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x8
- movs r3, 0x4
- bl sub_80930E0
- ldr r0, =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x58]
- mov r1, sp
- movs r2, 0
- ldrsh r1, [r1, r2]
- movs r3, 0
- ldrsh r2, [r4, r3]
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080FAA5E
- ldr r3, =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r4, r2, r3
- movs r0, 0x3E
- adds r0, r4
- mov r12, r0
- ldrb r0, [r0]
- movs r1, 0x2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- ldrb r1, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- movs r1, 0xF
- ands r0, r1
- movs r1, 0x50
- orrs r0, r1
- strb r0, [r4, 0x5]
- adds r3, 0x1C
- adds r2, r3
- ldr r0, =sub_80FA9A4
- str r0, [r2]
- movs r0, 0
- strh r0, [r4, 0x2E]
-_080FAA5E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FA9D0
-
- thumb_func_start sub_80FAA7C
-sub_80FAA7C: @ 80FAA7C
- push {r4,lr}
- sub sp, 0x4
- bl ScriptContext2_Enable
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- ldr r1, =gFieldEffectArguments
- mov r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- str r0, [r1, 0x14]
- movs r3, 0
- ldrsh r0, [r4, r3]
- str r0, [r1, 0x18]
- bl GetPlayerFacingDirection
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _080FAAFC
- cmp r0, 0x2
- bgt _080FAABC
- cmp r0, 0x1
- beq _080FAAC6
- b _080FAB8C
- .pool
-_080FAABC:
- cmp r0, 0x3
- beq _080FAB2C
- cmp r0, 0x4
- beq _080FAB64
- b _080FAB8C
-_080FAAC6:
- ldr r0, =gUnknown_0858E68C
- ldr r3, =gSprites
- ldr r1, =gPlayerAvatar
- ldrb r1, [r1, 0x4]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r3
- ldrh r1, [r2, 0x2]
- lsls r1, 23
- lsrs r1, 7
- movs r3, 0x80
- lsls r3, 12
- adds r1, r3
- asrs r1, 16
- ldrb r2, [r2]
- adds r2, 0x20
- movs r3, 0
- bl CreateSprite
- b _080FAB8C
- .pool
-_080FAAFC:
- ldr r0, =gUnknown_0858E68C
- ldr r3, =gSprites
- ldr r1, =gPlayerAvatar
- ldrb r1, [r1, 0x4]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r3
- ldrh r1, [r2, 0x2]
- lsls r1, 23
- lsrs r1, 7
- movs r3, 0x80
- lsls r3, 12
- adds r1, r3
- asrs r1, 16
- ldrb r2, [r2]
- b _080FAB4C
- .pool
-_080FAB2C:
- ldr r0, =gUnknown_0858E68C
- ldr r3, =gSprites
- ldr r1, =gPlayerAvatar
- ldrb r1, [r1, 0x4]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r3
- ldrh r1, [r2, 0x2]
- lsls r1, 23
- lsrs r1, 7
- ldr r3, =0xfff80000
- adds r1, r3
- asrs r1, 16
- ldrb r2, [r2]
- adds r2, 0x10
-_080FAB4C:
- movs r3, 0x94
- bl CreateSprite
- b _080FAB8C
- .pool
-_080FAB64:
- ldr r0, =gUnknown_0858E68C
- ldr r3, =gSprites
- ldr r1, =gPlayerAvatar
- ldrb r1, [r1, 0x4]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r3
- ldrh r1, [r2, 0x2]
- lsls r1, 23
- lsrs r1, 7
- movs r3, 0xC0
- lsls r3, 13
- adds r1, r3
- asrs r1, 16
- ldrb r2, [r2]
- adds r2, 0x10
- movs r3, 0x94
- bl CreateSprite
-_080FAB8C:
- movs r0, 0
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80FAA7C
-
- thumb_func_start door_restore_tilemap
-door_restore_tilemap: @ 80FABA4
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r0, 0x83
- bl PlaySE
- ldr r4, =gFieldEffectArguments
- ldr r0, [r4, 0x14]
- ldr r1, [r4, 0x18]
- subs r1, 0x1
- bl MapGridGetMetatileIdAt
- ldr r1, =0x00000286
- cmp r0, r1
- bne _080FABDC
- ldr r0, [r4, 0x14]
- ldr r1, [r4, 0x18]
- subs r1, 0x1
- ldr r2, =0x00000e02
- bl MapGridSetMetatileIdAt
- b _080FABEA
- .pool
-_080FABDC:
- ldr r0, [r4, 0x14]
- ldr r1, [r4, 0x18]
- subs r1, 0x1
- movs r2, 0xA1
- lsls r2, 2
- bl MapGridSetMetatileIdAt
-_080FABEA:
- ldr r4, =gFieldEffectArguments
- ldr r0, [r4, 0x14]
- ldr r1, [r4, 0x18]
- ldr r2, =0x0000020a
- bl MapGridSetMetatileIdAt
- ldr r0, [r4, 0x14]
- ldr r1, [r4, 0x18]
- subs r1, 0x1
- bl CurrentMapDrawMetatileAt
- ldr r0, [r4, 0x14]
- ldr r1, [r4, 0x18]
- bl CurrentMapDrawMetatileAt
- movs r0, 0
- strh r0, [r5, 0x2E]
- ldr r0, =sub_80FAC24
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end door_restore_tilemap
-
- thumb_func_start sub_80FAC24
-sub_80FAC24: @ 80FAC24
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r1, [r5, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r5, r2]
- cmp r0, 0x11
- bgt _080FAC38
- adds r0, r1, 0x1
- strh r0, [r5, 0x2E]
- b _080FAC54
-_080FAC38:
- ldr r4, =gFieldEffectArguments
- ldr r0, [r4, 0x14]
- ldr r1, [r4, 0x18]
- ldr r2, =0x00000e8c
- bl MapGridSetMetatileIdAt
- ldr r0, [r4, 0x14]
- ldr r1, [r4, 0x18]
- bl CurrentMapDrawMetatileAt
- movs r0, 0
- strh r0, [r5, 0x2E]
- ldr r0, =sub_80FAC68
- str r0, [r5, 0x1C]
-_080FAC54:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FAC24
-
- thumb_func_start sub_80FAC68
-sub_80FAC68: @ 80FAC68
- push {lr}
- movs r1, 0x34
- bl FieldEffectStop
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_80FAC68
-
- thumb_func_start sub_80FAC78
-sub_80FAC78: @ 80FAC78
- push {r4,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileIdAt
- adds r1, r0, 0
- ldr r0, =0x000002f5
- cmp r1, r0
- beq _080FAD6C
- cmp r1, r0
- bgt _080FACB4
- subs r0, 0x17
- cmp r1, r0
- beq _080FAD14
- adds r0, 0x16
- cmp r1, r0
- beq _080FAD60
- b _080FADCE
- .pool
-_080FACB4:
- ldr r0, =0x000002f6
- cmp r1, r0
- beq _080FADA4
- adds r0, 0x40
- cmp r1, r0
- beq _080FACC2
- b _080FADCE
-_080FACC2:
- ldr r0, =gStringVar1
- movs r1, 0x64
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, =gStringVar2
- ldr r1, =gText_Gold
- bl StringCopy
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
- ldr r0, =0x00004054
- bl VarGet
- lsls r0, 16
- cmp r0, 0
- beq _080FADCE
- ldr r4, =0x000040ee
- adds r0, r4, 0
- bl VarGet
- adds r1, r0, 0
- movs r0, 0x10
- b _080FAD8A
- .pool
-_080FAD14:
- ldr r0, =gStringVar1
- movs r1, 0x32
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, =gStringVar2
- ldr r1, =gText_Silver
- bl StringCopy
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
- ldr r0, =0x00004054
- bl VarGet
- lsls r0, 16
- cmp r0, 0
- beq _080FADCE
- ldr r4, =0x000040ee
- adds r0, r4, 0
- bl VarGet
- adds r1, r0, 0
- movs r0, 0x20
- b _080FAD8A
- .pool
-_080FAD60:
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- b _080FAD70
- .pool
-_080FAD6C:
- ldr r1, =gSpecialVar_Result
- movs r0, 0x2
-_080FAD70:
- strh r0, [r1]
- ldr r0, =0x00004054
- bl VarGet
- lsls r0, 16
- cmp r0, 0
- beq _080FADCE
- ldr r4, =0x000040ee
- adds r0, r4, 0
- bl VarGet
- adds r1, r0, 0
- movs r0, 0x80
-_080FAD8A:
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl VarSet
- b _080FADCE
- .pool
-_080FADA4:
- ldr r1, =gSpecialVar_Result
- movs r0, 0x3
- strh r0, [r1]
- ldr r0, =0x00004054
- bl VarGet
- lsls r0, 16
- cmp r0, 0
- beq _080FADCE
- ldr r4, =0x000040ee
- adds r0, r4, 0
- bl VarGet
- adds r1, r0, 0
- movs r0, 0x80
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl VarSet
-_080FADCE:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FAC78
-
- thumb_func_start sub_80FADE4
-sub_80FADE4: @ 80FADE4
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- adds r6, r4, 0
- lsls r1, 24
- lsrs r5, r1, 24
- bl CurrentMapIsSecretBase
- lsls r0, 24
- cmp r0, 0
- beq _080FAE28
- cmp r5, 0
- bne _080FAE1C
- ldr r1, =0xfffffd7b
- adds r0, r4, r1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _080FAE10
- ldr r0, =0x00000237
- cmp r4, r0
- bne _080FAE28
-_080FAE10:
- movs r0, 0x1
- b _080FAE2A
- .pool
-_080FAE1C:
- ldr r0, =0x0000028d
- cmp r4, r0
- beq _080FAE10
- ldr r0, =0x0000023f
- cmp r6, r0
- beq _080FAE10
-_080FAE28:
- movs r0, 0
-_080FAE2A:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80FADE4
-
- thumb_func_start task50_overworld_poison_effect
-task50_overworld_poison_effect: @ 80FAE38
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r1, r0, r1
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0x1
- beq _080FAE76
- cmp r0, 0x1
- bgt _080FAE60
- cmp r0, 0
- beq _080FAE66
- b _080FAE92
- .pool
-_080FAE60:
- cmp r0, 0x2
- beq _080FAE8A
- b _080FAE92
-_080FAE66:
- ldrh r0, [r1, 0x2]
- adds r0, 0x2
- strh r0, [r1, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _080FAE92
- b _080FAE82
-_080FAE76:
- ldrh r0, [r1, 0x2]
- subs r0, 0x2
- strh r0, [r1, 0x2]
- lsls r0, 16
- cmp r0, 0
- bne _080FAE92
-_080FAE82:
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080FAE92
-_080FAE8A:
- adds r0, r2, 0
- bl DestroyTask
- b _080FAEA2
-_080FAE92:
- ldrh r0, [r1, 0x2]
- lsls r1, r0, 4
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x4C
- bl SetGpuReg
-_080FAEA2:
- pop {r0}
- bx r0
- thumb_func_end task50_overworld_poison_effect
-
- thumb_func_start FldeffPoison_Start
-FldeffPoison_Start: @ 80FAEA8
- push {lr}
- movs r0, 0x4F
- bl PlaySE
- ldr r0, =task50_overworld_poison_effect
- movs r1, 0x50
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end FldeffPoison_Start
-
- thumb_func_start FieldPoisonEffectIsRunning
-FieldPoisonEffectIsRunning: @ 80FAEC0
- push {lr}
- ldr r0, =task50_overworld_poison_effect
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end FieldPoisonEffectIsRunning
-
- thumb_func_start sub_80FAED4
-sub_80FAED4: @ 80FAED4
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, =sub_80FAEF0
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_80FAED4
-
- thumb_func_start sub_80FAEF0
-sub_80FAEF0: @ 80FAEF0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gEventObjects
- adds r4, r0, r1
- adds r0, r4, 0
- bl EventObjectIsMovementOverridden
- lsls r0, 24
- cmp r0, 0
- beq _080FAF1C
- adds r0, r4, 0
- bl EventObjectClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _080FAF4E
-_080FAF1C:
- bl GetPlayerFacingDirection
- lsls r0, 24
- lsrs r0, 24
- bl sub_808C228
- bl GetPlayerFacingDirection
- lsls r0, 24
- lsrs r0, 24
- bl GetWalkInPlaceNormalMovementAction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl EventObjectSetHeldMovement
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80FAF64
- str r1, [r0]
-_080FAF4E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FAEF0
-
- thumb_func_start sub_80FAF64
-sub_80FAF64: @ 80FAF64
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gEventObjects
- adds r5, r0, r1
- adds r0, r5, 0
- bl EventObjectClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _080FAFC8
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r1
- ldrh r0, [r2, 0xA]
- adds r1, r0, 0x1
- strh r1, [r2, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x9
- bgt _080FAFC4
- bl GetPlayerFacingDirection
- lsls r0, 24
- lsrs r0, 24
- bl GetWalkInPlaceNormalMovementAction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl EventObjectSetHeldMovement
- b _080FAFC8
- .pool
-_080FAFC4:
- ldr r0, =sub_80FAFD4
- str r0, [r2]
-_080FAFC8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FAF64
-
- thumb_func_start sub_80FAFD4
-sub_80FAFD4: @ 80FAFD4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_808BCD0
- lsls r0, 24
- lsrs r0, 24
- bl SetPlayerAvatarTransitionFlags
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FAFD4
-
- thumb_func_start sub_80FAFF8
-sub_80FAFF8: @ 80FAFF8
- push {lr}
- ldr r0, =sub_80FAED4
- movs r1, 0x50
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FAFF8
-
- thumb_func_start CreateRecordMixingSprite
-CreateRecordMixingSprite: @ 80FB00C
- push {r4,r5,lr}
- ldr r0, =gUnknown_0858E864
- bl LoadSpritePalette
- ldr r0, =gUnknown_0858E880
- movs r1, 0
- movs r2, 0
- movs r3, 0x52
- bl CreateSprite
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x40
- beq _080FB06C
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- ldr r1, =gSprites
- adds r4, r0, r1
- adds r2, r4, 0
- adds r2, 0x20
- adds r3, r4, 0
- adds r3, 0x22
- movs r0, 0x10
- movs r1, 0xD
- bl sub_8092FF0
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- ldrh r0, [r4, 0x20]
- adds r0, 0x10
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x22]
- adds r0, 0x2
- strh r0, [r4, 0x22]
- adds r0, r5, 0
- b _080FB06E
- .pool
-_080FB06C:
- movs r0, 0x40
-_080FB06E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end CreateRecordMixingSprite
-
- thumb_func_start DestroyRecordMixingSprite
-DestroyRecordMixingSprite: @ 80FB074
- push {r4-r7,lr}
- ldr r4, =gSprites
- adds r7, r4, 0
- movs r6, 0
- movs r5, 0x3F
-_080FB07E:
- adds r0, r7, 0
- adds r0, 0x14
- adds r0, r6, r0
- ldr r1, [r0]
- ldr r0, =gUnknown_0858E880
- cmp r1, r0
- bne _080FB098
- adds r0, r4, 0
- bl FreeSpritePalette
- adds r0, r4, 0
- bl DestroySprite
-_080FB098:
- adds r4, 0x44
- adds r6, 0x44
- subs r5, 0x1
- cmp r5, 0
- bge _080FB07E
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DestroyRecordMixingSprite
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/flying.s b/asm/flying.s
index dd6ca32ae..c8010106a 100644
--- a/asm/flying.s
+++ b/asm/flying.s
@@ -10,7 +10,7 @@ sub_810DE70: @ 810DE70
push {r4,lr}
adds r4, r0, 0
movs r1, 0
- bl sub_80A6980
+ bl InitSpritePosToAnimTarget
ldrh r0, [r4, 0x22]
adds r0, 0x14
strh r0, [r4, 0x22]
@@ -163,7 +163,7 @@ sub_810DFA8: @ 810DFA8
push {r4-r6,lr}
adds r6, r0, 0
movs r1, 0x1
- bl InitAnimSpritePos
+ bl InitSpritePosToAnimAttacker
ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl GetBattlerSide
@@ -216,7 +216,7 @@ _0810DFC8:
sub_810E028: @ 810E028
push {r4,lr}
adds r4, r0, 0
- bl TranslateAnimLinear
+ bl AnimTranslateLinear
lsls r0, 24
cmp r0, 0
beq _0810E03C
@@ -342,7 +342,7 @@ sub_810E13C: @ 810E13C
push {r4,lr}
adds r4, r0, 0
movs r1, 0x1
- bl InitAnimSpritePos
+ bl InitSpritePosToAnimAttacker
ldr r1, =gBattleAnimArgs
ldrh r0, [r1, 0x4]
strh r0, [r4, 0x2E]
@@ -471,7 +471,7 @@ sub_810E24C: @ 810E24C
movs r0, 0x1
strh r0, [r4, 0x2E]
adds r0, r4, 0
- bl TranslateAnimLinear
+ bl AnimTranslateLinear
ldrh r1, [r4, 0x34]
lsrs r0, r1, 8
cmp r0, 0xC8
@@ -655,7 +655,7 @@ _0810E354:
cmp r0, 0
bne _0810E3F0
adds r0, r6, 0
- bl sub_80A8328
+ bl GetBattlerSpriteBGPriority
lsls r0, 24
lsrs r0, 24
adds r0, 0x1
@@ -672,7 +672,7 @@ _0810E354:
.pool
_0810E3F0:
adds r0, r6, 0
- bl sub_80A8328
+ bl GetBattlerSpriteBGPriority
movs r1, 0x3
ands r1, r0
lsls r1, 2
@@ -718,7 +718,7 @@ _0810E408:
b _0810E4A2
_0810E44A:
adds r0, r6, 0
- bl sub_80A8328
+ bl GetBattlerSpriteBGPriority
movs r1, 0x3
ands r1, r0
lsls r1, 2
@@ -1535,7 +1535,7 @@ sub_810EA4C: @ 810EA4C
adds r4, r0, 0
ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
- bl sub_80A8328
+ bl GetBattlerSpriteBGPriority
movs r1, 0x3
ands r1, r0
lsls r1, 2
@@ -1577,13 +1577,13 @@ sub_810EAA0: @ 810EAA0
bne _0810EABC
adds r0, r5, 0
movs r1, 0
- bl InitAnimSpritePos
+ bl InitSpritePosToAnimAttacker
b _0810EAC4
.pool
_0810EABC:
adds r0, r5, 0
movs r1, 0
- bl sub_80A6980
+ bl InitSpritePosToAnimTarget
_0810EAC4:
ldr r4, =gBattleAnimArgs
movs r2, 0x4
@@ -1771,7 +1771,7 @@ sub_810EC34: @ 810EC34
_0810EC46:
adds r0, r4, 0
movs r1, 0x1
- bl InitAnimSpritePos
+ bl InitSpritePosToAnimAttacker
movs r0, 0
bl GetAnimBattlerSpriteId
ldr r2, =gSprites
@@ -1891,7 +1891,7 @@ sub_810ED28: @ 810ED28
push {r4,lr}
adds r4, r0, 0
movs r1, 0x1
- bl InitAnimSpritePos
+ bl InitSpritePosToAnimAttacker
ldr r1, =gBattleAnimArgs
ldrh r0, [r1, 0x4]
strh r0, [r4, 0x2E]
diff --git a/asm/ice.s b/asm/ice.s
deleted file mode 100644
index 3187d3110..000000000
--- a/asm/ice.s
+++ /dev/null
@@ -1,2944 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_810B614
-sub_810B614: @ 810B614
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r0, =gUnknown_085956C0
- movs r2, 0x22
- ldrsh r1, [r4, r2]
- movs r3, 0x24
- ldrsh r2, [r4, r3]
- ldrh r3, [r4, 0x20]
- lsls r3, 24
- lsrs r3, 24
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _0810B658
- ldr r3, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r3, 0
- adds r1, 0x1C
- adds r1, r0, r1
- ldr r2, =sub_810B684
- str r2, [r1]
- adds r0, r3
- strh r5, [r0, 0x3A]
- movs r1, 0xA
- strh r1, [r0, 0x3C]
- ldrh r0, [r4, 0x1C]
- adds r0, 0x1
- strh r0, [r4, 0x1C]
-_0810B658:
- ldrh r2, [r4, 0x24]
- movs r0, 0x24
- ldrsh r1, [r4, r0]
- movs r3, 0x26
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bge _0810B67C
- adds r0, r2, 0
- adds r0, 0x20
- strh r0, [r4, 0x24]
- movs r0, 0
- b _0810B67E
- .pool
-_0810B67C:
- movs r0, 0x1
-_0810B67E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_810B614
-
- thumb_func_start sub_810B684
-sub_810B684: @ 810B684
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0810B6B8
- ldr r3, =gTasks
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- lsls r1, 1
- movs r0, 0x3A
- ldrsh r2, [r4, r0]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r3, 0x8
- adds r1, r3
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- adds r0, r4, 0
- bl DestroySprite
-_0810B6B8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810B684
-
- thumb_func_start sub_810B6C4
-sub_810B6C4: @ 810B6C4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r5, r0, 0
- ldrh r2, [r5, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- adds r1, 0x7
- ldr r3, =0x000003ff
- adds r0, r3, 0
- ands r1, r0
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r5, 0x4]
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r3, r0, 24
- ldrb r0, [r4]
- movs r1, 0x3
- str r3, [sp]
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x8]
- strh r0, [r5, 0x2E]
- ldrh r0, [r1]
- ldr r3, [sp]
- adds r0, r3
- strh r0, [r5, 0x30]
- ldrh r0, [r1, 0x4]
- mov r4, r9
- adds r0, r4, r0
- strh r0, [r5, 0x32]
- ldrh r0, [r1, 0x2]
- adds r0, r6
- strh r0, [r5, 0x34]
- ldrh r0, [r1, 0x6]
- mov r7, r8
- adds r0, r7, r0
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- bl sub_80A64EC
- adds r4, 0x20
- movs r0, 0x98
- lsls r0, 1
- mov r12, r0
- ldr r3, [sp]
- cmp r4, r12
- bhi _0810B79E
- adds r0, r7, 0
- adds r0, 0x20
- ldrh r1, [r5, 0x30]
- ldrh r2, [r5, 0x32]
- cmp r0, 0xE0
- bhi _0810B79E
- adds r4, r1, 0
- mov r10, r12
-_0810B76A:
- mov r7, r9
- lsls r1, r7, 16
- asrs r1, 16
- adds r1, r4
- lsls r1, 16
- mov r7, r8
- lsls r0, r7, 16
- asrs r0, 16
- adds r0, r2
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsrs r0, r1, 16
- mov r9, r0
- movs r7, 0x80
- lsls r7, 14
- adds r1, r7
- lsrs r1, 16
- cmp r1, r10
- bhi _0810B79E
- mov r1, r8
- lsls r0, r1, 16
- adds r0, r7
- lsrs r0, 16
- cmp r0, 0xE0
- bls _0810B76A
-_0810B79E:
- ldrh r0, [r5, 0x30]
- negs r7, r0
- strh r7, [r5, 0x30]
- ldrh r0, [r5, 0x32]
- negs r4, r0
- strh r4, [r5, 0x32]
- lsls r0, r3, 16
- movs r1, 0x80
- lsls r1, 14
- adds r0, r1
- lsrs r0, 16
- movs r2, 0x98
- lsls r2, 1
- mov r12, r2
- ldr r1, =gBattleAnimArgs
- mov r10, r1
- cmp r0, r12
- bhi _0810B80A
- lsls r1, r6, 16
- movs r2, 0x80
- lsls r2, 14
- adds r0, r1, r2
- b _0810B802
- .pool
-_0810B7E0:
- lsls r1, r3, 16
- asrs r1, 16
- adds r1, r7
- lsls r1, 16
- asrs r0, r2, 16
- adds r0, r4
- lsls r0, 16
- lsrs r6, r0, 16
- lsrs r3, r1, 16
- movs r0, 0x80
- lsls r0, 14
- adds r1, r0
- lsrs r1, 16
- cmp r1, r12
- bhi _0810B80A
- lsls r1, r6, 16
- adds r0, r1, r0
-_0810B802:
- lsrs r0, 16
- adds r2, r1, 0
- cmp r0, 0xE0
- bls _0810B7E0
-_0810B80A:
- strh r3, [r5, 0x20]
- strh r6, [r5, 0x22]
- mov r1, r10
- ldrh r0, [r1, 0x8]
- strh r0, [r5, 0x2E]
- strh r3, [r5, 0x30]
- mov r2, r9
- strh r2, [r5, 0x32]
- strh r6, [r5, 0x34]
- mov r3, r8
- strh r3, [r5, 0x36]
- adds r0, r5, 0
- bl sub_80A64EC
- mov r7, r10
- ldrh r0, [r7, 0xA]
- strh r0, [r5, 0x34]
- ldrh r0, [r7, 0xC]
- strh r0, [r5, 0x36]
- ldr r0, =sub_810B848
- str r0, [r5, 0x1C]
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810B6C4
-
- thumb_func_start sub_810B848
-sub_810B848: @ 810B848
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0810B8A0
- ldrh r1, [r4, 0x30]
- ldrh r2, [r4, 0x38]
- adds r1, r2
- strh r1, [r4, 0x38]
- ldrh r0, [r4, 0x32]
- ldrh r2, [r4, 0x3A]
- adds r0, r2
- strh r0, [r4, 0x3A]
- strh r1, [r4, 0x24]
- strh r0, [r4, 0x26]
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x36]
- ldrh r2, [r4, 0x3C]
- adds r0, r2
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x3C]
- ldrh r0, [r4, 0x2E]
- subs r0, 0x1
- strh r0, [r4, 0x2E]
- b _0810B8A6
-_0810B8A0:
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810B8A6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810B848
-
- thumb_func_start sub_810B8AC
-sub_810B8AC: @ 810B8AC
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0]
- strh r0, [r4, 0x2E]
- movs r0, 0x3C
- strh r0, [r4, 0x30]
- movs r0, 0x9
- strh r0, [r4, 0x32]
- movs r0, 0x1E
- strh r0, [r4, 0x34]
- movs r0, 0xFE
- lsls r0, 8
- strh r0, [r4, 0x36]
- ldr r1, =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r1, =TranslateSpriteInGrowingCircleOverDuration
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810B8AC
-
- thumb_func_start sub_810B8EC
-sub_810B8EC: @ 810B8EC
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl InitAnimSpritePos
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810B92C
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r4, 0x32]
- ldrh r0, [r0, 0x4]
- subs r1, r0
- strh r1, [r4, 0x32]
- b _0810B936
- .pool
-_0810B92C:
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x4]
- ldrh r1, [r4, 0x32]
- adds r0, r1
- strh r0, [r4, 0x32]
-_0810B936:
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- ldr r1, =gBattleAnimArgs
- lsrs r0, 24
- ldrh r2, [r1, 0x6]
- adds r0, r2
- strh r0, [r4, 0x36]
- ldrh r0, [r1, 0x8]
- strh r0, [r4, 0x2E]
- ldr r1, =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =StartAnimLinearTranslation
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810B8EC
-
- thumb_func_start sub_810B974
-sub_810B974: @ 810B974
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, =gBattleAnimArgs
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0810B990
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80A6980
- b _0810B9C6
- .pool
-_0810B990:
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- adds r2, r4, 0
- adds r2, 0x20
- adds r3, r4, 0
- adds r3, 0x22
- movs r1, 0x1
- bl SetAverageBattlerPositions
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810B9B6
- ldrh r0, [r5]
- negs r0, r0
- strh r0, [r5]
-_0810B9B6:
- ldrh r0, [r5]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r5, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
-_0810B9C6:
- ldr r1, =sub_810B9E8
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =RunStoredCallbackWhenAffineAnimEnds
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810B974
-
- thumb_func_start sub_810B9E8
-sub_810B9E8: @ 810B9E8
- push {lr}
- adds r3, r0, 0
- movs r0, 0x3E
- adds r0, r3
- mov r12, r0
- ldrb r2, [r0]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- bne _0810BA1E
- adds r0, r3, 0
- bl DestroySpriteAndMatrix
-_0810BA1E:
- pop {r0}
- bx r0
- thumb_func_end sub_810B9E8
-
- thumb_func_start sub_810BA24
-sub_810BA24: @ 810BA24
- push {r4-r7,lr}
- sub sp, 0x10
- adds r5, r0, 0
- movs r1, 0x1
- bl InitAnimSpritePos
- ldr r6, =gBattleAnimArgs
- ldrh r0, [r6, 0x8]
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x20]
- strh r0, [r5, 0x30]
- ldrh r0, [r5, 0x22]
- strh r0, [r5, 0x34]
- movs r1, 0xA
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _0810BA74
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r6, [r6, 0x6]
- adds r0, r6
- strh r0, [r5, 0x36]
- b _0810BA86
- .pool
-_0810BA74:
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- adds r2, r5, 0
- adds r2, 0x32
- adds r3, r5, 0
- adds r3, 0x36
- movs r1, 0x1
- bl SetAverageBattlerPositions
-_0810BA86:
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810BAAC
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r5, 0x32]
- ldrh r0, [r0, 0x4]
- subs r1, r0
- strh r1, [r5, 0x32]
- b _0810BAB6
- .pool
-_0810BAAC:
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x4]
- ldrh r2, [r5, 0x32]
- adds r0, r2
- strh r0, [r5, 0x32]
-_0810BAB6:
- adds r7, r5, 0
- adds r7, 0x2E
- adds r2, r7, 0
- mov r1, sp
- movs r4, 0x7
-_0810BAC0:
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _0810BAC0
- adds r0, r5, 0
- bl sub_80A7160
- ldrh r0, [r5, 0x30]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r5, 0x30]
- ldrh r0, [r5, 0x32]
- eors r0, r1
- strh r0, [r5, 0x32]
-_0810BAE2:
- movs r0, 0x1
- strh r0, [r5, 0x2E]
- adds r0, r5, 0
- bl sub_80A70E8
- movs r0, 0x20
- ldrsh r1, [r5, r0]
- movs r2, 0x24
- ldrsh r0, [r5, r2]
- adds r1, r0
- adds r1, 0x10
- movs r0, 0x88
- lsls r0, 1
- cmp r1, r0
- bhi _0810BB16
- movs r0, 0x22
- ldrsh r1, [r5, r0]
- movs r2, 0x26
- ldrsh r0, [r5, r2]
- adds r1, r0
- cmp r1, 0xA0
- bgt _0810BB16
- movs r0, 0x10
- negs r0, r0
- cmp r1, r0
- bge _0810BAE2
-_0810BB16:
- ldrh r0, [r5, 0x24]
- ldrh r1, [r5, 0x20]
- adds r0, r1
- movs r1, 0
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x26]
- ldrh r2, [r5, 0x22]
- adds r0, r2
- strh r0, [r5, 0x22]
- strh r1, [r5, 0x26]
- strh r1, [r5, 0x24]
- ldr r6, =sub_80A718C
- ldr r1, =sub_810BB60
- mov r3, sp
- adds r2, r7, 0
- movs r4, 0x7
-_0810BB36:
- ldrh r0, [r3]
- strh r0, [r2]
- adds r3, 0x2
- adds r2, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _0810BB36
- str r6, [r5, 0x1C]
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810BA24
-
- thumb_func_start sub_810BB60
-sub_810BB60: @ 810BB60
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- movs r5, 0
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x26]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- strh r5, [r4, 0x26]
- strh r5, [r4, 0x24]
- movs r0, 0x80
- strh r0, [r4, 0x2E]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- ldr r1, =0x0000ffec
- cmp r0, 0
- beq _0810BB90
- movs r1, 0x14
-_0810BB90:
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- lsls r1, 16
- asrs r1, 16
- bl Sin
- strh r0, [r4, 0x34]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0xF
- bl Cos
- strh r0, [r4, 0x36]
- strh r5, [r4, 0x38]
- ldr r1, =sub_810BBC8
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810BB60
-
- thumb_func_start sub_810BBC8
-sub_810BBC8: @ 810BBC8
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- ldr r1, =0x0000ffec
- cmp r0, 0
- beq _0810BBDE
- movs r1, 0x14
-_0810BBDE:
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- cmp r0, 0x1F
- bgt _0810BC24
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- lsls r1, 16
- asrs r1, 16
- bl Sin
- ldrh r1, [r4, 0x34]
- subs r0, r1
- strh r0, [r4, 0x24]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0xF
- bl Cos
- ldrh r1, [r4, 0x36]
- subs r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x10
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- b _0810BC42
- .pool
-_0810BC24:
- ldrh r0, [r4, 0x24]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- movs r1, 0
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x26]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- strh r1, [r4, 0x26]
- strh r1, [r4, 0x24]
- strh r1, [r4, 0x36]
- strh r1, [r4, 0x34]
- ldr r0, =sub_810BC4C
- str r0, [r4, 0x1C]
-_0810BC42:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810BBC8
-
- thumb_func_start sub_810BC4C
-sub_810BC4C: @ 810BC4C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x1
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl sub_80A70E8
- movs r1, 0x20
- ldrsh r0, [r4, r1]
- movs r2, 0x24
- ldrsh r1, [r4, r2]
- adds r0, r1
- adds r0, 0x10
- movs r1, 0x88
- lsls r1, 1
- cmp r0, r1
- bhi _0810BC88
- movs r1, 0x22
- ldrsh r0, [r4, r1]
- movs r2, 0x26
- ldrsh r1, [r4, r2]
- adds r1, r0, r1
- movs r0, 0x80
- lsls r0, 1
- cmp r1, r0
- bgt _0810BC88
- movs r0, 0x10
- negs r0, r0
- cmp r1, r0
- bge _0810BC8E
-_0810BC88:
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810BC8E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810BC4C
-
- thumb_func_start sub_810BC94
-sub_810BC94: @ 810BC94
- push {r4-r7,lr}
- sub sp, 0x10
- adds r5, r0, 0
- movs r1, 0x1
- bl InitAnimSpritePos
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x8]
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x20]
- strh r0, [r5, 0x30]
- ldrh r0, [r5, 0x22]
- strh r0, [r5, 0x34]
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _0810BCE0
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x36]
- b _0810BCF2
- .pool
-_0810BCE0:
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- adds r2, r5, 0
- adds r2, 0x32
- adds r3, r5, 0
- adds r3, 0x36
- movs r1, 0x1
- bl SetAverageBattlerPositions
-_0810BCF2:
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810BD1C
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r5, 0x32]
- ldrh r2, [r0, 0x4]
- subs r1, r2
- strh r1, [r5, 0x32]
- adds r1, r0, 0
- b _0810BD26
- .pool
-_0810BD1C:
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- ldrh r2, [r5, 0x32]
- adds r0, r2
- strh r0, [r5, 0x32]
-_0810BD26:
- ldrh r0, [r1, 0x6]
- ldrh r1, [r5, 0x36]
- adds r0, r1
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- bl sub_80A7160
- adds r7, r5, 0
- adds r7, 0x2E
- adds r2, r7, 0
- mov r1, sp
- movs r4, 0x7
-_0810BD3E:
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _0810BD3E
- ldrh r0, [r5, 0x30]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r5, 0x30]
- ldrh r0, [r5, 0x32]
- eors r0, r1
- strh r0, [r5, 0x32]
-_0810BD5A:
- movs r0, 0x1
- strh r0, [r5, 0x2E]
- adds r0, r5, 0
- bl sub_80A70E8
- movs r2, 0x20
- ldrsh r1, [r5, r2]
- movs r2, 0x24
- ldrsh r0, [r5, r2]
- adds r1, r0
- adds r1, 0x10
- movs r0, 0x88
- lsls r0, 1
- cmp r1, r0
- bhi _0810BD8E
- movs r0, 0x22
- ldrsh r1, [r5, r0]
- movs r2, 0x26
- ldrsh r0, [r5, r2]
- adds r1, r0
- cmp r1, 0xA0
- bgt _0810BD8E
- movs r0, 0x10
- negs r0, r0
- cmp r1, r0
- bge _0810BD5A
-_0810BD8E:
- ldrh r0, [r5, 0x24]
- ldrh r1, [r5, 0x20]
- adds r0, r1
- movs r1, 0
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x26]
- ldrh r2, [r5, 0x22]
- adds r0, r2
- strh r0, [r5, 0x22]
- strh r1, [r5, 0x26]
- strh r1, [r5, 0x24]
- ldr r1, =gBattleAnimArgs
- ldr r6, =sub_810BDD8
- mov r3, sp
- adds r2, r7, 0
- movs r4, 0x7
-_0810BDAE:
- ldrh r0, [r3]
- strh r0, [r2]
- adds r3, 0x2
- adds r2, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _0810BDAE
- ldrh r0, [r1, 0xA]
- strh r0, [r5, 0x38]
- ldrh r0, [r1, 0xC]
- strh r0, [r5, 0x3A]
- str r6, [r5, 0x1C]
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810BC94
-
- thumb_func_start sub_810BDD8
-sub_810BDD8: @ 810BDD8
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80A70E8
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0810BDEC
- movs r0, 0x1
- strh r0, [r4, 0x2E]
-_0810BDEC:
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x3A]
- ldrh r2, [r4, 0x3C]
- adds r0, r2
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x3C]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _0810BE42
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- movs r2, 0x24
- ldrsh r1, [r4, r2]
- adds r0, r1
- adds r0, 0x10
- movs r1, 0x88
- lsls r1, 1
- cmp r0, r1
- bhi _0810BE3C
- movs r0, 0x22
- ldrsh r1, [r4, r0]
- movs r2, 0x26
- ldrsh r0, [r4, r2]
- adds r1, r0
- cmp r1, 0xA0
- bgt _0810BE3C
- movs r0, 0x10
- negs r0, r0
- cmp r1, r0
- bge _0810BE42
-_0810BE3C:
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810BE42:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810BDD8
-
- thumb_func_start sub_810BE48
-sub_810BE48: @ 810BE48
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0810BEB4
- ldr r5, =gBattleAnimArgs
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0810BE6C
- adds r0, r4, 0
- movs r1, 0
- bl sub_80A6980
- b _0810BEA2
- .pool
-_0810BE6C:
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- adds r2, r4, 0
- adds r2, 0x20
- adds r3, r4, 0
- adds r3, 0x22
- movs r1, 0
- bl SetAverageBattlerPositions
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810BE92
- ldrh r0, [r5]
- negs r0, r0
- strh r0, [r5]
-_0810BE92:
- ldrh r0, [r5]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r5, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
-_0810BEA2:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _0810BEC8
- .pool
-_0810BEB4:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0810BEC8
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810BEC8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_810BE48
-
- thumb_func_start sub_810BED0
-sub_810BED0: @ 810BED0
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, =gBattleAnimArgs
- movs r1, 0x8
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _0810BF40
- movs r1, 0xA
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _0810BEF4
- adds r0, r5, 0
- movs r1, 0
- bl InitAnimSpritePos
- b _0810BF32
- .pool
-_0810BEF4:
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- adds r2, r5, 0
- adds r2, 0x20
- adds r3, r5, 0
- adds r3, 0x22
- movs r1, 0
- bl SetAverageBattlerPositions
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810BF20
- ldrh r0, [r5, 0x20]
- ldrh r1, [r6]
- subs r0, r1
- b _0810BF26
- .pool
-_0810BF20:
- ldrh r0, [r6]
- ldrh r1, [r5, 0x20]
- adds r0, r1
-_0810BF26:
- strh r0, [r5, 0x20]
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x2]
- ldrh r1, [r5, 0x22]
- adds r0, r1
- strh r0, [r5, 0x22]
-_0810BF32:
- ldr r0, =gBattleAnimAttacker
- b _0810BF90
- .pool
-_0810BF40:
- movs r1, 0xA
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _0810BF52
- adds r0, r5, 0
- movs r1, 0
- bl sub_80A6980
- b _0810BF8E
-_0810BF52:
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- adds r2, r5, 0
- adds r2, 0x20
- adds r3, r5, 0
- adds r3, 0x22
- movs r1, 0
- bl SetAverageBattlerPositions
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810BF7C
- ldrh r0, [r5, 0x20]
- ldrh r1, [r6]
- subs r0, r1
- b _0810BF82
- .pool
-_0810BF7C:
- ldrh r0, [r6]
- ldrh r1, [r5, 0x20]
- adds r0, r1
-_0810BF82:
- strh r0, [r5, 0x20]
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x2]
- ldrh r1, [r5, 0x22]
- adds r0, r1
- strh r0, [r5, 0x22]
-_0810BF8E:
- ldr r0, =gBattleAnimTarget
-_0810BF90:
- ldrb r0, [r0]
- strh r0, [r5, 0x3C]
- ldr r0, =gBattleAnimArgs
- movs r1, 0xA
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _0810BFA8
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _0810BFB4
-_0810BFA8:
- movs r0, 0x20
- b _0810BFB6
- .pool
-_0810BFB4:
- movs r0, 0x40
-_0810BFB6:
- strh r0, [r5, 0x3A]
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0810BFCC
- ldrh r0, [r5, 0x22]
- adds r0, 0x8
- strh r0, [r5, 0x22]
-_0810BFCC:
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x6]
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x20]
- strh r0, [r5, 0x30]
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x22]
- strh r0, [r5, 0x34]
- ldrh r1, [r1, 0x4]
- adds r0, r1
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- bl InitAnimLinearTranslation
- movs r0, 0x40
- strh r0, [r5, 0x38]
- ldr r1, =sub_810C008
- str r1, [r5, 0x1C]
- adds r0, r5, 0
- bl _call_via_r1
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810BED0
-
- thumb_func_start sub_810C008
-sub_810C008: @ 810C008
- push {r4,lr}
- adds r4, r0, 0
- bl TranslateAnimLinear
- lsls r0, 24
- cmp r0, 0
- bne _0810C092
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r2, 0x3A
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- movs r1, 0x6
- negs r1, r1
- bl Cos
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x38]
- subs r0, 0x40
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x7F
- bhi _0810C064
- ldrh r0, [r4, 0x3C]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A8328
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x5]
- b _0810C086
-_0810C064:
- ldrh r0, [r4, 0x3C]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A8328
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- lsls r0, 2
- ldrb r2, [r4, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0x5]
-_0810C086:
- ldrh r0, [r4, 0x38]
- adds r0, 0x3
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- b _0810C098
-_0810C092:
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810C098:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810C008
-
- thumb_func_start sub_810C0A0
-sub_810C0A0: @ 810C0A0
- push {r4,r5,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =0x00003f42
- movs r0, 0x50
- bl SetGpuReg
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0x1
- movs r1, 0x4
- movs r2, 0x1
- bl SetAnimBgAttribute
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl SetAnimBgAttribute
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0810C0E2
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0x1
- bl SetAnimBgAttribute
-_0810C0E2:
- ldr r0, =gBattle_BG1_X
- movs r1, 0
- strh r1, [r0]
- ldr r4, =gBattle_BG1_Y
- strh r1, [r4]
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- ldrh r1, [r4]
- movs r0, 0x16
- bl SetGpuReg
- mov r0, sp
- bl sub_80A6B30
- mov r0, sp
- ldrb r0, [r0, 0x9]
- ldr r1, =gWeatherFog1Tiles
- movs r2, 0x80
- lsls r2, 4
- mov r3, sp
- ldrh r3, [r3, 0xA]
- bl LoadBgTiles
- ldr r1, =gBattleAnimFogTilemap
- mov r0, sp
- movs r2, 0
- bl sub_80A6D60
- ldr r0, =gUnknown_083970E8
- mov r1, sp
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- movs r2, 0x20
- bl LoadPalette
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_810C164
- str r1, [r0]
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810C0A0
-
- thumb_func_start sub_810C164
-sub_810C164: @ 810C164
- push {r4,r5,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gBattle_BG1_X
- ldr r2, =0x0000ffff
- adds r0, r2, 0
- ldrh r2, [r1]
- adds r0, r2
- strh r0, [r1]
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r2, 0x20
- ldrsh r0, [r0, r2]
- adds r2, r1, 0
- cmp r0, 0x4
- bls _0810C18E
- b _0810C2DA
-_0810C18E:
- lsls r0, 2
- ldr r1, =_0810C1A8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0810C1A8:
- .4byte _0810C1BC
- .4byte _0810C214
- .4byte _0810C236
- .4byte _0810C27A
- .4byte _0810C29C
-_0810C1BC:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r4, r0, r2
- ldrh r0, [r4, 0x1C]
- adds r0, 0x1
- movs r5, 0
- strh r0, [r4, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- beq _0810C1D6
- b _0810C2DA
-_0810C1D6:
- strh r5, [r4, 0x1C]
- ldrh r0, [r4, 0x1A]
- adds r0, 0x1
- strh r0, [r4, 0x1A]
- ldr r1, =gUnknown_08595C5C
- movs r2, 0x1A
- ldrsh r0, [r4, r2]
- adds r0, r1
- ldrb r1, [r0]
- strh r1, [r4, 0x1E]
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r0, 0x9
- bne _0810C2DA
- ldrh r0, [r4, 0x20]
- adds r0, 0x1
- strh r0, [r4, 0x20]
- strh r5, [r4, 0x1E]
- b _0810C2DA
- .pool
-_0810C214:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r2
- ldrh r0, [r1, 0x1E]
- adds r0, 0x1
- strh r0, [r1, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x51
- bne _0810C2DA
- movs r0, 0x9
- strh r0, [r1, 0x1E]
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- strh r0, [r1, 0x20]
- b _0810C2DA
-_0810C236:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r4, r0, r2
- ldrh r0, [r4, 0x1C]
- adds r0, 0x1
- strh r0, [r4, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bne _0810C2DA
- movs r0, 0
- strh r0, [r4, 0x1C]
- ldrh r1, [r4, 0x1E]
- subs r1, 0x1
- strh r1, [r4, 0x1E]
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r2, 0x1E
- ldrsh r1, [r4, r2]
- cmp r1, 0
- bne _0810C2DA
- ldrh r0, [r4, 0x20]
- adds r0, 0x1
- strh r0, [r4, 0x20]
- strh r1, [r4, 0x1E]
- b _0810C2DA
-_0810C27A:
- mov r0, sp
- bl sub_80A6B30
- movs r0, 0x1
- bl sub_80A6C68
- movs r0, 0x2
- bl sub_80A6C68
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- strh r0, [r1, 0x20]
-_0810C29C:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0810C2B0
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0
- bl SetAnimBgAttribute
-_0810C2B0:
- ldr r0, =gBattle_BG1_X
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gBattle_BG1_Y
- strh r1, [r0]
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1
- movs r1, 0x4
- movs r2, 0x1
- bl SetAnimBgAttribute
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_0810C2DA:
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810C164
-
- thumb_func_start sub_810C2F0
-sub_810C2F0: @ 810C2F0
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, =gBattleAnimAttacker
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x20]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x22]
- ldr r0, =TranslateAnimSpriteToTargetMonLocation
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810C2F0
-
- thumb_func_start sub_810C324
-sub_810C324: @ 810C324
- push {r4,r5,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =0x00003f42
- movs r0, 0x50
- bl SetGpuReg
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0x1
- movs r1, 0x4
- movs r2, 0x1
- bl SetAnimBgAttribute
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl SetAnimBgAttribute
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0810C366
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0x1
- bl SetAnimBgAttribute
-_0810C366:
- ldr r0, =gBattle_BG1_X
- movs r1, 0
- strh r1, [r0]
- ldr r4, =gBattle_BG1_Y
- strh r1, [r4]
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- ldrh r1, [r4]
- movs r0, 0x16
- bl SetGpuReg
- mov r0, sp
- bl sub_80A6B30
- mov r0, sp
- ldrb r0, [r0, 0x9]
- ldr r1, =gWeatherFog1Tiles
- movs r2, 0x80
- lsls r2, 4
- mov r3, sp
- ldrh r3, [r3, 0xA]
- bl LoadBgTiles
- ldr r1, =gBattleAnimFogTilemap
- mov r0, sp
- movs r2, 0
- bl sub_80A6D60
- ldr r0, =gUnknown_083970E8
- mov r1, sp
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- movs r2, 0x20
- bl LoadPalette
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =0x0000ffff
- strh r1, [r0, 0x26]
- ldr r1, =sub_810C3F0
- str r1, [r0]
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810C324
-
- thumb_func_start sub_810C3F0
-sub_810C3F0: @ 810C3F0
- push {r4,r5,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r2, =gBattle_BG1_X
- ldr r3, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r3
- ldrh r0, [r1, 0x26]
- ldrh r5, [r2]
- adds r0, r5
- strh r0, [r2]
- movs r2, 0x20
- ldrsh r0, [r1, r2]
- cmp r0, 0x4
- bls _0810C416
- b _0810C54A
-_0810C416:
- lsls r0, 2
- ldr r1, =_0810C42C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0810C42C:
- .4byte _0810C440
- .4byte _0810C484
- .4byte _0810C4A6
- .4byte _0810C4EA
- .4byte _0810C50C
-_0810C440:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r4, r0, r3
- ldrh r0, [r4, 0x1A]
- adds r0, 0x1
- strh r0, [r4, 0x1A]
- ldr r1, =gUnknown_08595C88
- movs r5, 0x1A
- ldrsh r0, [r4, r5]
- adds r0, r1
- ldrb r1, [r0]
- strh r1, [r4, 0x1E]
- movs r0, 0x11
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r0, 0x5
- bne _0810C54A
- ldrh r0, [r4, 0x20]
- adds r0, 0x1
- strh r0, [r4, 0x20]
- movs r0, 0
- strh r0, [r4, 0x1E]
- b _0810C54A
- .pool
-_0810C484:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r3
- ldrh r0, [r1, 0x1E]
- adds r0, 0x1
- strh r0, [r1, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x51
- bne _0810C54A
- movs r0, 0x5
- strh r0, [r1, 0x1E]
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- strh r0, [r1, 0x20]
- b _0810C54A
-_0810C4A6:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r4, r0, r3
- ldrh r0, [r4, 0x1C]
- adds r0, 0x1
- strh r0, [r4, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bne _0810C54A
- movs r0, 0
- strh r0, [r4, 0x1C]
- ldrh r1, [r4, 0x1E]
- subs r1, 0x1
- strh r1, [r4, 0x1E]
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r2, 0x1E
- ldrsh r1, [r4, r2]
- cmp r1, 0
- bne _0810C54A
- ldrh r0, [r4, 0x20]
- adds r0, 0x1
- strh r0, [r4, 0x20]
- strh r1, [r4, 0x1E]
- b _0810C54A
-_0810C4EA:
- mov r0, sp
- bl sub_80A6B30
- movs r0, 0x1
- bl sub_80A6C68
- movs r0, 0x2
- bl sub_80A6C68
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- strh r0, [r1, 0x20]
-_0810C50C:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0810C520
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0
- bl SetAnimBgAttribute
-_0810C520:
- ldr r0, =gBattle_BG1_X
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gBattle_BG1_Y
- strh r1, [r0]
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1
- movs r1, 0x4
- movs r2, 0x1
- bl SetAnimBgAttribute
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_0810C54A:
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810C3F0
-
- thumb_func_start sub_810C560
-sub_810C560: @ 810C560
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- ldr r6, =gBattleAnimArgs
- ldrh r0, [r6]
- strh r0, [r5, 0x2E]
- ldr r0, =gBattleAnimAttacker
- mov r8, r0
- ldrb r0, [r0]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- adds r4, r0, 0
- ldr r7, =gBattleAnimTarget
- ldrb r0, [r7]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bcs _0810C594
- movs r0, 0x80
- lsls r0, 8
- strh r0, [r5, 0x3C]
-_0810C594:
- ldr r3, =gBattlerPositions
- ldrb r0, [r7]
- adds r0, r3
- ldrb r1, [r0]
- movs r2, 0x1
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _0810C5F4
- ldrh r0, [r6, 0x2]
- negs r0, r0
- strh r0, [r6, 0x2]
- ldrh r0, [r6, 0x6]
- negs r0, r0
- strh r0, [r6, 0x6]
- movs r1, 0x3C
- ldrsh r0, [r5, r1]
- movs r1, 0x80
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- beq _0810C5F0
- mov r1, r8
- ldrb r0, [r1]
- adds r0, r3
- ldrb r1, [r0]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _0810C5F0
- movs r0, 0x1
- bl GetAnimBattlerSpriteId
- ldr r2, =gSprites
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x43
- ldrb r0, [r1]
- adds r0, 0x1
- adds r1, r5, 0
- adds r1, 0x43
- strb r0, [r1]
-_0810C5F0:
- movs r0, 0x1
- strh r0, [r5, 0x3A]
-_0810C5F4:
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldr r6, =gBattleAnimArgs
- movs r1, 0xE
- ldrsh r0, [r6, r1]
- cmp r0, 0
- beq _0810C65C
- ldrh r0, [r6, 0x2]
- ldrh r1, [r5, 0x20]
- adds r0, r1
- strh r0, [r5, 0x30]
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x6]
- adds r0, r1
- strh r0, [r5, 0x32]
- ldrh r0, [r6, 0x4]
- ldrh r1, [r5, 0x22]
- adds r0, r1
- strh r0, [r5, 0x34]
- ldrb r0, [r4]
- movs r1, 0x3
- b _0810C684
- .pool
-_0810C65C:
- ldrh r0, [r6, 0x2]
- ldrh r1, [r5, 0x20]
- adds r0, r1
- strh r0, [r5, 0x30]
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x6]
- adds r0, r1
- strh r0, [r5, 0x32]
- ldrh r0, [r6, 0x4]
- ldrh r1, [r5, 0x22]
- adds r0, r1
- strh r0, [r5, 0x34]
- ldrb r0, [r4]
- movs r1, 0x1
-_0810C684:
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r6, [r6, 0x8]
- adds r0, r6
- strh r0, [r5, 0x36]
- ldrb r0, [r4]
- bl sub_80A8328
- lsls r0, 24
- lsrs r0, 16
- ldrh r1, [r5, 0x3C]
- orrs r0, r1
- strh r0, [r5, 0x3C]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _0810C6B8
- movs r0, 0x1
- strh r0, [r5, 0x3A]
- adds r1, r5, 0
- adds r1, 0x43
- movs r0, 0x80
- strb r0, [r1]
-_0810C6B8:
- adds r0, r5, 0
- bl InitAnimLinearTranslation
- ldr r0, =sub_810C6D4
- str r0, [r5, 0x1C]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810C560
-
- thumb_func_start sub_810C6D4
-sub_810C6D4: @ 810C6D4
- push {r4-r6,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x3C]
- movs r5, 0xFF
- movs r1, 0xFF
- ands r1, r0
- cmp r1, 0x1
- beq _0810C7BC
- cmp r1, 0x1
- bgt _0810C6EE
- cmp r1, 0
- beq _0810C6F6
- b _0810C90C
-_0810C6EE:
- cmp r1, 0x2
- bne _0810C6F4
- b _0810C8D0
-_0810C6F4:
- b _0810C90C
-_0810C6F6:
- adds r0, r4, 0
- bl TranslateAnimLinear
- ldr r1, =gSineTable
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- asrs r0, 4
- ldrh r2, [r4, 0x24]
- adds r0, r2
- strh r0, [r4, 0x24]
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0810C724
- ldrh r0, [r4, 0x38]
- subs r0, 0x8
- b _0810C728
- .pool
-_0810C724:
- ldrh r0, [r4, 0x38]
- adds r0, 0x8
-_0810C728:
- ands r0, r5
- strh r0, [r4, 0x38]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _0810C736
- b _0810C90C
-_0810C736:
- movs r5, 0x50
- strh r5, [r4, 0x2E]
- ldr r6, =gBattleAnimTarget
- ldrb r0, [r6]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x26]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- adds r0, 0x1D
- strh r0, [r4, 0x36]
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0810C78C
- ldr r1, =gBattlerPositions
- ldrb r0, [r6]
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0810C78C
- movs r0, 0xCC
- strh r0, [r4, 0x38]
- b _0810C78E
- .pool
-_0810C78C:
- strh r5, [r4, 0x38]
-_0810C78E:
- movs r0, 0
- strh r0, [r4, 0x26]
- ldr r1, =gSineTable
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- asrs r0, 3
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x38]
- adds r0, 0x2
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- adds r0, r4, 0
- bl InitAnimLinearTranslation
- b _0810C90C
- .pool
-_0810C7BC:
- adds r0, r4, 0
- bl TranslateAnimLinear
- ldr r1, =gSineTable
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- asrs r0, 3
- ldrh r2, [r4, 0x24]
- adds r0, r2
- strh r0, [r4, 0x24]
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- adds r0, 0x40
- lsls r0, 1
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- lsls r0, r1, 1
- adds r0, r1
- negs r0, r0
- asrs r0, 8
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0810C83A
- ldrh r1, [r4, 0x38]
- adds r0, r1, 0
- subs r0, 0x40
- lsls r0, 16
- lsrs r0, 16
- adds r3, r1, 0
- cmp r0, 0x7F
- bhi _0810C81C
- ldrh r1, [r4, 0x3C]
- lsls r1, 16
- asrs r1, 24
- b _0810C824
- .pool
-_0810C81C:
- ldrh r1, [r4, 0x3C]
- lsls r1, 16
- asrs r1, 24
- adds r1, 0x1
-_0810C824:
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x5]
- adds r0, r3, 0x4
- b _0810C85A
-_0810C83A:
- ldrh r0, [r4, 0x38]
- subs r0, 0x40
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x7F
- bhi _0810C84E
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0x80
- b _0810C854
-_0810C84E:
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0x8C
-_0810C854:
- strb r0, [r1]
- ldrh r0, [r4, 0x38]
- subs r0, 0x4
-_0810C85A:
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bgt _0810C90C
- movs r5, 0
- movs r0, 0xC0
- lsls r0, 2
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x26]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- adds r0, 0x4
- strh r0, [r4, 0x36]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0810C8B4
- ldr r1, =gBattlerPositions
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0810C8B4
- movs r0, 0x80
- lsls r0, 1
- b _0810C8B6
- .pool
-_0810C8B4:
- ldr r0, =0x0000fff0
-_0810C8B6:
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r4, 0x3C]
- strh r1, [r4, 0x26]
- strh r1, [r4, 0x24]
- adds r0, r4, 0
- bl sub_80A6FD4
- b _0810C90C
- .pool
-_0810C8D0:
- adds r0, r4, 0
- bl TranslateAnimLinear
- lsls r0, 24
- cmp r0, 0
- beq _0810C90C
- ldrb r0, [r4, 0x1]
- lsls r0, 30
- lsrs r0, 30
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0810C8FE
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x1]
-_0810C8FE:
- adds r0, r4, 0
- bl DestroySprite
- ldr r1, =gAnimVisualTaskCount
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
-_0810C90C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810C6D4
-
- thumb_func_start sub_810C918
-sub_810C918: @ 810C918
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r1, r0
- ldr r0, =sub_810C934
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_810C918
-
- thumb_func_start sub_810C934
-sub_810C934: @ 810C934
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r5, [r4, r0]
- cmp r5, 0x1
- beq _0810C978
- cmp r5, 0x1
- bgt _0810C95C
- cmp r5, 0
- beq _0810C962
- b _0810C9DC
- .pool
-_0810C95C:
- cmp r5, 0x2
- beq _0810C9CE
- b _0810C9DC
-_0810C962:
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _0810C9DC
- strh r5, [r4, 0x10]
- strh r5, [r4, 0x12]
- strh r5, [r4, 0xC]
- b _0810C9B4
-_0810C978:
- ldrh r1, [r4, 0x12]
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r0, 0
- bne _0810C9C8
- ldrb r0, [r4, 0xE]
- ldrb r1, [r4, 0xC]
- movs r3, 0x1
- bl sub_810C9E4
- lsls r0, 24
- cmp r0, 0
- beq _0810C998
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
-_0810C998:
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- bne _0810C9C4
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _0810C9BC
-_0810C9B4:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _0810C9DC
-_0810C9BC:
- ldrh r0, [r4, 0x8]
- subs r0, 0x1
- strh r0, [r4, 0x8]
- b _0810C9DC
-_0810C9C4:
- strh r5, [r4, 0x12]
- b _0810C9DC
-_0810C9C8:
- subs r0, r1, 0x1
- strh r0, [r4, 0x12]
- b _0810C9DC
-_0810C9CE:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0810C9DC
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_0810C9DC:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_810C934
-
- thumb_func_start sub_810C9E4
-sub_810C9E4: @ 810C9E4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp]
- lsls r3, 24
- lsrs r3, 24
- mov r10, r3
- movs r1, 0
- str r1, [sp, 0x4]
- ldr r1, =gUnknown_08595CB4
- lsrs r0, 22
- adds r4, r0, r1
- ldrb r0, [r4, 0x3]
- lsls r0, 24
- asrs r0, 28
- mov r8, r0
- cmp r0, 0x2
- beq _0810CAD0
- ldrh r0, [r4, 0x2]
- lsls r0, 20
- lsrs r0, 24
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _0810CAD0
- movs r0, 0x1
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r5, 0
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r6, r0, 24
- mov r1, r8
- cmp r1, 0
- beq _0810CA60
- cmp r1, 0x1
- beq _0810CA96
- b _0810CAE2
- .pool
-_0810CA60:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80A861C
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x6
- bl __divsi3
- lsls r1, r7, 16
- asrs r1, 16
- subs r1, r0
- lsls r1, 16
- lsrs r7, r1, 16
- adds r0, r5, 0
- movs r1, 0
- bl sub_80A861C
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x6
- bl __divsi3
- lsls r1, r6, 16
- asrs r1, 16
- subs r1, r0
- b _0810CACA
-_0810CA96:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80A861C
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x6
- bl __divsi3
- lsls r1, r7, 16
- asrs r1, 16
- adds r1, r0
- lsls r1, 16
- lsrs r7, r1, 16
- adds r0, r5, 0
- movs r1, 0
- bl sub_80A861C
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x6
- bl __divsi3
- lsls r1, r6, 16
- asrs r1, 16
- adds r1, r0
-_0810CACA:
- lsls r1, 16
- lsrs r6, r1, 16
- b _0810CAE2
-_0810CAD0:
- ldrh r0, [r4]
- lsls r0, 22
- asrs r0, 6
- lsrs r7, r0, 16
- ldr r0, [r4]
- lsls r0, 12
- asrs r0, 22
- lsls r0, 16
- lsrs r6, r0, 16
-_0810CAE2:
- lsls r0, r6, 16
- asrs r0, 16
- adds r0, 0x8
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- lsls r1, r7, 16
- asrs r1, 16
- subs r1, r0
- ldr r0, =gUnknown_08595D2C
- lsls r1, 16
- asrs r1, 16
- movs r2, 0x8
- negs r2, r2
- movs r3, 0x12
- bl CreateSprite
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x40
- beq _0810CB44
- lsls r4, r5, 4
- adds r4, r5
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- adds r0, r4, 0
- mov r1, r9
- bl StartSpriteAffineAnim
- mov r0, sp
- ldrh r0, [r0, 0x4]
- strh r0, [r4, 0x2E]
- strh r7, [r4, 0x34]
- strh r6, [r4, 0x36]
- mov r1, r9
- strh r1, [r4, 0x38]
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r4, 0x3A]
- mov r1, r10
- strh r1, [r4, 0x3C]
- movs r0, 0x1
- b _0810CB46
- .pool
-_0810CB44:
- movs r0, 0
-_0810CB46:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_810C9E4
-
- thumb_func_start sub_810CB58
-sub_810CB58: @ 810CB58
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x20]
- adds r0, 0x4
- strh r0, [r4, 0x20]
- ldrh r1, [r4, 0x22]
- adds r2, r1, 0
- adds r2, 0x8
- strh r2, [r4, 0x22]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x34
- ldrsh r1, [r4, r3]
- cmp r0, r1
- bge _0810CB82
- lsls r0, r2, 16
- asrs r0, 16
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- cmp r0, r1
- blt _0810CC32
-_0810CB82:
- movs r3, 0x2E
- ldrsh r0, [r4, r3]
- cmp r0, 0x1
- bne _0810CC04
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0810CC04
- ldr r0, =gUnknown_08595B68
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- movs r3, 0x36
- ldrsh r2, [r4, r3]
- adds r3, r4, 0
- adds r3, 0x43
- ldrb r3, [r3]
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x2E]
- cmp r0, 0x40
- beq _0810CBE6
- ldr r2, =gSprites
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r2, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_810CC3C
- str r1, [r0]
- movs r3, 0x2E
- ldrsh r1, [r4, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r4, 0x3A]
- strh r1, [r0, 0x3A]
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r4, 0x3C]
- strh r1, [r0, 0x3C]
-_0810CBE6:
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- adds r0, r4, 0
- bl DestroySprite
- b _0810CC32
- .pool
-_0810CC04:
- ldr r3, =gTasks
- movs r2, 0x3C
- ldrsh r1, [r4, r2]
- lsls r1, 1
- movs r0, 0x3A
- ldrsh r2, [r4, r0]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r3, 0x8
- adds r1, r3
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- adds r0, r4, 0
- bl DestroySprite
-_0810CC32:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810CB58
-
- thumb_func_start sub_810CC3C
-sub_810CC3C: @ 810CC3C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- bne _0810CC7C
- ldr r3, =gTasks
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- lsls r1, 1
- movs r0, 0x3A
- ldrsh r2, [r4, r0]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r3, 0x8
- adds r1, r3
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- adds r0, r4, 0
- bl DestroySprite
-_0810CC7C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810CC3C
-
- thumb_func_start unc_080B06FC
-unc_080B06FC: @ 810CC88
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r0, =gAnimDisableStructPtr
- ldr r0, [r0]
- ldrb r1, [r0, 0x11]
- lsrs r0, r1, 4
- lsls r1, 28
- lsrs r1, 28
- subs r0, r1
- subs r0, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x4
- bls _0810CCA6
- movs r1, 0x4
-_0810CCA6:
- adds r0, r5, 0
- bl StartSpriteAffineAnim
- adds r0, r5, 0
- movs r1, 0x1
- bl InitAnimSpritePos
- ldr r6, =gBattleAnimArgs
- ldrh r0, [r6, 0x8]
- strh r0, [r5, 0x2E]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810CCCE
- ldrh r0, [r6, 0x4]
- negs r0, r0
- strh r0, [r6, 0x4]
-_0810CCCE:
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x4]
- adds r0, r1
- strh r0, [r5, 0x32]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x6]
- adds r0, r1
- strh r0, [r5, 0x36]
- ldrh r0, [r6, 0xA]
- strh r0, [r5, 0x38]
- adds r0, r5, 0
- bl InitAnimArcTranslation
- ldr r0, =sub_810CD1C
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end unc_080B06FC
-
- thumb_func_start sub_810CD1C
-sub_810CD1C: @ 810CD1C
- push {r4,lr}
- adds r4, r0, 0
- bl TranslateAnimArc
- lsls r0, 24
- cmp r0, 0
- beq _0810CD3E
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r0, =RunStoredCallbackWhenAnimEnds
- str r0, [r4, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
-_0810CD3E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810CD1C
-
- thumb_func_start sub_810CD4C
-sub_810CD4C: @ 810CD4C
- push {r4-r6,lr}
- adds r4, r0, 0
- ldrh r2, [r4, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- adds r1, 0x8
- ldr r3, =0x000003ff
- adds r0, r3, 0
- ands r1, r0
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r4, 0x4]
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80A6980
- bl Random2
- movs r5, 0xFF
- ands r5, r0
- movs r0, 0x80
- lsls r0, 1
- adds r6, r0, 0
- orrs r5, r6
- bl Random2
- ldr r1, =0x000001ff
- ands r1, r0
- adds r0, r1, 0
- cmp r0, 0xFF
- ble _0810CD92
- subs r0, r6, r0
- lsls r0, 16
- lsrs r1, r0, 16
-_0810CD92:
- strh r5, [r4, 0x30]
- strh r1, [r4, 0x32]
- ldr r0, =sub_810CDB0
- str r0, [r4, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810CD4C
-
- thumb_func_start sub_810CDB0
-sub_810CDB0: @ 810CDB0
- push {r4,lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x30]
- ldrh r1, [r2, 0x34]
- adds r3, r0, r1
- strh r3, [r2, 0x34]
- ldrh r1, [r2, 0x32]
- ldrh r4, [r2, 0x36]
- adds r1, r4
- strh r1, [r2, 0x36]
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _0810CDD4
- lsls r0, r3, 16
- asrs r0, 24
- negs r0, r0
- b _0810CDD8
-_0810CDD4:
- lsls r0, r3, 16
- asrs r0, 24
-_0810CDD8:
- strh r0, [r2, 0x24]
- ldrh r0, [r2, 0x36]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r2, 0x26]
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x15
- bne _0810CDF6
- adds r0, r2, 0
- bl DestroyAnimSprite
-_0810CDF6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810CDB0
-
- thumb_func_start AnimTask_GetRolloutCounter
-AnimTask_GetRolloutCounter: @ 810CDFC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gBattleAnimArgs
- ldrb r3, [r1]
- lsls r3, 1
- adds r3, r1
- ldr r1, =gAnimDisableStructPtr
- ldr r1, [r1]
- ldrb r1, [r1, 0x11]
- lsrs r2, r1, 4
- lsls r1, 28
- lsrs r1, 28
- subs r2, r1
- subs r2, 0x1
- strh r2, [r3]
- bl DestroyAnimVisualTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end AnimTask_GetRolloutCounter
-
- .align 2, 0
diff --git a/asm/macros/event.inc b/asm/macros/event.inc
index c815f3753..ba851d70a 100644
--- a/asm/macros/event.inc
+++ b/asm/macros/event.inc
@@ -1557,17 +1557,81 @@
@ Supplementary
- .macro goto_eq dest:req
+ .macro goto_if_unset flag:req, dest:req
+ checkflag \flag
+ goto_if 0, \dest
+ .endm
+
+ .macro goto_if_set flag:req, dest:req
+ checkflag \flag
+ goto_if 1, \dest
+ .endm
+
+ .macro goto_if_lt dest:req @ LESS THAN
+ goto_if 0, \dest
+ .endm
+
+ .macro goto_if_eq dest:req @ EQUAL
goto_if 1, \dest
.endm
+ .macro goto_if_gt dest:req @ GREATER THAN
+ goto_if 2, \dest
+ .endm
+
+ .macro goto_if_le dest:req @ LESS THAN OR EQUAL
+ goto_if 3, \dest
+ .endm
+
+ .macro goto_if_ge dest:req @ GREATER THAN OR EQUAL
+ goto_if 4, \dest
+ .endm
+
+ .macro goto_if_ne dest:req @ NOT EQUAL
+ goto_if 5, \dest
+ .endm
+
+ .macro call_if_unset flag:req, dest:req
+ checkflag \flag
+ call_if 0, \dest
+ .endm
+
+ .macro call_if_set flag:req, dest:req
+ checkflag \flag
+ call_if 1, \dest
+ .endm
+
+ .macro call_if_lt dest:req @ LESS THAN
+ call_if 0, \dest
+ .endm
+
+ .macro call_if_eq dest:req @ EQUAL
+ call_if 1, \dest
+ .endm
+
+ .macro call_if_gt dest:req @ GREATER THAN
+ call_if 2, \dest
+ .endm
+
+ .macro call_if_le dest:req @ LESS THAN OR EQUAL
+ call_if 3, \dest
+ .endm
+
+ .macro call_if_ge dest:req @ GREATER THAN OR EQUAL
+ call_if 4, \dest
+ .endm
+
+ .macro call_if_ne dest:req @ NOT EQUAL
+ call_if 5, \dest
+ .endm
+
.macro switch var:req
copyvar 0x8000, \var
.endm
.macro case condition:req, dest:req
compare 0x8000, \condition
- goto_eq \dest
+ goto_if_eq \dest
.endm
@ Message box types
diff --git a/asm/macros/map.inc b/asm/macros/map.inc
index 9a028b2e5..94caeb697 100644
--- a/asm/macros/map.inc
+++ b/asm/macros/map.inc
@@ -14,7 +14,7 @@
.4byte \address
.endm
- .macro object_event index, gfx, replacement, x, y, elevation, movement_type, x_radius, y_radius, trainer_type, sight_radius_tree_etc, script, event_flag
+ .macro object_event index:req, gfx:req, replacement:req, x:req, y:req, elevation:req, movement_type:req, x_radius:req, y_radius:req, trainer_type:req, sight_radius_tree_etc:req, script:req, event_flag:req
.byte \index, \gfx, \replacement, 0
.2byte \x
.2byte \y
diff --git a/asm/party_menu.s b/asm/party_menu.s
deleted file mode 100644
index bbb36b109..000000000
--- a/asm/party_menu.s
+++ /dev/null
@@ -1,18014 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_81B0038
-sub_81B0038: @ 81B0038
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r4, [sp, 0x24]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp]
- lsls r4, 24
- lsrs r6, r4, 24
- bl reset_brm
- ldr r0, =gUnknown_0203CEC4
- mov r10, r0
- movs r0, 0x8E
- lsls r0, 2
- bl Alloc
- adds r5, r0, 0
- mov r1, r10
- str r5, [r1]
- cmp r5, 0
- bne _081B0088
- ldr r0, [sp, 0x2C]
- bl SetMainCallback2
- b _081B0194
- .pool
-_081B0088:
- ldr r3, =gUnknown_0203CEC8
- movs r1, 0xF
- mov r4, r8
- ands r1, r4
- ldrb r2, [r3, 0x8]
- movs r0, 0x10
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x8]
- ldr r0, [sp, 0x2C]
- str r0, [r3]
- movs r4, 0
- strb r7, [r3, 0xB]
- lsls r2, r6, 2
- ldrh r1, [r5, 0xA]
- movs r0, 0x3
- ands r0, r1
- orrs r0, r2
- strh r0, [r5, 0xA]
- ldr r0, [sp, 0x28]
- str r0, [r5]
- str r4, [r5, 0x4]
- ldrb r1, [r5, 0x8]
- movs r0, 0xF
- negs r0, r0
- ands r0, r1
- strb r0, [r5, 0x8]
- mov r1, r10
- ldr r2, [r1]
- ldrh r0, [r2, 0x8]
- movs r4, 0xFE
- lsls r4, 3
- adds r1, r4, 0
- orrs r0, r1
- strh r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r1, 0xFE
- lsls r1, 10
- orrs r0, r1
- str r0, [r2, 0x8]
- adds r6, r3, 0
- mov r5, r8
- cmp r5, 0x4
- bne _081B00F0
- ldrb r0, [r2, 0x8]
- movs r1, 0x1
- orrs r0, r1
- b _081B00F8
- .pool
-_081B00F0:
- ldrb r1, [r2, 0x8]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
-_081B00F8:
- strb r0, [r2, 0x8]
- mov r0, r9
- cmp r0, 0xFF
- beq _081B0114
- movs r0, 0x3
- mov r1, r9
- ands r0, r1
- lsls r0, 4
- ldrb r2, [r6, 0x8]
- movs r1, 0x31
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r6, 0x8]
-_081B0114:
- movs r2, 0
- ldr r5, =gUnknown_0203CEC4
- movs r4, 0x86
- lsls r4, 2
- movs r3, 0
-_081B011E:
- ldr r0, [r5]
- lsls r1, r2, 1
- adds r0, r4
- adds r0, r1
- strh r3, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0xF
- bls _081B011E
- movs r2, 0
- ldr r4, =gUnknown_0203CEC4
- movs r3, 0xFF
-_081B0138:
- ldr r0, [r4]
- adds r0, 0xC
- adds r0, r2
- ldrb r1, [r0]
- orrs r1, r3
- strb r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x2
- bls _081B0138
- ldr r4, [sp]
- cmp r4, 0
- bne _081B015C
- strb r4, [r6, 0x9]
- b _081B017E
- .pool
-_081B015C:
- adds r1, r6, 0
- movs r0, 0x9
- ldrsb r0, [r1, r0]
- cmp r0, 0x5
- bgt _081B017A
- adds r1, r0, 0
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- bne _081B017E
-_081B017A:
- movs r0, 0
- strb r0, [r6, 0x9]
-_081B017E:
- ldr r2, =gTextFlags
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- bl CalculatePlayerPartyCount
- ldr r0, =c2_811EBD0
- bl SetMainCallback2
-_081B0194:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B0038
-
- thumb_func_start sub_81B01B0
-sub_81B01B0: @ 81B01B0
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl do_scheduled_bg_tilemap_copies_to_vram
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_81B01B0
-
- thumb_func_start sub_81B01CC
-sub_81B01CC: @ 81B01CC
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_81B01CC
-
- thumb_func_start c2_811EBD0
-c2_811EBD0: @ 81B01E0
- push {lr}
-_081B01E2:
- bl sub_81221EC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B0206
- bl sub_81B020C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B0206
- bl sub_81221AC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B01E2
-_081B0206:
- pop {r0}
- bx r0
- thumb_func_end c2_811EBD0
-
- thumb_func_start sub_81B020C
-sub_81B020C: @ 81B020C
- push {r4,lr}
- sub sp, 0x4
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x16
- bls _081B0222
- b _081B0498
-_081B0222:
- lsls r0, 2
- ldr r1, =_081B0234
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081B0234:
- .4byte _081B0290
- .4byte _081B02AC
- .4byte _081B02B2
- .4byte _081B02D4
- .4byte _081B02DA
- .4byte _081B02EC
- .4byte _081B02FE
- .4byte _081B0310
- .4byte _081B0338
- .4byte _081B0354
- .4byte _081B0368
- .4byte _081B038C
- .4byte _081B03A0
- .4byte _081B03A6
- .4byte _081B03B8
- .4byte _081B03BE
- .4byte _081B03E0
- .4byte _081B0400
- .4byte _081B0414
- .4byte _081B0428
- .4byte _081B0430
- .4byte _081B044C
- .4byte _081B0474
-_081B0290:
- bl SetVBlankHBlankCallbacksToNull
- bl ResetVramOamAndBgCntRegs
- bl clear_scheduled_bg_copies_to_vram
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _081B048C
- .pool
-_081B02AC:
- bl ScanlineEffect_Stop
- b _081B0484
-_081B02B2:
- bl ResetPaletteFade
- ldr r2, =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _081B048C
- .pool
-_081B02D4:
- bl ResetSpriteData
- b _081B0484
-_081B02DA:
- bl FreeAllSpritePalettes
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _081B048C
- .pool
-_081B02EC:
- bl sub_81221AC
- lsls r0, 24
- cmp r0, 0
- beq _081B02F8
- b _081B0484
-_081B02F8:
- bl ResetTasks
- b _081B0484
-_081B02FE:
- bl sub_81B209C
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _081B048C
- .pool
-_081B0310:
- bl sub_81B0550
- lsls r0, 24
- cmp r0, 0
- bne _081B0322
- bl sub_81B04BC
- movs r0, 0x1
- b _081B04B2
-_081B0322:
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- b _081B0484
- .pool
-_081B0338:
- bl sub_81B05C8
- lsls r0, 24
- cmp r0, 0
- bne _081B0344
- b _081B04B0
-_081B0344:
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _081B048C
- .pool
-_081B0354:
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0x8]
- lsls r0, 26
- lsrs r0, 30
- bl sub_81B239C
- b _081B0484
- .pool
-_081B0368:
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0x8]
- lsls r0, 26
- lsrs r0, 30
- bl sub_81B0740
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- b _081B0484
- .pool
-_081B038C:
- bl sub_81B5D30
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _081B048C
- .pool
-_081B03A0:
- bl sub_81B6040
- b _081B0484
-_081B03A6:
- bl sub_81B6160
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _081B048C
- .pool
-_081B03B8:
- bl LoadMonIconPalettes
- b _081B0484
-_081B03BE:
- bl party_menu_add_per_mon_objects
- lsls r0, 24
- cmp r0, 0
- bne _081B03CA
- b _081B04B0
-_081B03CA:
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- b _081B0484
- .pool
-_081B03E0:
- bl sub_81B0DA0
- lsls r0, 24
- cmp r0, 0
- beq _081B04B0
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- b _081B0484
- .pool
-_081B0400:
- bl sub_81B0F28
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _081B048C
- .pool
-_081B0414:
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- lsrs r0, 31
- bl sub_81B2428
- b _081B0484
- .pool
-_081B0428:
- movs r0, 0x87
- lsls r0, 3
- adds r1, r2, r0
- b _081B048C
-_081B0430:
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- ldr r0, [r0]
- movs r1, 0
- bl CreateTask
- ldr r0, [r4]
- ldrh r0, [r0, 0xA]
- lsrs r0, 2
- bl display_pokemon_menu_message
- b _081B0484
- .pool
-_081B044C:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldr r2, =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _081B048C
- .pool
-_081B0474:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
-_081B0484:
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
-_081B048C:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _081B04B0
- .pool
-_081B0498:
- ldr r0, =sub_81B01CC
- bl SetVBlankCallback
- ldr r0, =sub_81B01B0
- bl SetMainCallback2
- movs r0, 0x1
- b _081B04B2
- .pool
-_081B04B0:
- movs r0, 0
-_081B04B2:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81B020C
-
- thumb_func_start sub_81B04BC
-sub_81B04BC: @ 81B04BC
- push {lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =sub_81B04F8
- movs r1, 0
- bl CreateTask
- ldr r0, =sub_81B01CC
- bl SetVBlankCallback
- ldr r0, =sub_81B01B0
- bl SetMainCallback2
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B04BC
-
- thumb_func_start sub_81B04F8
-sub_81B04F8: @ 81B04F8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081B051C
- ldr r0, =gUnknown_0203CEC8
- ldr r0, [r0]
- bl SetMainCallback2
- bl sub_81B06F4
- adds r0, r4, 0
- bl DestroyTask
-_081B051C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B04F8
-
- thumb_func_start reset_brm
-reset_brm: @ 81B052C
- ldr r0, =gUnknown_0203CEC4
- movs r1, 0
- str r1, [r0]
- ldr r0, =gUnknown_0203CEE4
- str r1, [r0]
- ldr r0, =gUnknown_0203CEDC
- str r1, [r0]
- ldr r0, =gUnknown_0203CEE0
- str r1, [r0]
- bx lr
- .pool
- thumb_func_end reset_brm
-
- thumb_func_start sub_81B0550
-sub_81B0550: @ 81B0550
- push {r4,r5,lr}
- ldr r5, =gUnknown_0203CEE4
- movs r4, 0x80
- lsls r4, 4
- adds r0, r4, 0
- bl Alloc
- str r0, [r5]
- cmp r0, 0
- beq _081B05C0
- movs r1, 0
- adds r2, r4, 0
- bl memset
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_086156B8
- movs r0, 0
- movs r2, 0x3
- bl InitBgsFromTemplates
- ldr r1, [r5]
- movs r0, 0x1
- bl SetBgTilemapBuffer
- bl ResetAllBgsCoordinates
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x1
- b _081B05C2
- .pool
-_081B05C0:
- movs r0, 0
-_081B05C2:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81B0550
-
- thumb_func_start sub_81B05C8
-sub_81B05C8: @ 81B05C8
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x7
- bhi _081B06B0
- lsls r0, 2
- ldr r1, =_081B05F0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081B05F0:
- .4byte _081B0610
- .4byte _081B0638
- .4byte _081B0658
- .4byte _081B0684
- .4byte _081B0688
- .4byte _081B068C
- .4byte _081B0690
- .4byte _081B0694
-_081B0610:
- ldr r4, =gUnknown_0203CEE0
- ldr r0, =gPartyMenuMisc_Gfx
- mov r1, sp
- bl malloc_and_decompress
- adds r1, r0, 0
- str r1, [r4]
- ldr r2, [sp]
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0x1
- movs r3, 0
- bl LoadBgTiles
- b _081B069A
- .pool
-_081B0638:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _081B06B4
- ldr r0, =gPartyMenuMisc_Tilemap
- ldr r1, =gUnknown_0203CEE4
- ldr r1, [r1]
- bl LZDecompressWram
- b _081B069A
- .pool
-_081B0658:
- ldr r0, =gPartyMenuMisc_Pal
- movs r2, 0xB0
- lsls r2, 1
- movs r1, 0
- bl LoadCompressedPalette
- ldr r0, =gPlttBufferUnfaded
- ldr r4, =gUnknown_0203CEC4
- ldr r1, [r4]
- adds r1, 0x18
- movs r2, 0xB0
- bl CpuSet
- ldr r1, [r4]
- b _081B069E
- .pool
-_081B0684:
- movs r0, 0x4
- b _081B0696
-_081B0688:
- movs r0, 0x5
- b _081B0696
-_081B068C:
- movs r0, 0x6
- b _081B0696
-_081B0690:
- movs r0, 0x7
- b _081B0696
-_081B0694:
- movs r0, 0x8
-_081B0696:
- bl sub_81B06C0
-_081B069A:
- ldr r0, =gUnknown_0203CEC4
- ldr r1, [r0]
-_081B069E:
- movs r0, 0x86
- lsls r0, 2
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _081B06B4
- .pool
-_081B06B0:
- movs r0, 0x1
- b _081B06B6
-_081B06B4:
- movs r0, 0
-_081B06B6:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81B05C8
-
- thumb_func_start sub_81B06C0
-sub_81B06C0: @ 81B06C0
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 28
- ldr r5, =gPlttBufferUnfaded + 0x60
- lsrs r4, 23
- adds r1, r5, 0
- subs r1, 0x60
- adds r1, r4, r1
- adds r0, r5, 0
- movs r2, 0x10
- bl CpuSet
- ldr r0, =gPlttBufferFaded
- adds r4, r0
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x10
- bl CpuSet
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B06C0
-
- thumb_func_start sub_81B06F4
-sub_81B06F4: @ 81B06F4
- push {lr}
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- cmp r0, 0
- beq _081B0702
- bl Free
-_081B0702:
- ldr r0, =gUnknown_0203CEE4
- ldr r0, [r0]
- cmp r0, 0
- beq _081B070E
- bl Free
-_081B070E:
- ldr r0, =gUnknown_0203CEE0
- ldr r0, [r0]
- cmp r0, 0
- beq _081B071A
- bl Free
-_081B071A:
- ldr r0, =gUnknown_0203CEDC
- ldr r0, [r0]
- cmp r0, 0
- beq _081B0726
- bl Free
-_081B0726:
- bl FreeAllWindowBuffers
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B06F4
-
- thumb_func_start sub_81B0740
-sub_81B0740: @ 81B0740
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r4, =gUnknown_0203CEDC
- movs r0, 0x60
- bl Alloc
- str r0, [r4]
- movs r5, 0
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 4
- mov r8, r0
- movs r6, 0xFF
- mov r9, r4
-_081B0764:
- ldr r2, [r4]
- lsls r3, r5, 4
- adds r2, r3, r2
- ldr r0, =gUnknown_086156E4
- mov r12, r0
- str r0, [r2]
- lsls r0, r5, 3
- ldr r1, =gUnknown_08615704
- adds r0, r1
- add r0, r8
- str r0, [r2, 0x4]
- strb r5, [r2, 0x8]
- ldr r1, [r4]
- adds r1, r3, r1
- ldrb r0, [r1, 0x9]
- orrs r0, r6
- strb r0, [r1, 0x9]
- ldr r1, [r4]
- adds r1, r3, r1
- ldrb r0, [r1, 0xA]
- orrs r0, r6
- strb r0, [r1, 0xA]
- ldr r1, [r4]
- adds r1, r3, r1
- ldrb r0, [r1, 0xB]
- orrs r0, r6
- strb r0, [r1, 0xB]
- ldr r0, [r4]
- adds r3, r0
- ldrb r0, [r3, 0xC]
- orrs r0, r6
- strb r0, [r3, 0xC]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _081B0764
- mov r1, r9
- ldr r0, [r1]
- mov r1, r12
- subs r1, 0x20
- str r1, [r0]
- cmp r7, 0x3
- bne _081B07CC
- str r1, [r0, 0x30]
- b _081B07D2
- .pool
-_081B07CC:
- cmp r7, 0
- beq _081B07D2
- str r1, [r0, 0x10]
-_081B07D2:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81B0740
-
- thumb_func_start sub_81B07E0
-sub_81B07E0: @ 81B07E0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gUnknown_0203CEC8
- ldrb r1, [r0, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x5
- bne _081B085C
- cmp r5, 0x2
- bls _081B085C
- adds r0, r5, 0
- bl sub_81B0CEC
- ldr r0, =gUnknown_02022FF8
- subs r1, r5, 0x3
- lsls r1, 5
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _081B0828
- ldr r0, =gUnknown_0203CEDC
- lsls r4, r5, 4
- ldr r0, [r0]
- adds r0, r4
- movs r1, 0x40
- bl sub_81B2748
- b _081B0836
- .pool
-_081B0828:
- ldr r0, =gUnknown_0203CEDC
- lsls r4, r5, 4
- ldr r0, [r0]
- adds r0, r4
- movs r1, 0x8
- bl sub_81B2748
-_081B0836:
- adds r5, r4, 0
- ldr r4, =gUnknown_0203CEDC
- ldr r0, [r4]
- adds r0, r5, r0
- ldrb r0, [r0, 0x8]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- adds r0, r5, r0
- ldrb r0, [r0, 0x8]
- bl PutWindowTilemap
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- b _081B093E
- .pool
-_081B085C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- bne _081B089C
- ldr r4, =gUnknown_0203CEDC
- ldr r0, [r4]
- lsls r5, 4
- adds r0, r5, r0
- ldrb r0, [r0, 0x8]
- bl sub_81B2720
- ldr r0, [r4]
- adds r0, r5
- movs r1, 0x40
- bl sub_81B2748
- ldr r0, [r4]
- adds r0, r5, r0
- ldrb r0, [r0, 0x8]
- movs r1, 0x2
- bl CopyWindowToVram
- b _081B092C
- .pool
-_081B089C:
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0x8]
- movs r1, 0xF
- ands r1, r0
- cmp r1, 0x7
- bne _081B08B4
- adds r0, r5, 0
- bl sub_81B0B60
- b _081B08F6
- .pool
-_081B08B4:
- cmp r1, 0x2
- bne _081B08C0
- adds r0, r5, 0
- bl sub_81B0B08
- b _081B08F6
-_081B08C0:
- cmp r1, 0x4
- bne _081B08CC
- adds r0, r5, 0
- bl sub_81B0A9C
- b _081B08F6
-_081B08CC:
- cmp r1, 0xB
- bne _081B08D8
- adds r0, r5, 0
- bl sub_81B0B98
- b _081B08F6
-_081B08D8:
- cmp r1, 0xC
- bne _081B08E4
- adds r0, r5, 0
- bl sub_81B0BC4
- b _081B08F6
-_081B08E4:
- adds r0, r5, 0
- bl sub_81B0BFC
- lsls r0, 24
- cmp r0, 0
- bne _081B08F6
- adds r0, r5, 0
- bl sub_81B0948
-_081B08F6:
- ldr r2, =gUnknown_0203CEC8
- ldrb r1, [r2, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x5
- bne _081B0910
- adds r0, r5, 0
- movs r1, 0
- bl sub_81B0FCC
- b _081B092A
- .pool
-_081B0910:
- movs r0, 0x9
- ldrsb r0, [r2, r0]
- cmp r0, r5
- bne _081B0922
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_81B0FCC
- b _081B092A
-_081B0922:
- adds r0, r5, 0
- movs r1, 0
- bl sub_81B0FCC
-_081B092A:
- lsls r5, 4
-_081B092C:
- ldr r0, =gUnknown_0203CEDC
- ldr r0, [r0]
- adds r0, r5, r0
- ldrb r0, [r0, 0x8]
- bl PutWindowTilemap
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
-_081B093E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B07E0
-
- thumb_func_start sub_81B0948
-sub_81B0948: @ 81B0948
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x64
- adds r1, r4, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r7, r1, r0
- adds r0, r7, 0
- movs r1, 0x2D
- bl GetMonData
- adds r2, r0, 0
- cmp r2, 0
- beq _081B09A0
- ldr r6, =gUnknown_0203CEDC
- ldr r0, [r6]
- lsls r5, r4, 4
- adds r0, r5, r0
- ldr r2, [r0]
- ldrb r0, [r0, 0x8]
- movs r1, 0
- str r1, [sp]
- movs r1, 0x1
- str r1, [sp, 0x4]
- ldr r4, [r2]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl _call_via_r4
- ldr r1, [r6]
- adds r1, r5
- adds r0, r7, 0
- movs r2, 0
- bl sub_81B2A70
- b _081B0A02
- .pool
-_081B09A0:
- ldr r5, =gUnknown_0203CEDC
- ldr r0, [r5]
- lsls r4, 4
- adds r0, r4, r0
- ldr r1, [r0]
- ldrb r0, [r0, 0x8]
- str r2, [sp]
- str r2, [sp, 0x4]
- ldr r6, [r1]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl _call_via_r6
- ldr r1, [r5]
- adds r1, r4
- adds r0, r7, 0
- movs r2, 0
- bl sub_81B2A70
- ldr r1, [r5]
- adds r1, r4
- adds r0, r7, 0
- movs r2, 0
- bl sub_81B2AC8
- ldr r1, [r5]
- adds r1, r4
- adds r0, r7, 0
- movs r2, 0
- bl sub_81B2B8C
- ldr r1, [r5]
- adds r1, r4
- adds r0, r7, 0
- movs r2, 0
- bl sub_81B2CD4
- ldr r1, [r5]
- adds r1, r4
- adds r0, r7, 0
- movs r2, 0
- bl sub_81B2D74
- ldr r1, [r5]
- adds r1, r4
- adds r0, r7, 0
- bl sub_81B2E28
-_081B0A02:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B0948
-
- thumb_func_start sub_81B0A10
-sub_81B0A10: @ 81B0A10
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- movs r1, 0x64
- adds r2, r0, 0
- muls r2, r1
- ldr r1, =gPlayerParty
- adds r6, r2, r1
- ldr r7, =gUnknown_0203CEDC
- ldr r1, [r7]
- lsls r5, r0, 4
- adds r1, r5, r1
- ldr r2, [r1]
- ldrb r0, [r1, 0x8]
- movs r1, 0
- str r1, [sp]
- movs r1, 0x1
- str r1, [sp, 0x4]
- ldr r4, [r2]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl _call_via_r4
- ldr r1, [r7]
- adds r1, r5
- adds r0, r6, 0
- movs r2, 0
- bl sub_81B2A70
- adds r0, r6, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _081B0A7C
- ldr r1, [r7]
- adds r1, r5
- adds r0, r6, 0
- movs r2, 0
- bl sub_81B2AC8
- ldr r1, [r7]
- adds r1, r5
- adds r0, r6, 0
- movs r2, 0
- bl sub_81B2B8C
-_081B0A7C:
- ldr r1, [r7]
- adds r1, r5
- mov r0, r8
- movs r2, 0
- bl sub_81B2FA8
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B0A10
-
- thumb_func_start sub_81B0A9C
-sub_81B0A9C: @ 81B0A9C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r6, =gSelectedOrderFromParty
- bl sub_81B85AC
- lsls r0, 24
- cmp r0, 0
- bne _081B0AD6
- adds r0, r5, 0
- movs r1, 0x7
- bl sub_81B0A10
- b _081B0B02
- .pool
-_081B0AC8:
- adds r1, r4, 0x2
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl sub_81B0A10
- b _081B0B02
-_081B0AD6:
- movs r4, 0
- b _081B0AEE
-_081B0ADA:
- adds r1, r6, r4
- ldrb r0, [r1]
- cmp r0, 0
- beq _081B0AE8
- subs r0, 0x1
- cmp r0, r5
- beq _081B0AC8
-_081B0AE8:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_081B0AEE:
- bl sub_81B8830
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bcc _081B0ADA
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_81B0A10
-_081B0B02:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81B0A9C
-
- thumb_func_start sub_81B0B08
-sub_81B0B08: @ 81B0B08
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- bl sub_80DAE0C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _081B0B5A
- lsls r0, 2
- ldr r1, =_081B0B34
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081B0B34:
- .4byte _081B0B48
- .4byte _081B0B52
- .4byte _081B0B52
- .4byte _081B0B48
- .4byte _081B0B48
-_081B0B48:
- adds r0, r4, 0
- movs r1, 0x7
- bl sub_81B0A10
- b _081B0B5A
-_081B0B52:
- adds r0, r4, 0
- movs r1, 0x6
- bl sub_81B0A10
-_081B0B5A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B0B08
-
- thumb_func_start sub_81B0B60
-sub_81B0B60: @ 81B0B60
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- bl GetNumberOfRelearnableMoves
- lsls r0, 24
- cmp r0, 0
- bne _081B0B88
- adds r0, r4, 0
- movs r1, 0x9
- bl sub_81B0A10
- b _081B0B90
- .pool
-_081B0B88:
- adds r0, r4, 0
- movs r1, 0x8
- bl sub_81B0A10
-_081B0B90:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B0B60
-
- thumb_func_start sub_81B0B98
-sub_81B0B98: @ 81B0B98
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_81B218C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B0BB6
- adds r0, r4, 0
- movs r1, 0x6
- bl sub_81B0A10
- b _081B0BBE
-_081B0BB6:
- adds r0, r4, 0
- movs r1, 0x7
- bl sub_81B0A10
-_081B0BBE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B0B98
-
- thumb_func_start sub_81B0BC4
-sub_81B0BC4: @ 81B0BC4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xC
- bl GetMonData
- cmp r0, 0
- beq _081B0BEC
- adds r0, r4, 0
- movs r1, 0xB
- bl sub_81B0A10
- b _081B0BF4
- .pool
-_081B0BEC:
- adds r0, r4, 0
- movs r1, 0xC
- bl sub_81B0A10
-_081B0BF4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B0BC4
-
- thumb_func_start sub_81B0BFC
-sub_81B0BFC: @ 81B0BFC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r6, r1, r0
- ldr r0, =gSpecialVar_ItemId
- ldrh r4, [r0]
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0xB]
- cmp r0, 0xC
- bne _081B0C40
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
- ldr r0, =gSpecialVar_0x8005
- ldrb r2, [r0]
- adds r0, r5, 0
- movs r1, 0
- bl sub_81B0C94
- b _081B0C8A
- .pool
-_081B0C40:
- cmp r0, 0x3
- bne _081B0C56
- adds r0, r4, 0
- bl CheckIfItemIsTMHMOrEvolutionStone
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B0C5A
- cmp r0, 0x2
- beq _081B0C66
-_081B0C56:
- movs r0, 0
- b _081B0C8C
-_081B0C5A:
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_81B0C94
- b _081B0C8A
-_081B0C66:
- adds r0, r6, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _081B0C82
- adds r0, r6, 0
- movs r1, 0x3
- adds r2, r4, 0
- bl GetEvolutionTargetSpecies
- lsls r0, 16
- cmp r0, 0
- bne _081B0C56
-_081B0C82:
- adds r0, r5, 0
- movs r1, 0
- bl sub_81B0A10
-_081B0C8A:
- movs r0, 0x1
-_081B0C8C:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_81B0BFC
-
- thumb_func_start sub_81B0C94
-sub_81B0C94: @ 81B0C94
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x64
- muls r0, r4
- ldr r3, =gPlayerParty
- adds r0, r3
- bl sub_81B22D8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _081B0CD2
- cmp r0, 0x2
- bgt _081B0CC4
- cmp r0, 0x1
- beq _081B0CC8
- b _081B0CDC
- .pool
-_081B0CC4:
- cmp r0, 0x3
- bne _081B0CDC
-_081B0CC8:
- adds r0, r4, 0
- movs r1, 0x9
- bl sub_81B0A10
- b _081B0CE4
-_081B0CD2:
- adds r0, r4, 0
- movs r1, 0xA
- bl sub_81B0A10
- b _081B0CE4
-_081B0CDC:
- adds r0, r4, 0
- movs r1, 0x8
- bl sub_81B0A10
-_081B0CE4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B0C94
-
- thumb_func_start sub_81B0CEC
-sub_81B0CEC: @ 81B0CEC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0203CEDC
- lsls r2, r0, 4
- ldr r1, [r1]
- adds r6, r1, r2
- subs r0, 0x3
- lsls r0, 24
- ldr r5, =gUnknown_02022FF8
- lsrs r0, 19
- mov r8, r0
- adds r7, r0, r5
- ldrh r0, [r7]
- cmp r0, 0
- bne _081B0D24
- ldrb r0, [r6, 0x8]
- bl sub_81B2720
- b _081B0D8E
- .pool
-_081B0D24:
- ldr r2, [r6]
- ldrb r0, [r6, 0x8]
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- ldr r4, [r2]
- movs r2, 0
- movs r3, 0
- bl _call_via_r4
- ldr r4, =gStringVar1
- adds r5, 0x4
- add r5, r8
- adds r0, r4, 0
- adds r1, r5, 0
- bl StringCopy
- adds r0, r4, 0
- bl StringGetEnd10
- adds r0, r4, 0
- bl sub_81DB52C
- ldrb r0, [r6, 0x8]
- ldr r3, [r6]
- adds r3, 0x4
- adds r1, r4, 0
- movs r2, 0
- bl sub_81B2A3C
- ldrb r0, [r7, 0xF]
- adds r1, r6, 0
- bl sub_81B2B40
- ldrb r0, [r7, 0x1C]
- ldrh r1, [r7]
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_81B2BF4
- ldrh r0, [r7, 0x10]
- adds r1, r6, 0
- bl sub_81B2D3C
- ldrh r0, [r7, 0x12]
- adds r1, r6, 0
- bl sub_81B2DDC
- ldrh r0, [r7, 0x10]
- ldrh r1, [r7, 0x12]
- adds r2, r6, 0
- bl sub_81B2E64
-_081B0D8E:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B0CEC
-
- thumb_func_start sub_81B0DA0
-sub_81B0DA0: @ 81B0DA0
- push {r4,r5,lr}
- ldr r5, =gUnknown_0203CEC4
- ldr r0, [r5]
- movs r4, 0x86
- lsls r4, 2
- adds r0, r4
- ldrb r0, [r0]
- bl sub_81B07E0
- ldr r1, [r5]
- adds r1, r4
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- beq _081B0DCC
- movs r0, 0
- b _081B0DCE
- .pool
-_081B0DCC:
- movs r0, 0x1
-_081B0DCE:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81B0DA0
-
- thumb_func_start sub_81B0DD4
-sub_81B0DD4: @ 81B0DD4
- lsls r0, 16
- ldr r1, =gUnknown_0203CEE0
- lsrs r0, 11
- ldr r1, [r1]
- adds r1, r0
- adds r0, r1, 0
- bx lr
- .pool
- thumb_func_end sub_81B0DD4
-
- thumb_func_start party_menu_add_per_mon_objects_internal
-party_menu_add_per_mon_objects_internal: @ 81B0DE8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_0203CEC8
- ldrb r1, [r0, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x5
- bne _081B0E98
- cmp r7, 0x2
- bls _081B0E98
- subs r0, r7, 0x3
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r0, =gUnknown_02022FF8
- mov r9, r0
- mov r2, r10
- lsls r2, 5
- mov r8, r2
- mov r6, r8
- add r6, r9
- ldrh r0, [r6]
- cmp r0, 0
- beq _081B0EDC
- mov r1, r9
- adds r1, 0x18
- add r1, r8
- ldr r1, [r1]
- ldr r4, =gUnknown_0203CEDC
- lsls r5, r7, 4
- ldr r2, [r4]
- adds r2, r5
- movs r3, 0
- str r3, [sp]
- bl party_menu_link_mon_icon_anim
- ldrh r0, [r6]
- ldrh r1, [r6, 0x2]
- ldr r2, [r4]
- adds r2, r5
- bl party_menu_link_mon_held_item_object
- ldrh r0, [r6]
- ldr r1, [r4]
- adds r1, r5
- bl party_menu_link_mon_pokeball_object
- ldrh r0, [r6, 0x10]
- cmp r0, 0
- bne _081B0E68
- movs r3, 0x7
- b _081B0E78
- .pool
-_081B0E68:
- mov r0, r9
- adds r0, 0x14
- add r0, r8
- ldr r0, [r0]
- bl pokemon_ailments_get_primary
- lsls r0, 24
- lsrs r3, r0, 24
-_081B0E78:
- ldr r1, =gUnknown_02022FF8
- mov r2, r10
- lsls r0, r2, 5
- adds r0, r1
- ldrh r0, [r0]
- ldr r1, =gUnknown_0203CEDC
- ldr r2, [r1]
- adds r2, r5
- adds r1, r3, 0
- bl party_menu_link_mon_status_condition_object
- b _081B0EDC
- .pool
-_081B0E98:
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r6, r1, r0
- adds r0, r6, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B0EDC
- ldr r4, =gUnknown_0203CEDC
- lsls r5, r7, 4
- ldr r1, [r4]
- adds r1, r5
- adds r0, r6, 0
- adds r2, r7, 0
- bl party_menu_icon_anim
- ldr r1, [r4]
- adds r1, r5
- adds r0, r6, 0
- bl party_menu_held_item_object
- ldr r1, [r4]
- adds r1, r5
- adds r0, r6, 0
- bl party_menu_pokeball_object
- ldr r1, [r4]
- adds r1, r5
- adds r0, r6, 0
- bl party_menu_status_condition_object
-_081B0EDC:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end party_menu_add_per_mon_objects_internal
-
- thumb_func_start party_menu_add_per_mon_objects
-party_menu_add_per_mon_objects: @ 81B0EF4
- push {r4,r5,lr}
- ldr r5, =gUnknown_0203CEC4
- ldr r0, [r5]
- movs r4, 0x86
- lsls r4, 2
- adds r0, r4
- ldrb r0, [r0]
- bl party_menu_add_per_mon_objects_internal
- ldr r1, [r5]
- adds r1, r4
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- beq _081B0F20
- movs r0, 0
- b _081B0F22
- .pool
-_081B0F20:
- movs r0, 0x1
-_081B0F22:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end party_menu_add_per_mon_objects
-
- thumb_func_start sub_81B0F28
-sub_81B0F28: @ 81B0F28
- push {r4,lr}
- sub sp, 0xC
- ldr r0, =gUnknown_0203CEC8
- ldrb r1, [r0, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x5
- bne _081B0F54
- movs r0, 0x7
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r1, 0xE
- movs r2, 0x17
- movs r3, 0x11
- bl FillBgTilemapBufferRect
- b _081B0FBC
- .pool
-_081B0F54:
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- cmp r0, 0
- beq _081B0F94
- movs r0, 0xBF
- movs r1, 0x88
- bl sub_81B5F74
- ldr r3, [r4]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x7F
- ands r0, r1
- lsls r0, 4
- ldrh r2, [r3, 0x8]
- ldr r1, =0xfffff80f
- ands r1, r2
- orrs r1, r0
- strh r1, [r3, 0x8]
- bl sub_81B120C
- movs r0, 0xBF
- movs r1, 0x98
- bl sub_81B5F74
- b _081B0F9C
- .pool
-_081B0F94:
- movs r0, 0xC6
- movs r1, 0x94
- bl sub_81B5F34
-_081B0F9C:
- ldr r3, [r4]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x7F
- ands r0, r1
- lsls r0, 11
- ldr r1, [r3, 0x8]
- ldr r2, =0xfffc07ff
- ands r1, r2
- orrs r1, r0
- str r1, [r3, 0x8]
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0x9]
- movs r1, 0x1
- bl sub_81B0FCC
-_081B0FBC:
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B0F28
-
- thumb_func_start sub_81B0FCC
-sub_81B0FCC: @ 81B0FCC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- cmp r7, 0x6
- beq _081B1038
- cmp r7, 0x7
- beq _081B1074
- movs r0, 0x64
- muls r0, r7
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B10E8
- ldr r6, =gUnknown_0203CEDC
- lsls r5, r7, 4
- ldr r4, [r6]
- adds r4, r5
- adds r0, r7, 0
- mov r1, r8
- bl sub_81B10F8
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_81B2748
- ldr r0, [r6]
- adds r0, r5, r0
- ldrb r0, [r0, 0x9]
- mov r1, r8
- bl sub_81B5B6C
- ldr r0, [r6]
- adds r5, r0
- ldrb r0, [r5, 0xB]
- mov r1, r8
- bl sub_81B5F98
- b _081B10E8
- .pool
-_081B1038:
- mov r0, r8
- cmp r0, 0
- bne _081B1052
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r1, 0x17
- movs r2, 0x10
- movs r3, 0x7
- bl sub_8199C30
- b _081B1064
-_081B1052:
- movs r0, 0x2
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0x17
- movs r2, 0x10
- movs r3, 0x7
- bl sub_8199C30
-_081B1064:
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrh r0, [r0, 0x8]
- lsls r0, 21
- b _081B10DA
- .pool
-_081B1074:
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- cmp r0, 0
- bne _081B10A6
- mov r0, r8
- cmp r0, 0
- bne _081B1098
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r1, 0x17
- movs r2, 0x11
- b _081B10B8
- .pool
-_081B1098:
- movs r0, 0x2
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0x17
- movs r2, 0x11
- b _081B10B8
-_081B10A6:
- mov r0, r8
- cmp r0, 0
- bne _081B10C0
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r1, 0x17
- movs r2, 0x12
-_081B10B8:
- movs r3, 0x7
- bl sub_8199C30
- b _081B10D2
-_081B10C0:
- movs r0, 0x2
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0x17
- movs r2, 0x12
- movs r3, 0x7
- bl sub_8199C30
-_081B10D2:
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- lsls r0, 14
-_081B10DA:
- lsrs r0, 25
- mov r1, r8
- bl sub_81B5F98
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
-_081B10E8:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B0FCC
-
- thumb_func_start sub_81B10F8
-sub_81B10F8: @ 81B10F8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r1, 24
- movs r4, 0
- cmp r1, 0x1
- bne _081B110A
- movs r4, 0x1
-_081B110A:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- bne _081B1120
- movs r0, 0x2
- orrs r4, r0
-_081B1120:
- adds r0, r5, 0
- bl sub_81B118C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B1136
- movs r0, 0x8
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_081B1136:
- ldr r0, =gUnknown_0203CEC8
- ldrb r1, [r0, 0xB]
- adds r2, r0, 0
- cmp r1, 0x9
- bne _081B1148
- movs r0, 0x10
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_081B1148:
- cmp r1, 0x8
- bne _081B1164
- movs r0, 0x9
- ldrsb r0, [r2, r0]
- cmp r5, r0
- beq _081B115C
- movs r0, 0xA
- ldrsb r0, [r2, r0]
- cmp r5, r0
- bne _081B1164
-_081B115C:
- movs r0, 0x4
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_081B1164:
- ldrb r0, [r2, 0xB]
- cmp r0, 0xA
- bne _081B117A
- movs r0, 0x9
- ldrsb r0, [r2, r0]
- cmp r5, r0
- bne _081B117A
- movs r0, 0x20
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_081B117A:
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B10F8
-
- thumb_func_start sub_81B118C
-sub_81B118C: @ 81B118C
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0203CEC8
- ldrb r1, [r0, 0x8]
- movs r0, 0x30
- ands r0, r1
- cmp r0, 0x20
- bne _081B11B4
- cmp r2, 0x1
- beq _081B11AA
- cmp r2, 0x4
- beq _081B11AA
- cmp r2, 0x5
- bne _081B11B4
-_081B11AA:
- movs r0, 0x1
- b _081B11F8
- .pool
-_081B11B4:
- cmp r2, 0x2
- bhi _081B11F6
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 11
- ands r0, r1
- cmp r0, 0
- beq _081B11F6
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081B11F6
- adds r0, r2, 0
- bl sub_81B8F38
- ldr r1, =gBattleStruct
- ldr r1, [r1]
- movs r2, 0xA8
- lsls r2, 2
- adds r1, r2
- ldrb r1, [r1]
- lsls r0, 24
- lsrs r0, 24
- asrs r1, r0
- movs r0, 0x1
- ands r1, r0
- cmp r1, 0
- bne _081B11F8
-_081B11F6:
- movs r0, 0
-_081B11F8:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B118C
-
- thumb_func_start sub_81B120C
-sub_81B120C: @ 81B120C
- push {r4-r6,lr}
- sub sp, 0xC
- ldr r1, =gUnknown_086157C4
- movs r6, 0x7
- str r6, [sp]
- movs r5, 0x2
- str r5, [sp, 0x4]
- movs r4, 0x11
- str r4, [sp, 0x8]
- movs r0, 0x1
- movs r2, 0x17
- movs r3, 0x10
- bl CopyToBgTilemapBufferRect_ChangePalette
- ldr r1, =gUnknown_086157E0
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x1
- movs r2, 0x17
- movs r3, 0x12
- bl CopyToBgTilemapBufferRect_ChangePalette
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B120C
-
- thumb_func_start sub_81B1250
-sub_81B1250: @ 81B1250
- push {lr}
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x49
- ands r0, r1
- cmp r0, 0x49
- bne _081B1280
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081B1280
- movs r0, 0x1
- b _081B1282
- .pool
-_081B1280:
- movs r0, 0
-_081B1282:
- pop {r1}
- bx r1
- thumb_func_end sub_81B1250
-
- thumb_func_start sub_81B1288
-sub_81B1288: @ 81B1288
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- movs r0, 0x64
- bl Alloc
- adds r5, r0, 0
- adds r1, r4, 0
- movs r2, 0x64
- bl memcpy
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0x64
- bl memcpy
- adds r0, r6, 0
- adds r1, r5, 0
- movs r2, 0x64
- bl memcpy
- adds r0, r5, 0
- bl Free
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81B1288
-
- thumb_func_start sub_81B12C0
-sub_81B12C0: @ 81B12C0
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =c3_0811FAB4
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B12C0
-
- thumb_func_start c3_0811FAB4
-c3_0811FAB4: @ 81B12F8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081B134C
- ldr r4, =gUnknown_0203CEC8
- ldrb r1, [r4, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x1
- bne _081B131A
- bl sub_81B9080
-_081B131A:
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- cmp r0, 0
- beq _081B1338
- bl SetMainCallback2
- b _081B133E
- .pool
-_081B1338:
- ldr r0, [r4]
- bl SetMainCallback2
-_081B133E:
- bl ResetSpriteData
- bl sub_81B06F4
- adds r0, r5, 0
- bl DestroyTask
-_081B134C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end c3_0811FAB4
-
- thumb_func_start GetCursorSelectionMonId
-GetCursorSelectionMonId: @ 81B1354
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0x9]
- bx lr
- .pool
- thumb_func_end GetCursorSelectionMonId
-
- thumb_func_start sub_81B1360
-sub_81B1360: @ 81B1360
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0x8]
- lsls r0, 28
- lsrs r0, 28
- bx lr
- .pool
- thumb_func_end sub_81B1360
-
- thumb_func_start sub_81B1370
-sub_81B1370: @ 81B1370
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081B13E0
- bl sub_81221EC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B13E0
- bl sub_81B13EC
- adds r4, r0, 0
- bl sub_81B1760
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- beq _081B13C0
- cmp r0, 0x2
- bgt _081B13B0
- cmp r0, 0x1
- beq _081B13B6
- b _081B13E0
- .pool
-_081B13B0:
- cmp r0, 0x8
- beq _081B13CA
- b _081B13E0
-_081B13B6:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_81B140C
- b _081B13E0
-_081B13C0:
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_81B15D0
- b _081B13E0
-_081B13CA:
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- cmp r0, 0
- beq _081B13E0
- movs r0, 0x5
- bl PlaySE
- bl sub_81B4F88
-_081B13E0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1370
-
- thumb_func_start sub_81B13EC
-sub_81B13EC: @ 81B13EC
- push {lr}
- ldr r0, =gUnknown_0203CEC8
- ldrb r1, [r0, 0xB]
- cmp r1, 0x8
- beq _081B13FA
- cmp r1, 0xA
- bne _081B1404
-_081B13FA:
- adds r0, 0xA
- b _081B1406
- .pool
-_081B1404:
- adds r0, 0x9
-_081B1406:
- pop {r1}
- bx r1
- thumb_func_end sub_81B13EC
-
- thumb_func_start sub_81B140C
-sub_81B140C: @ 81B140C
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0x6
- bne _081B142C
- ldr r0, =gUnknown_0203CEC8
- ldr r1, [r0, 0x4]
- adds r0, r5, 0
- bl _call_via_r1
- b _081B159E
- .pool
-_081B142C:
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0xB]
- subs r0, 0x3
- cmp r0, 0xA
- bls _081B1438
- b _081B1592
-_081B1438:
- lsls r0, 2
- ldr r1, =_081B144C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081B144C:
- .4byte _081B149C
- .4byte _081B1592
- .4byte _081B1538
- .4byte _081B1538
- .4byte _081B1510
- .4byte _081B1560
- .4byte _081B1592
- .4byte _081B1478
- .4byte _081B156E
- .4byte _081B14E8
- .4byte _081B157C
-_081B1478:
- adds r0, r4, 0
- bl sub_81B15A4
- lsls r0, 24
- cmp r0, 0
- bne _081B1486
- b _081B159E
-_081B1486:
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- adds r0, 0xD
- bl sub_81B302C
- adds r0, r5, 0
- bl sub_81615A8
- b _081B159E
- .pool
-_081B149C:
- adds r0, r4, 0
- bl sub_81B15A4
- lsls r0, 24
- cmp r0, 0
- bne _081B14AA
- b _081B159E
-_081B14AA:
- ldr r0, =gUnknown_0203CEC8
- ldrb r1, [r0, 0x8]
- movs r0, 0xF
- ands r0, r1
- ldr r2, =gUnknown_0203CEC4
- cmp r0, 0x1
- bne _081B14BE
- ldr r1, [r2]
- ldr r0, =sub_81B9140
- str r0, [r1, 0x4]
-_081B14BE:
- ldr r0, [r2]
- adds r0, 0xD
- bl sub_81B302C
- ldr r0, =gUnknown_03006328
- ldr r1, =sub_81B6794
- ldr r2, [r0]
- adds r0, r5, 0
- bl _call_via_r2
- b _081B159E
- .pool
-_081B14E8:
- adds r0, r4, 0
- bl sub_81B15A4
- lsls r0, 24
- cmp r0, 0
- beq _081B159E
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- adds r0, 0xD
- bl sub_81B302C
- adds r0, r5, 0
- bl sub_81B7E4C
- b _081B159E
- .pool
-_081B1510:
- adds r0, r4, 0
- bl sub_81B15A4
- lsls r0, 24
- cmp r0, 0
- beq _081B159E
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- adds r0, 0xD
- bl sub_81B302C
- adds r0, r5, 0
- bl sub_81B8474
- b _081B159E
- .pool
-_081B1538:
- adds r0, r4, 0
- bl sub_81B15A4
- lsls r0, 24
- cmp r0, 0
- beq _081B159E
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- adds r0, 0xD
- bl sub_81B302C
- adds r0, r5, 0
- bl sub_81B7FAC
- b _081B159E
- .pool
-_081B1560:
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- bl sub_81B3938
- b _081B159E
-_081B156E:
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- bl sub_81B12C0
- b _081B159E
-_081B157C:
- adds r0, r4, 0
- bl sub_81B15A4
- lsls r0, 24
- cmp r0, 0
- beq _081B159E
- ldrb r1, [r4]
- adds r0, r5, 0
- bl sub_81B21AC
- b _081B159E
-_081B1592:
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- bl sub_81B36FC
-_081B159E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81B140C
-
- thumb_func_start sub_81B15A4
-sub_81B15A4: @ 81B15A4
- push {lr}
- ldrb r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0x1
- beq _081B15C4
- movs r0, 0x1
- b _081B15CC
- .pool
-_081B15C4:
- movs r0, 0x20
- bl PlaySE
- movs r0, 0
-_081B15CC:
- pop {r1}
- bx r1
- thumb_func_end sub_81B15A4
-
- thumb_func_start sub_81B15D0
-sub_81B15D0: @ 81B15D0
- push {r4,r5,lr}
- adds r5, r1, 0
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0xB]
- cmp r0, 0x8
- beq _081B1602
- cmp r0, 0x8
- bgt _081B15F0
- cmp r0, 0x1
- beq _081B15FA
- b _081B161E
- .pool
-_081B15F0:
- cmp r0, 0xA
- beq _081B1602
- cmp r0, 0xD
- beq _081B1610
- b _081B161E
-_081B15FA:
- movs r0, 0x20
- bl PlaySE
- b _081B1652
-_081B1602:
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_81B407C
- b _081B1652
-_081B1610:
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_81B2210
- b _081B1652
-_081B161E:
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_81B1660
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B1652
- bl sub_81221AC
- lsls r0, 24
- cmp r0, 0
- bne _081B1642
- ldr r1, =gSpecialVar_0x8004
- movs r0, 0x7
- strh r0, [r1]
-_081B1642:
- ldr r0, =gUnknown_0203CEE8
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x7
- strb r0, [r5]
- adds r0, r4, 0
- bl sub_81B12C0
-_081B1652:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B15D0
-
- thumb_func_start sub_81B1660
-sub_81B1660: @ 81B1660
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0x8]
- movs r1, 0xF
- ands r1, r0
- cmp r1, 0x2
- bne _081B1680
- ldr r5, =gText_CancelParticipation
- b _081B168A
- .pool
-_081B1680:
- cmp r1, 0x4
- bne _081B168A
- bl sub_81B88BC
- adds r5, r0, 0
-_081B168A:
- cmp r5, 0
- beq _081B16CC
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- adds r0, 0xD
- bl sub_81B302C
- ldr r4, =gStringVar4
- adds r0, r4, 0
- adds r1, r5, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B16D4
- str r1, [r0]
- movs r0, 0x1
- b _081B16CE
- .pool
-_081B16CC:
- movs r0, 0
-_081B16CE:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_81B1660
-
- thumb_func_start sub_81B16D4
-sub_81B16D4: @ 81B16D4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B16F8
- bl sub_81B334C
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B1708
- str r0, [r1]
-_081B16F8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B16D4
-
- thumb_func_start sub_81B1708
-sub_81B1708: @ 81B1708
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _081B172E
- cmp r1, 0
- bgt _081B1728
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _081B174C
- b _081B1758
-_081B1728:
- cmp r1, 0x1
- beq _081B1752
- b _081B1758
-_081B172E:
- ldr r0, =gUnknown_0203CEE8
- strb r1, [r0]
- ldr r1, =gUnknown_0203CEC8
- movs r0, 0x7
- strb r0, [r1, 0x9]
- bl sub_81B8558
- adds r0, r4, 0
- bl sub_81B12C0
- b _081B1758
- .pool
-_081B174C:
- movs r0, 0x5
- bl PlaySE
-_081B1752:
- adds r0, r4, 0
- bl sub_81B1C1C
-_081B1758:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B1708
-
- thumb_func_start sub_81B1760
-sub_81B1760: @ 81B1760
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gMain
- ldrh r1, [r0, 0x30]
- adds r3, r0, 0
- cmp r1, 0x20
- beq _081B178E
- cmp r1, 0x20
- bgt _081B177C
- cmp r1, 0x10
- beq _081B1792
- b _081B1796
- .pool
-_081B177C:
- cmp r1, 0x40
- beq _081B1786
- cmp r1, 0x80
- beq _081B178A
- b _081B1796
-_081B1786:
- movs r1, 0xFF
- b _081B17B2
-_081B178A:
- movs r1, 0x1
- b _081B17B2
-_081B178E:
- movs r1, 0xFE
- b _081B17B2
-_081B1792:
- movs r1, 0x2
- b _081B17B2
-_081B1796:
- bl sub_812210C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B17AA
- cmp r0, 0x2
- beq _081B17AE
- movs r1, 0
- b _081B17B0
-_081B17AA:
- movs r1, 0xFF
- b _081B17B0
-_081B17AE:
- movs r1, 0x1
-_081B17B0:
- ldr r3, =gMain
-_081B17B2:
- ldrh r2, [r3, 0x2E]
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _081B17C4
- movs r0, 0x8
- b _081B17F0
- .pool
-_081B17C4:
- lsls r0, r1, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _081B17D6
- adds r0, r4, 0
- bl sub_81B17F8
- movs r0, 0
- b _081B17F0
-_081B17D6:
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _081B17EA
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0x7
- bne _081B17EA
- movs r0, 0x2
- b _081B17F0
-_081B17EA:
- ldrh r1, [r3, 0x2E]
- movs r0, 0x3
- ands r0, r1
-_081B17F0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81B1760
-
- thumb_func_start sub_81B17F8
-sub_81B17F8: @ 81B17F8
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldrb r4, [r5]
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0x8]
- lsls r0, 26
- lsrs r0, 30
- cmp r0, 0
- bne _081B1820
- lsls r1, 24
- asrs r1, 24
- adds r0, r5, 0
- bl sub_81B1854
- b _081B182A
- .pool
-_081B1820:
- lsls r1, 24
- asrs r1, 24
- adds r0, r5, 0
- bl sub_81B195C
-_081B182A:
- movs r1, 0
- ldrsb r1, [r5, r1]
- lsls r4, 24
- asrs r0, r4, 24
- cmp r1, r0
- beq _081B184C
- movs r0, 0x5
- bl PlaySE
- lsrs r0, r4, 24
- movs r1, 0
- bl sub_81B0FCC
- ldrb r0, [r5]
- movs r1, 0x1
- bl sub_81B0FCC
-_081B184C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81B17F8
-
- thumb_func_start sub_81B1854
-sub_81B1854: @ 81B1854
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _081B187A
- cmp r1, r0
- bgt _081B1870
- subs r0, 0x1
- cmp r1, r0
- beq _081B1924
- b _081B1952
-_081B1870:
- cmp r1, 0x1
- beq _081B18C0
- cmp r1, 0x2
- beq _081B18F8
- b _081B1952
-_081B187A:
- ldrb r0, [r4]
- movs r1, 0
- ldrsb r1, [r4, r1]
- cmp r1, 0
- bne _081B1888
- movs r0, 0x7
- b _081B1950
-_081B1888:
- cmp r1, 0x6
- bne _081B1898
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- subs r0, 0x1
- b _081B1950
- .pool
-_081B1898:
- cmp r1, 0x7
- bne _081B18BC
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- cmp r0, 0
- beq _081B18B0
- movs r0, 0x6
- b _081B1950
- .pool
-_081B18B0:
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- subs r0, 0x1
- b _081B1950
- .pool
-_081B18BC:
- subs r0, 0x1
- b _081B1950
-_081B18C0:
- ldrb r2, [r4]
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0x7
- beq _081B194E
- movs r1, 0
- ldrsb r1, [r4, r1]
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- bne _081B18F4
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- cmp r0, 0
- beq _081B18F0
- movs r0, 0x6
- b _081B1950
- .pool
-_081B18F0:
- movs r0, 0x7
- b _081B1950
-_081B18F4:
- adds r0, r2, 0x1
- b _081B1950
-_081B18F8:
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _081B1952
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0
- bne _081B1952
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 28
- lsrs r0, 29
- cmp r0, 0
- bne _081B1950
- movs r0, 0x1
- b _081B1950
- .pool
-_081B1924:
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0
- beq _081B1952
- cmp r0, 0x6
- beq _081B1952
- cmp r0, 0x7
- beq _081B1952
- ldr r0, =gUnknown_0203CEC4
- ldr r3, [r0]
- movs r1, 0
- ldrsb r1, [r4, r1]
- movs r0, 0x7
- ands r1, r0
- lsls r1, 1
- ldrb r2, [r3, 0x8]
- movs r0, 0xF
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x8]
-_081B194E:
- movs r0, 0
-_081B1950:
- strb r0, [r4]
-_081B1952:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1854
-
- thumb_func_start sub_81B195C
-sub_81B195C: @ 81B195C
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r2, r1, 24
- asrs r5, r1, 24
- movs r6, 0x1
- negs r6, r6
- cmp r5, r6
- beq _081B1988
- cmp r5, r6
- bgt _081B197E
- movs r0, 0x2
- negs r0, r0
- cmp r5, r0
- bne _081B197C
- b _081B1A9C
-_081B197C:
- b _081B1AF4
-_081B197E:
- cmp r5, 0x1
- beq _081B19E4
- cmp r5, 0x2
- beq _081B1A24
- b _081B1AF4
-_081B1988:
- ldrb r1, [r4]
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0
- bne _081B1996
- movs r0, 0x7
- b _081B1AF2
-_081B1996:
- cmp r0, 0x6
- bne _081B19A8
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- subs r0, 0x1
- b _081B1AF2
- .pool
-_081B19A8:
- cmp r0, 0x7
- bne _081B19C4
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- cmp r0, 0
- beq _081B19C0
- movs r0, 0x6
- b _081B1AF2
- .pool
-_081B19C0:
- subs r0, r1, 0x1
- strb r0, [r4]
-_081B19C4:
- movs r0, 0
- ldrsb r0, [r4, r0]
- lsls r1, r2, 24
- asrs r1, 24
- bl sub_81B1B00
- lsls r0, 24
- lsrs r2, r0, 24
- asrs r0, 24
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _081B19E0
- b _081B1AF4
-_081B19E0:
- strb r2, [r4]
- b _081B1AF4
-_081B19E4:
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0x6
- bne _081B19F0
- movs r0, 0x7
- b _081B1AF2
-_081B19F0:
- cmp r0, 0x7
- bne _081B19F8
- movs r0, 0
- b _081B1AF2
-_081B19F8:
- movs r0, 0
- ldrsb r0, [r4, r0]
- movs r1, 0x1
- bl sub_81B1B00
- lsls r0, 24
- lsrs r2, r0, 24
- asrs r0, 24
- cmp r0, r6
- bne _081B19E0
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- cmp r0, 0
- beq _081B1A20
- movs r0, 0x6
- b _081B1AF2
- .pool
-_081B1A20:
- movs r0, 0x7
- b _081B1AF2
-_081B1A24:
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0
- bne _081B1A5C
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 28
- lsrs r6, r0, 29
- cmp r6, 0x3
- bne _081B1A54
- ldr r0, =gPlayerParty + 300
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B1AF4
- strb r6, [r4]
- b _081B1AF4
- .pool
-_081B1A54:
- ldr r0, =gPlayerParty + 200
- b _081B1A70
- .pool
-_081B1A5C:
- cmp r0, 0x1
- bne _081B1AF4
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 28
- lsrs r5, r0, 29
- cmp r5, 0x5
- bne _081B1A88
- ldr r0, =gPlayerParty + 500
-_081B1A70:
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B1AF4
- strb r5, [r4]
- b _081B1AF4
- .pool
-_081B1A88:
- ldr r0, =gPlayerParty + 400
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B1AF4
- movs r0, 0x4
- b _081B1AF2
- .pool
-_081B1A9C:
- ldrb r1, [r4]
- subs r0, r1, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _081B1ACC
- ldr r0, =gUnknown_0203CEC4
- ldr r3, [r0]
- movs r1, 0
- ldrsb r1, [r4, r1]
- movs r0, 0x7
- ands r1, r0
- lsls r1, 1
- ldrb r2, [r3, 0x8]
- movs r0, 0xF
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x8]
- movs r0, 0
- b _081B1AF2
- .pool
-_081B1ACC:
- subs r0, r1, 0x4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _081B1AF4
- ldr r0, =gUnknown_0203CEC4
- ldr r3, [r0]
- movs r1, 0
- ldrsb r1, [r4, r1]
- movs r0, 0x7
- ands r1, r0
- lsls r1, 1
- ldrb r2, [r3, 0x8]
- movs r0, 0xF
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x8]
- movs r0, 0x1
-_081B1AF2:
- strb r0, [r4]
-_081B1AF4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B195C
-
- thumb_func_start sub_81B1B00
-sub_81B1B00: @ 81B1B00
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- asrs r6, r1, 24
-_081B1B0A:
- lsls r0, r5, 24
- asrs r0, 24
- adds r0, r6
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, r5, 24
- lsrs r0, r1, 24
- cmp r0, 0x5
- bhi _081B1B38
- asrs r4, r1, 24
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B1B0A
- adds r0, r4, 0
- b _081B1B3C
- .pool
-_081B1B38:
- movs r0, 0x1
- negs r0, r0
-_081B1B3C:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_81B1B00
-
- thumb_func_start GetMonNickname
-@ u8 *GetMonNickname(struct pokemon *mon, u8 *dest)
-GetMonNickname: @ 81B1B44
- push {r4,lr}
- adds r4, r1, 0
- movs r1, 0x2
- adds r2, r4, 0
- bl GetMonData
- adds r0, r4, 0
- bl StringGetEnd10
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetMonNickname
-
- thumb_func_start sub_81B1B5C
-sub_81B1B5C: @ 81B1B5C
- push {r4,lr}
- lsls r4, r1, 24
- lsrs r4, 24
- bl sub_81B3300
- ldr r0, =sub_81B1B8C
- movs r1, 0x1
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x8]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B1B5C
-
- thumb_func_start sub_81B1B8C
-sub_81B1B8C: @ 81B1B8C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- movs r0, 0x6
- bl RunTextPrintersRetIsActive
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- beq _081B1BC8
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _081B1BC2
- movs r0, 0x6
- movs r1, 0
- bl sub_8198070
- movs r0, 0x6
- bl ClearWindowTilemap
-_081B1BC2:
- adds r0, r5, 0
- bl DestroyTask
-_081B1BC8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1B8C
-
- thumb_func_start sub_81B1BD4
-sub_81B1BD4: @ 81B1BD4
- push {lr}
- ldr r0, =sub_81B1B8C
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B1BD4
-
- thumb_func_start sub_81B1BE8
-sub_81B1BE8: @ 81B1BE8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81221EC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B1C0E
- movs r0, 0
- bl display_pokemon_menu_message
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B1370
- str r0, [r1]
-_081B1C0E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1BE8
-
- thumb_func_start sub_81B1C1C
-sub_81B1C1C: @ 81B1C1C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B1C74
- movs r0, 0x6
- movs r1, 0
- bl sub_8198070
- movs r0, 0x6
- bl ClearWindowTilemap
- bl sub_81221AC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B1C60
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B1BE8
- b _081B1C72
- .pool
-_081B1C60:
- movs r0, 0
- bl display_pokemon_menu_message
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B1370
-_081B1C72:
- str r0, [r1]
-_081B1C74:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1C1C
-
- thumb_func_start sub_81B1C84
-sub_81B1C84: @ 81B1C84
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- ldr r1, =gStringVar1
- bl GetMonNickname
- ldr r1, =gStringVar2
- adds r0, r4, 0
- bl CopyItemName
- ldr r4, =gStringVar4
- ldr r1, =gText_PkmnWasGivenItem
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1C84
-
- thumb_func_start sub_81B1CD0
-sub_81B1CD0: @ 81B1CD0
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- ldr r1, =gStringVar1
- bl GetMonNickname
- ldr r1, =gStringVar2
- adds r0, r4, 0
- bl CopyItemName
- ldr r4, =gStringVar4
- ldr r1, =gText_RecievedItemFromPkmn
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1CD0
-
- thumb_func_start sub_81B1D1C
-sub_81B1D1C: @ 81B1D1C
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- ldr r1, =gStringVar1
- bl GetMonNickname
- ldr r1, =gStringVar2
- adds r0, r4, 0
- bl CopyItemName
- ldr r4, =gStringVar4
- ldr r1, =gText_SwitchPkmnItem
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1D1C
-
- thumb_func_start sub_81B1D68
-sub_81B1D68: @ 81B1D68
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- ldr r1, =gStringVar1
- bl CopyItemName
- ldr r1, =gStringVar2
- adds r0, r4, 0
- bl CopyItemName
- ldr r4, =gStringVar4
- ldr r1, =gText_SwitchedPkmnItem
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1D68
-
- thumb_func_start sub_81B1DB8
-sub_81B1DB8: @ 81B1DB8
- push {r4-r7,lr}
- sub sp, 0x4
- adds r6, r0, 0
- lsls r5, r1, 16
- lsrs r4, r5, 16
- adds r7, r4, 0
- adds r0, r4, 0
- bl ItemIsMail
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B1DE2
- adds r0, r6, 0
- adds r1, r4, 0
- bl GiveMailToMon
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _081B1DF6
-_081B1DE2:
- mov r0, sp
- strb r7, [r0]
- mov r1, sp
- lsrs r0, r5, 24
- strb r0, [r1, 0x1]
- adds r0, r6, 0
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
-_081B1DF6:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81B1DB8
-
- thumb_func_start sub_81B1E00
-sub_81B1E00: @ 81B1E00
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- mov r1, sp
- strh r0, [r1]
- cmp r0, 0
- bne _081B1E1C
- movs r0, 0
- b _081B1E3E
-_081B1E1C:
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- cmp r0, 0
- beq _081B1E3C
- movs r1, 0
- mov r0, sp
- strh r1, [r0]
- adds r0, r4, 0
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
- movs r0, 0x2
- b _081B1E3E
-_081B1E3C:
- movs r0, 0x1
-_081B1E3E:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81B1E00
-
- thumb_func_start pokemon_item_not_removed
-pokemon_item_not_removed: @ 81B1E48
- push {lr}
- ldr r0, =gStringVar4
- ldr r1, =gText_BagFullCouldNotRemoveItem
- bl StringExpandPlaceholders
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemon_item_not_removed
-
- thumb_func_start sub_81B1E60
-sub_81B1E60: @ 81B1E60
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r7, r0, r1
- ldrh r0, [r7, 0x4]
- ldrh r1, [r7]
- adds r0, r1
- strh r0, [r7]
- ldrh r0, [r7, 0x6]
- subs r0, 0x1
- strh r0, [r7, 0x6]
- movs r2, 0x8
- ldrsh r0, [r7, r2]
- movs r5, 0x64
- muls r0, r5
- ldr r4, =gPlayerParty
- adds r0, r4
- movs r1, 0x39
- adds r2, r7, 0
- bl SetMonData
- movs r3, 0x8
- ldrsh r2, [r7, r3]
- adds r0, r2, 0
- muls r0, r5
- adds r0, r4
- ldr r6, =gUnknown_0203CEDC
- lsls r2, 4
- ldr r1, [r6]
- adds r1, r2
- movs r2, 0x1
- bl sub_81B2CD4
- movs r0, 0x8
- ldrsh r2, [r7, r0]
- adds r0, r2, 0
- muls r0, r5
- adds r0, r4
- lsls r2, 4
- ldr r1, [r6]
- adds r1, r2
- bl sub_81B2E28
- movs r1, 0x6
- ldrsh r0, [r7, r1]
- cmp r0, 0
- beq _081B1EDC
- movs r2, 0
- ldrsh r1, [r7, r2]
- cmp r1, 0
- beq _081B1EDC
- movs r3, 0x2
- ldrsh r0, [r7, r3]
- cmp r1, r0
- bne _081B1EFE
-_081B1EDC:
- movs r0, 0
- ldrsh r1, [r7, r0]
- movs r2, 0xA
- ldrsh r0, [r7, r2]
- cmp r1, r0
- ble _081B1EF8
- ldr r0, =gStringVar2
- movs r3, 0xA
- ldrsh r2, [r7, r3]
- subs r1, r2
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
-_081B1EF8:
- mov r0, r8
- bl SwitchTaskToFollowupFunc
-_081B1EFE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1E60
-
- thumb_func_start sub_81B1F18
-sub_81B1F18: @ 81B1F18
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r8, r0
- mov r9, r1
- adds r5, r2, 0
- mov r10, r3
- ldr r7, [sp, 0x20]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r5, 24
- lsrs r5, 24
- mov r0, r10
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- movs r0, 0x64
- mov r6, r9
- muls r6, r0
- ldr r0, =gPlayerParty
- adds r6, r0
- mov r0, r8
- lsls r4, r0, 2
- add r4, r8
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- adds r0, r6, 0
- movs r1, 0x39
- bl GetMonData
- strh r0, [r4]
- adds r0, r6, 0
- movs r1, 0x3A
- bl GetMonData
- strh r0, [r4, 0x2]
- lsls r5, 24
- asrs r5, 24
- strh r5, [r4, 0x4]
- mov r0, r10
- strh r0, [r4, 0x6]
- mov r0, r9
- strh r0, [r4, 0x8]
- ldrh r0, [r4]
- strh r0, [r4, 0xA]
- ldr r1, =sub_81B1E60
- mov r0, r8
- adds r2, r7, 0
- bl SetTaskFuncWithFollowupFunc
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1F18
-
- thumb_func_start sub_81B1FA8
-sub_81B1FA8: @ 81B1FA8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r3, r0, r1
- cmp r5, 0x5
- bhi _081B200A
- lsls r0, r5, 2
- ldr r1, =_081B1FD4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081B1FD4:
- .4byte _081B1FEC
- .4byte _081B1FF2
- .4byte _081B1FF6
- .4byte _081B1FFA
- .4byte _081B1FFE
- .4byte _081B2002
-_081B1FEC:
- strh r2, [r3]
- strh r2, [r3, 0xA]
- b _081B200A
-_081B1FF2:
- strh r2, [r3, 0x2]
- b _081B200A
-_081B1FF6:
- strh r2, [r3, 0x4]
- b _081B200A
-_081B1FFA:
- strh r2, [r3, 0x6]
- b _081B200A
-_081B1FFE:
- strh r2, [r3, 0x8]
- b _081B200A
-_081B2002:
- ldr r1, =sub_81B1E60
- adds r0, r4, 0
- bl SetTaskFuncWithFollowupFunc
-_081B200A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1FA8
-
- thumb_func_start pokemon_ailments_get_primary
-pokemon_ailments_get_primary: @ 81B2014
- push {lr}
- adds r1, r0, 0
- movs r0, 0x88
- ands r0, r1
- cmp r0, 0
- beq _081B2024
- movs r0, 0x1
- b _081B2056
-_081B2024:
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _081B2030
- movs r0, 0x2
- b _081B2056
-_081B2030:
- movs r0, 0x7
- ands r0, r1
- cmp r0, 0
- beq _081B203C
- movs r0, 0x3
- b _081B2056
-_081B203C:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _081B2048
- movs r0, 0x4
- b _081B2056
-_081B2048:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _081B2054
- movs r0, 0
- b _081B2056
-_081B2054:
- movs r0, 0x5
-_081B2056:
- pop {r1}
- bx r1
- thumb_func_end pokemon_ailments_get_primary
-
- thumb_func_start sub_81B205C
-@ u8 sub_81B205C(struct pokemon *mon, int a2, void *a3)
-sub_81B205C: @ 81B205C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- bne _081B206E
- movs r0, 0x7
- b _081B2096
-_081B206E:
- adds r0, r4, 0
- movs r1, 0x37
- bl GetMonData
- bl pokemon_ailments_get_primary
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _081B2096
- adds r0, r4, 0
- movs r1, 0
- bl CheckPartyPokerus
- lsls r0, 24
- cmp r0, 0
- bne _081B2094
- movs r0, 0
- b _081B2096
-_081B2094:
- movs r0, 0x6
-_081B2096:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81B205C
-
- thumb_func_start sub_81B209C
-sub_81B209C: @ 81B209C
- push {r4,r5,lr}
- ldr r2, =gUnknown_0203CEC8
- ldrb r1, [r2, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0xB
- bne _081B2126
- adds r5, r2, 0
- adds r5, 0xE
- movs r0, 0
- strh r0, [r2, 0xE]
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0
- bne _081B20FC
- movs r4, 0
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r4, r0
- bcs _081B2126
-_081B20C4:
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- bl sub_81B2134
- lsls r0, 16
- lsrs r0, 16
- lsls r0, r4
- ldrh r1, [r5]
- adds r0, r1
- strh r0, [r5]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r4, r0
- bcc _081B20C4
- b _081B2126
- .pool
-_081B20FC:
- movs r4, 0
- b _081B211E
-_081B2100:
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- bl sub_81B2164
- lsls r0, 16
- lsrs r0, 16
- lsls r0, r4
- ldrh r1, [r5]
- adds r0, r1
- strh r0, [r5]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_081B211E:
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r4, r0
- bcc _081B2100
-_081B2126:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B209C
-
- thumb_func_start sub_81B2134
-sub_81B2134: @ 81B2134
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0x1
- beq _081B215A
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- bl sub_802C908
- cmp r0, 0
- beq _081B215A
- movs r0, 0x1
- b _081B215C
-_081B215A:
- movs r0, 0
-_081B215C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81B2134
-
- thumb_func_start sub_81B2164
-sub_81B2164: @ 81B2164
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0x1
- beq _081B2182
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0x55
- bne _081B2182
- movs r0, 0x1
- b _081B2184
-_081B2182:
- movs r0, 0
-_081B2184:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81B2164
-
- thumb_func_start sub_81B218C
-sub_81B218C: @ 81B218C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0203CEC8
- movs r2, 0xE
- ldrsh r1, [r1, r2]
- asrs r1, r0
- movs r0, 0x1
- ands r1, r0
- cmp r1, 0
- bne _081B21A4
- movs r0, 0
-_081B21A4:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B218C
-
- thumb_func_start sub_81B21AC
-sub_81B21AC: @ 81B21AC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- adds r0, r5, 0
- bl sub_81B218C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B21DC
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gSpecialVar_0x8004
- strh r5, [r0]
- adds r0, r4, 0
- bl sub_81B12C0
- b _081B21FE
- .pool
-_081B21DC:
- movs r0, 0x20
- bl PlaySE
- ldr r0, =gText_PkmnCantParticipate
- movs r1, 0
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B1C1C
- str r1, [r0]
-_081B21FE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B21AC
-
- thumb_func_start sub_81B2210
-sub_81B2210: @ 81B2210
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gText_CancelParticipation
- movs r1, 0x1
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B2248
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2210
-
- thumb_func_start sub_81B2248
-sub_81B2248: @ 81B2248
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B226C
- bl sub_81B334C
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B227C
- str r0, [r1]
-_081B226C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2248
-
- thumb_func_start sub_81B227C
-sub_81B227C: @ 81B227C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _081B22A2
- cmp r1, 0
- bgt _081B229C
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _081B22B4
- b _081B22C8
-_081B229C:
- cmp r1, 0x1
- beq _081B22BA
- b _081B22C8
-_081B22A2:
- ldr r1, =gSpecialVar_0x8004
- movs r0, 0x7
- strh r0, [r1]
- adds r0, r4, 0
- bl sub_81B12C0
- b _081B22C8
- .pool
-_081B22B4:
- movs r0, 0x5
- bl PlaySE
-_081B22BA:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B1C1C
- str r0, [r1]
-_081B22C8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B227C
-
- thumb_func_start sub_81B22D8
-sub_81B22D8: @ 81B22D8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- lsls r1, 16
- lsrs r4, r1, 16
- adds r7, r4, 0
- lsls r2, 24
- lsrs r6, r2, 24
- mov r8, r6
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- beq _081B22FA
- movs r0, 0x3
- b _081B2356
-_081B22FA:
- movs r0, 0x90
- lsls r0, 1
- cmp r4, r0
- bls _081B231C
- adds r1, r4, 0
- subs r1, 0x21
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl CanMonLearnTMHM
- cmp r0, 0
- beq _081B2334
- adds r0, r7, 0
- bl ItemIdToBattleMoveId
- b _081B233E
-_081B231C:
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- adds r1, r6, 0
- bl sub_81B2370
- lsls r0, 24
- cmp r0, 0
- bne _081B2338
-_081B2334:
- movs r0, 0x1
- b _081B2356
-_081B2338:
- mov r0, r8
- bl sub_81B2360
-_081B233E:
- lsls r0, 16
- lsrs r1, r0, 16
- adds r0, r5, 0
- bl pokemon_has_move
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B2354
- movs r0, 0
- b _081B2356
-_081B2354:
- movs r0, 0x2
-_081B2356:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81B22D8
-
- thumb_func_start sub_81B2360
-sub_81B2360: @ 81B2360
- lsls r0, 24
- ldr r1, =gUnknown_0861500C
- lsrs r0, 23
- adds r0, r1
- ldrh r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_81B2360
-
- thumb_func_start sub_81B2370
-sub_81B2370: @ 81B2370
- push {lr}
- lsls r0, 16
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gUnknown_08615048
- lsrs r0, 14
- adds r0, r2
- movs r2, 0x1
- lsls r2, r1
- ldr r0, [r0]
- ands r0, r2
- cmp r0, 0
- bne _081B2394
- movs r0, 0
- b _081B2396
- .pool
-_081B2394:
- movs r0, 0x1
-_081B2396:
- pop {r1}
- bx r1
- thumb_func_end sub_81B2370
-
- thumb_func_start sub_81B239C
-sub_81B239C: @ 81B239C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x1
- beq _081B23C4
- cmp r0, 0x1
- bgt _081B23B2
- cmp r0, 0
- beq _081B23B8
- b _081B23DC
-_081B23B2:
- cmp r1, 0x2
- beq _081B23D0
- b _081B23DC
-_081B23B8:
- ldr r0, =gUnknown_08615810
- bl InitWindows
- b _081B23E2
- .pool
-_081B23C4:
- ldr r0, =gUnknown_08615850
- bl InitWindows
- b _081B23E2
- .pool
-_081B23D0:
- ldr r0, =gUnknown_08615890
- bl InitWindows
- b _081B23E2
- .pool
-_081B23DC:
- ldr r0, =gUnknown_086158D0
- bl InitWindows
-_081B23E2:
- bl DeactivateAllTextPrinters
- movs r4, 0
-_081B23E8:
- adds r0, r4, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _081B23E8
- movs r0, 0
- movs r1, 0x4F
- movs r2, 0xD0
- bl LoadUserWindowBorderGfx
- bl GetOverworldTextboxPalettePtr
- movs r1, 0xE0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_0860F074
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B239C
-
- thumb_func_start sub_81B2428
-sub_81B2428: @ 81B2428
- push {r4-r6,lr}
- sub sp, 0x14
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0203CEC8
- ldrb r1, [r0, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x5
- bne _081B243E
- b _081B2554
-_081B243E:
- cmp r2, 0x1
- bne _081B24B4
- ldr r0, =gUnknown_08615918
- bl AddWindow
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r5, =gMenuText_Confirm
- movs r0, 0
- adds r1, r5, 0
- movs r2, 0x30
- bl GetStringCenterAlignXOffset
- lsls r0, 24
- lsrs r2, r0, 24
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- ldr r0, =gUnknown_086157FC
- str r0, [sp, 0x8]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0xC]
- str r5, [sp, 0x10]
- adds r0, r4, 0
- movs r1, 0
- movs r3, 0x1
- bl AddTextPrinterParameterized4
- adds r0, r4, 0
- bl PutWindowTilemap
- adds r0, r4, 0
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, =gUnknown_08615910
- bl AddWindow
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0
- b _081B24C0
- .pool
-_081B24B4:
- ldr r0, =gUnknown_08615908
- bl AddWindow
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0x3
-_081B24C0:
- adds r0, r5, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r0, =gUnknown_0203CEC8
- ldrb r1, [r0, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0xA
- beq _081B2514
- ldr r4, =gText_Cancel
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0x30
- bl GetStringCenterAlignXOffset
- lsls r0, 24
- lsrs r2, r0, 24
- adds r2, r6
- lsls r2, 24
- lsrs r2, 24
- ldr r0, =gUnknown_086157FC
- str r0, [sp]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r5, 0
- movs r1, 0
- movs r3, 0x1
- bl AddTextPrinterParameterized3
- b _081B2540
- .pool
-_081B2514:
- ldr r4, =gText_Cancel2
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0x30
- bl GetStringCenterAlignXOffset
- lsls r0, 24
- lsrs r2, r0, 24
- adds r2, r6
- lsls r2, 24
- lsrs r2, 24
- ldr r0, =gUnknown_086157FC
- str r0, [sp]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r5, 0
- movs r1, 0
- movs r3, 0x1
- bl AddTextPrinterParameterized3
-_081B2540:
- adds r0, r5, 0
- bl PutWindowTilemap
- adds r0, r5, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
-_081B2554:
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2428
-
- thumb_func_start sub_81B2564
-sub_81B2564: @ 81B2564
- lsls r0, 24
- ldr r1, =gUnknown_0203CEC4
- lsrs r0, 23
- adds r0, 0x18
- ldr r1, [r1]
- adds r1, r0
- adds r0, r1, 0
- bx lr
- .pool
- thumb_func_end sub_81B2564
-
- thumb_func_start sub_81B2578
-sub_81B2578: @ 81B2578
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- str r1, [sp, 0xC]
- ldr r1, [sp, 0x4C]
- ldr r4, [sp, 0x50]
- ldr r5, [sp, 0x54]
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x8]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x10]
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x14]
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x18]
- lsls r4, 24
- lsrs r6, r4, 24
- lsls r5, 24
- lsrs r5, 24
- mov r10, r5
- mov r0, r10
- muls r0, r6
- lsls r0, 5
- bl AllocZeroed
- mov r9, r0
- cmp r0, 0
- beq _081B2646
- movs r5, 0
- ldr r0, [sp, 0x14]
- lsls r0, 19
- str r0, [sp, 0x1C]
- ldr r1, [sp, 0x18]
- lsls r1, 19
- str r1, [sp, 0x20]
- lsls r2, r6, 19
- str r2, [sp, 0x24]
- mov r0, r10
- lsls r0, 19
- str r0, [sp, 0x28]
- cmp r5, r10
- bcs _081B2624
-_081B25DA:
- movs r4, 0
- adds r1, r5, 0x1
- mov r8, r1
- cmp r4, r6
- bcs _081B261A
- ldr r2, [sp, 0x18]
- adds r0, r2, r5
- ldr r2, [sp, 0x10]
- adds r1, r0, 0
- muls r1, r2
- adds r7, r1, 0
-_081B25F0:
- ldr r1, [sp, 0x14]
- adds r0, r1, r4
- adds r0, r7
- ldr r2, [sp, 0xC]
- adds r0, r2, r0
- ldrb r0, [r0]
- bl sub_81B0DD4
- adds r1, r5, 0
- muls r1, r6
- adds r1, r4
- lsls r1, 5
- add r1, r9
- movs r2, 0x10
- bl CpuSet
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r6
- bcc _081B25F0
-_081B261A:
- mov r1, r8
- lsls r0, r1, 24
- lsrs r5, r0, 24
- cmp r5, r10
- bcc _081B25DA
-_081B2624:
- ldr r0, [sp, 0x1C]
- lsrs r2, r0, 16
- ldr r1, [sp, 0x20]
- lsrs r3, r1, 16
- ldr r1, [sp, 0x24]
- lsrs r0, r1, 16
- str r0, [sp]
- ldr r1, [sp, 0x28]
- lsrs r0, r1, 16
- str r0, [sp, 0x4]
- ldr r0, [sp, 0x8]
- mov r1, r9
- bl BlitBitmapToWindow
- mov r0, r9
- bl Free
-_081B2646:
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81B2578
-
- thumb_func_start sub_81B2658
-sub_81B2658: @ 81B2658
- push {r4-r6,lr}
- sub sp, 0xC
- ldr r4, [sp, 0x1C]
- ldr r5, [sp, 0x20]
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- cmp r3, 0
- bne _081B2684
- cmp r4, 0
- bne _081B2684
- movs r3, 0xA
- movs r4, 0x7
-_081B2684:
- cmp r5, 0
- bne _081B26A0
- ldr r1, =gUnknown_08615988
- str r2, [sp]
- str r3, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r2, 0xA
- adds r3, r6, 0
- bl sub_81B2578
- b _081B26B0
- .pool
-_081B26A0:
- ldr r1, =gUnknown_086159CE
- str r2, [sp]
- str r3, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r2, 0xA
- adds r3, r6, 0
- bl sub_81B2578
-_081B26B0:
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2658
-
- thumb_func_start sub_81B26BC
-sub_81B26BC: @ 81B26BC
- push {r4-r6,lr}
- sub sp, 0xC
- ldr r4, [sp, 0x1C]
- ldr r5, [sp, 0x20]
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- cmp r3, 0
- bne _081B26E8
- cmp r4, 0
- bne _081B26E8
- movs r3, 0x12
- movs r4, 0x3
-_081B26E8:
- cmp r5, 0
- bne _081B2704
- ldr r1, =gUnknown_08615A14
- str r2, [sp]
- str r3, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r2, 0x12
- adds r3, r6, 0
- bl sub_81B2578
- b _081B2714
- .pool
-_081B2704:
- ldr r1, =gUnknown_08615A4A
- str r2, [sp]
- str r3, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r2, 0x12
- adds r3, r6, 0
- bl sub_81B2578
-_081B2714:
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B26BC
-
- thumb_func_start sub_81B2720
-sub_81B2720: @ 81B2720
- push {lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_08615A80
- movs r2, 0
- str r2, [sp]
- movs r2, 0x12
- str r2, [sp, 0x4]
- movs r2, 0x3
- str r2, [sp, 0x8]
- movs r2, 0x12
- movs r3, 0
- bl sub_81B2578
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2720
-
- thumb_func_start sub_81B2748
-sub_81B2748: @ 81B2748
- push {r4-r7,lr}
- lsls r1, 24
- lsrs r4, r1, 24
- adds r5, r4, 0
- ldrb r0, [r0, 0x8]
- movs r1, 0x5
- bl GetWindowAttribute
- lsls r0, 28
- lsrs r6, r0, 24
- adds r7, r6, 0
- movs r0, 0x40
- ands r0, r4
- cmp r0, 0
- beq _081B277C
- ldr r5, =gUnknown_08615AF1
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615AC0
- b _081B297E
- .pool
-_081B277C:
- movs r0, 0x20
- ands r0, r4
- cmp r0, 0
- beq _081B27D8
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _081B2794
- ldr r5, =gUnknown_08615ADF
- b _081B2942
- .pool
-_081B2794:
- ldr r5, =gUnknown_08615ADF
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615ABA
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl sub_81B2564
- ldrb r1, [r4, 0x2]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldr r5, =gUnknown_08615AEE
- b _081B2976
- .pool
-_081B27D8:
- movs r0, 0x10
- ands r0, r4
- cmp r0, 0
- beq _081B2824
- ldr r5, =gUnknown_08615ADF
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615ABA
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl sub_81B2564
- ldrb r1, [r4, 0x2]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldr r5, =gUnknown_08615AEE
- b _081B2976
- .pool
-_081B2824:
- movs r0, 0x4
- ands r0, r4
- cmp r0, 0
- beq _081B2880
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _081B283C
- ldr r5, =gUnknown_08615ADF
- b _081B2942
- .pool
-_081B283C:
- ldr r5, =gUnknown_08615ADF
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615ABA
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl sub_81B2564
- ldrb r1, [r4, 0x2]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldr r5, =gUnknown_08615AEE
- b _081B2976
- .pool
-_081B2880:
- movs r0, 0x2
- ands r0, r4
- cmp r0, 0
- beq _081B28DC
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _081B2898
- ldr r5, =gUnknown_08615ADC
- b _081B2942
- .pool
-_081B2898:
- ldr r5, =gUnknown_08615AD3
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615ABA
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl sub_81B2564
- ldrb r1, [r4, 0x2]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldr r5, =gUnknown_08615AE8
- b _081B2976
- .pool
-_081B28DC:
- movs r0, 0x8
- ands r0, r4
- cmp r0, 0
- beq _081B2938
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _081B28F4
- ldr r5, =gUnknown_08615AD9
- b _081B2942
- .pool
-_081B28F4:
- ldr r5, =gUnknown_08615AD0
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615ABA
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl sub_81B2564
- ldrb r1, [r4, 0x2]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldr r5, =gUnknown_08615AE5
- b _081B2976
- .pool
-_081B2938:
- movs r0, 0x1
- ands r5, r0
- cmp r5, 0
- beq _081B29BC
- ldr r5, =gUnknown_08615AD6
-_081B2942:
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615ABA
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl sub_81B2564
- ldrb r1, [r4, 0x2]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldr r5, =gUnknown_08615AEB
-_081B2976:
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615ABD
-_081B297E:
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl sub_81B2564
- ldrb r1, [r4, 0x2]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- b _081B2A24
- .pool
-_081B29BC:
- ldr r5, =gUnknown_08615ACD
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615ABA
- ldrb r1, [r4]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl sub_81B2564
- ldrb r1, [r4, 0x2]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
- ldr r5, =gUnknown_08615AE2
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615ABD
- ldrb r1, [r4]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl sub_81B2564
- ldrb r1, [r4, 0x2]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
-_081B2A24:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2748
-
- thumb_func_start sub_81B2A3C
-sub_81B2A3C: @ 81B2A3C
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- lsls r2, 24
- lsrs r2, 24
- ldrb r5, [r3]
- ldrb r3, [r3, 0x1]
- lsls r4, r2, 1
- adds r4, r2
- ldr r2, =gUnknown_086157FC
- adds r4, r2
- str r4, [sp]
- movs r2, 0
- str r2, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0
- adds r2, r5, 0
- bl AddTextPrinterParameterized3
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2A3C
-
- thumb_func_start sub_81B2A70
-sub_81B2A70: @ 81B2A70
- push {r4-r7,lr}
- sub sp, 0x14
- adds r7, r0, 0
- adds r6, r1, 0
- lsls r2, 24
- lsrs r4, r2, 24
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B2AC0
- cmp r4, 0x1
- bne _081B2AAA
- ldr r5, [r6]
- ldrb r0, [r6, 0x8]
- ldrb r1, [r5, 0x4]
- lsrs r1, 3
- ldrb r2, [r5, 0x5]
- lsrs r2, 3
- ldrb r3, [r5, 0x6]
- lsrs r3, 3
- ldrb r4, [r5, 0x7]
- lsrs r4, 3
- str r4, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r4, [r5]
- bl _call_via_r4
-_081B2AAA:
- adds r0, r7, 0
- add r1, sp, 0x8
- bl GetMonNickname
- ldrb r0, [r6, 0x8]
- ldr r3, [r6]
- adds r3, 0x4
- add r1, sp, 0x8
- movs r2, 0
- bl sub_81B2A3C
-_081B2AC0:
- add sp, 0x14
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81B2A70
-
- thumb_func_start sub_81B2AC8
-sub_81B2AC8: @ 81B2AC8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r6, r0, 0
- adds r7, r1, 0
- lsls r2, 24
- lsrs r4, r2, 24
- mov r8, r4
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B2B34
- adds r0, r6, 0
- bl sub_81B205C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _081B2AF6
- cmp r0, 0x6
- bne _081B2B34
-_081B2AF6:
- cmp r4, 0
- beq _081B2B1C
- ldr r5, [r7]
- ldrb r0, [r7, 0x8]
- ldrb r1, [r5, 0x8]
- lsrs r1, 3
- ldrb r2, [r5, 0x9]
- lsrs r2, 3
- adds r2, 0x1
- ldrb r3, [r5, 0xA]
- lsrs r3, 3
- ldrb r4, [r5, 0xB]
- lsrs r4, 3
- str r4, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r4, [r5]
- bl _call_via_r4
-_081B2B1C:
- mov r0, r8
- cmp r0, 0x2
- beq _081B2B34
- adds r0, r6, 0
- movs r1, 0x38
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- adds r1, r7, 0
- bl sub_81B2B40
-_081B2B34:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81B2AC8
-
- thumb_func_start sub_81B2B40
-sub_81B2B40: @ 81B2B40
- push {r4-r6,lr}
- adds r2, r0, 0
- adds r6, r1, 0
- lsls r2, 24
- lsrs r2, 24
- ldr r5, =gStringVar2
- adds r0, r5, 0
- adds r1, r2, 0
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar1
- ldr r1, =gText_LevelSymbol
- adds r0, r4, 0
- bl StringCopy
- adds r0, r4, 0
- adds r1, r5, 0
- bl StringAppend
- ldrb r0, [r6, 0x8]
- ldr r3, [r6]
- adds r3, 0x8
- adds r1, r4, 0
- movs r2, 0
- bl sub_81B2A3C
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2B40
-
- thumb_func_start sub_81B2B8C
-sub_81B2B8C: @ 81B2B8C
- push {r4-r7,lr}
- sub sp, 0x14
- adds r6, r0, 0
- adds r7, r1, 0
- lsls r2, 24
- lsrs r2, 24
- cmp r2, 0x1
- bne _081B2BBE
- ldr r5, [r7]
- ldrb r0, [r7, 0x8]
- ldrb r1, [r5, 0xC]
- lsrs r1, 3
- ldrb r2, [r5, 0xD]
- lsrs r2, 3
- adds r2, 0x1
- ldrb r3, [r5, 0xE]
- lsrs r3, 3
- ldrb r4, [r5, 0xF]
- lsrs r4, 3
- str r4, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r4, [r5]
- bl _call_via_r4
-_081B2BBE:
- adds r0, r6, 0
- add r1, sp, 0x8
- bl GetMonNickname
- adds r0, r6, 0
- bl GetMonGender
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- movs r1, 0xB
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- add r2, sp, 0x8
- adds r3, r7, 0
- bl sub_81B2BF4
- add sp, 0x14
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81B2B8C
-
- thumb_func_start sub_81B2BF4
-sub_81B2BF4: @ 81B2BF4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r9, r2
- adds r7, r3, 0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 16
- lsrs r4, r1, 16
- adds r5, r4, 0
- ldrb r0, [r7, 0x8]
- movs r1, 0x5
- bl GetWindowAttribute
- lsls r0, 28
- lsrs r6, r0, 24
- cmp r4, 0
- beq _081B2CBA
- cmp r4, 0x20
- beq _081B2C24
- cmp r4, 0x1D
- bne _081B2C38
-_081B2C24:
- movs r0, 0xB
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gSpeciesNames
- adds r1, r0
- mov r0, r9
- bl StringCompare
- cmp r0, 0
- beq _081B2CBA
-_081B2C38:
- mov r0, r8
- cmp r0, 0
- beq _081B2C48
- cmp r0, 0xFE
- beq _081B2C88
- b _081B2CBA
- .pool
-_081B2C48:
- ldr r5, =gUnknown_08615AC3
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615AB6
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r7, 0x8]
- ldr r1, =gText_MaleSymbol
- ldr r3, [r7]
- adds r3, 0xC
- movs r2, 0x2
- bl sub_81B2A3C
- b _081B2CBA
- .pool
-_081B2C88:
- ldr r5, =gUnknown_08615AC5
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615AB6
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r7, 0x8]
- ldr r1, =gText_FemaleSymbol
- ldr r3, [r7]
- adds r3, 0xC
- movs r2, 0x2
- bl sub_81B2A3C
-_081B2CBA:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2BF4
-
- thumb_func_start sub_81B2CD4
-sub_81B2CD4: @ 81B2CD4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r7, r0, 0
- adds r6, r1, 0
- lsls r2, 24
- lsrs r4, r2, 24
- mov r8, r4
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B2D2E
- cmp r4, 0
- beq _081B2D16
- ldr r5, [r6]
- ldrb r0, [r6, 0x8]
- ldrb r1, [r5, 0x10]
- lsrs r1, 3
- ldrb r2, [r5, 0x11]
- lsrs r2, 3
- adds r2, 0x1
- ldrb r3, [r5, 0x12]
- lsrs r3, 3
- ldrb r4, [r5, 0x13]
- lsrs r4, 3
- str r4, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r4, [r5]
- bl _call_via_r4
-_081B2D16:
- mov r0, r8
- cmp r0, 0x2
- beq _081B2D2E
- adds r0, r7, 0
- movs r1, 0x39
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- adds r1, r6, 0
- bl sub_81B2D3C
-_081B2D2E:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81B2CD4
-
- thumb_func_start sub_81B2D3C
-sub_81B2D3C: @ 81B2D3C
- push {r4,r5,lr}
- adds r2, r0, 0
- adds r4, r1, 0
- lsls r2, 16
- lsrs r2, 16
- ldr r5, =gStringVar1
- adds r0, r5, 0
- adds r1, r2, 0
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- movs r1, 0xBA
- strb r1, [r0]
- movs r1, 0xFF
- strb r1, [r0, 0x1]
- ldrb r0, [r4, 0x8]
- ldr r3, [r4]
- adds r3, 0x10
- adds r1, r5, 0
- movs r2, 0
- bl sub_81B2A3C
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2D3C
-
- thumb_func_start sub_81B2D74
-sub_81B2D74: @ 81B2D74
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r7, r0, 0
- adds r6, r1, 0
- lsls r2, 24
- lsrs r4, r2, 24
- mov r8, r4
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B2DD0
- cmp r4, 0
- beq _081B2DB8
- ldr r5, [r6]
- ldrb r0, [r6, 0x8]
- ldrb r1, [r5, 0x14]
- lsrs r1, 3
- adds r1, 0x1
- ldrb r2, [r5, 0x15]
- lsrs r2, 3
- adds r2, 0x1
- ldrb r3, [r5, 0x16]
- lsrs r3, 3
- ldrb r4, [r5, 0x17]
- lsrs r4, 3
- str r4, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r4, [r5]
- bl _call_via_r4
-_081B2DB8:
- mov r0, r8
- cmp r0, 0x2
- beq _081B2DD0
- adds r0, r7, 0
- movs r1, 0x3A
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- adds r1, r6, 0
- bl sub_81B2DDC
-_081B2DD0:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81B2D74
-
- thumb_func_start sub_81B2DDC
-sub_81B2DDC: @ 81B2DDC
- push {r4-r6,lr}
- adds r2, r0, 0
- adds r6, r1, 0
- lsls r2, 16
- lsrs r2, 16
- ldr r5, =gStringVar2
- adds r0, r5, 0
- adds r1, r2, 0
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar1
- ldr r1, =gText_Slash
- adds r0, r4, 0
- bl StringCopy
- adds r0, r4, 0
- adds r1, r5, 0
- bl StringAppend
- ldrb r0, [r6, 0x8]
- ldr r3, [r6]
- adds r3, 0x14
- adds r1, r4, 0
- movs r2, 0
- bl sub_81B2A3C
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2DDC
-
- thumb_func_start sub_81B2E28
-sub_81B2E28: @ 81B2E28
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B2E5C
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0x3A
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- adds r2, r6, 0
- bl sub_81B2E64
-_081B2E5C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81B2E28
-
- thumb_func_start sub_81B2E64
-sub_81B2E64: @ 81B2E64
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- adds r6, r2, 0
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- ldrb r0, [r6, 0x8]
- movs r1, 0x5
- bl GetWindowAttribute
- lsls r0, 28
- lsrs r7, r0, 24
- mov r1, r8
- lsls r0, r1, 16
- asrs r0, 16
- mov r2, r9
- lsls r1, r2, 16
- asrs r1, 16
- bl GetHPBarLevel
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _081B2EB0
- cmp r0, 0x2
- blt _081B2EE0
- cmp r0, 0x4
- bgt _081B2EE0
- ldr r5, =gUnknown_08615AC7
- b _081B2EB2
- .pool
-_081B2EB0:
- ldr r5, =gUnknown_08615AC9
-_081B2EB2:
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615AB8
- ldrb r1, [r4]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
- b _081B2F04
- .pool
-_081B2EE0:
- ldr r5, =gUnknown_08615ACB
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615AB8
- ldrb r1, [r4]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
-_081B2F04:
- mov r1, r8
- lsls r0, r1, 16
- asrs r0, 16
- mov r2, r9
- lsls r1, r2, 16
- asrs r1, 16
- ldr r2, [r6]
- ldrb r2, [r2, 0x1A]
- bl GetScaledHPFraction
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r6, 0x8]
- ldr r4, =gUnknown_08615AB8
- ldrb r1, [r4, 0x1]
- ldr r3, [r6]
- ldrb r2, [r3, 0x18]
- ldrb r3, [r3, 0x19]
- str r5, [sp]
- movs r7, 0x1
- str r7, [sp, 0x4]
- bl FillWindowPixelRect
- ldrb r0, [r6, 0x8]
- ldrb r1, [r4]
- ldr r3, [r6]
- ldrb r2, [r3, 0x18]
- ldrb r3, [r3, 0x19]
- adds r3, 0x1
- str r5, [sp]
- movs r4, 0x2
- str r4, [sp, 0x4]
- bl FillWindowPixelRect
- ldr r1, [r6]
- ldrb r0, [r1, 0x1A]
- cmp r5, r0
- beq _081B2F88
- ldrb r0, [r6, 0x8]
- ldrb r2, [r1, 0x18]
- adds r2, r5
- ldrb r3, [r1, 0x19]
- ldrb r1, [r1, 0x1A]
- subs r1, r5
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp]
- str r7, [sp, 0x4]
- movs r1, 0xD
- bl FillWindowPixelRect
- ldrb r0, [r6, 0x8]
- ldr r1, [r6]
- ldrb r2, [r1, 0x18]
- adds r2, r5
- ldrb r3, [r1, 0x19]
- adds r3, 0x1
- ldrb r1, [r1, 0x1A]
- subs r1, r5
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp]
- str r4, [sp, 0x4]
- movs r1, 0x2
- bl FillWindowPixelRect
-_081B2F88:
- ldrb r0, [r6, 0x8]
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2E64
-
- thumb_func_start sub_81B2FA8
-sub_81B2FA8: @ 81B2FA8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- adds r6, r1, 0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r2, 24
- lsrs r7, r2, 24
- cmp r7, 0
- beq _081B2FF2
- ldr r5, [r6]
- ldrb r1, [r5, 0x1C]
- movs r4, 0x7
- adds r0, r1, 0
- ands r0, r4
- ldrb r2, [r5, 0x1E]
- adds r0, r2
- adds r3, r0, 0x7
- asrs r3, 3
- ldrb r2, [r5, 0x1D]
- adds r0, r2, 0
- ands r0, r4
- ldrb r4, [r5, 0x1F]
- adds r0, r4
- adds r4, r0, 0x7
- ldrb r0, [r6, 0x8]
- lsrs r1, 3
- lsrs r2, 3
- lsrs r4, 3
- str r4, [sp]
- movs r4, 0x1
- str r4, [sp, 0x4]
- ldr r4, [r5]
- bl _call_via_r4
-_081B2FF2:
- cmp r7, 0x2
- beq _081B3018
- ldrb r0, [r6, 0x8]
- ldr r1, [r6]
- ldrb r2, [r1, 0x1C]
- ldrb r3, [r1, 0x1D]
- ldr r1, =gUnknown_086157FC
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- ldr r4, =gUnknown_08615B60
- mov r5, r8
- lsls r1, r5, 2
- adds r1, r4
- ldr r1, [r1]
- str r1, [sp, 0x8]
- movs r1, 0x1
- bl AddTextPrinterParameterized3
-_081B3018:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2FA8
-
- thumb_func_start sub_81B302C
-sub_81B302C: @ 81B302C
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _081B304C
- movs r1, 0
- bl sub_8198070
- ldrb r0, [r4]
- bl RemoveWindow
- movs r0, 0xFF
- strb r0, [r4]
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
-_081B304C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B302C
-
- thumb_func_start display_pokemon_menu_message
-display_pokemon_menu_message: @ 81B3054
- push {r4-r6,lr}
- sub sp, 0xC
- adds r6, r0, 0
- ldr r0, =gUnknown_0203CEC4
- ldr r4, [r0]
- adds r5, r4, 0
- adds r5, 0xD
- ldrb r0, [r4, 0xD]
- cmp r0, 0xFF
- beq _081B306E
- adds r0, r5, 0
- bl sub_81B302C
-_081B306E:
- cmp r6, 0x7F
- beq _081B313C
- adds r0, r6, 0
- subs r0, 0x15
- cmp r0, 0x5
- bhi _081B30D4
- lsls r0, 2
- ldr r1, =_081B308C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081B308C:
- .4byte _081B30A4
- .4byte _081B30BC
- .4byte _081B30BC
- .4byte _081B30AC
- .4byte _081B30B4
- .4byte _081B30C4
-_081B30A4:
- ldr r0, =gUnknown_08615928
- b _081B30C6
- .pool
-_081B30AC:
- ldr r0, =gUnknown_08615930
- b _081B30C6
- .pool
-_081B30B4:
- ldr r0, =gUnknown_08615938
- b _081B30C6
- .pool
-_081B30BC:
- ldr r0, =gUnknown_08615940
- b _081B30C6
- .pool
-_081B30C4:
- ldr r0, =gUnknown_08615948
-_081B30C6:
- bl AddWindow
- strb r0, [r5]
- b _081B30DC
- .pool
-_081B30D4:
- ldr r0, =gUnknown_08615920
- bl AddWindow
- strb r0, [r4, 0xD]
-_081B30DC:
- cmp r6, 0
- bne _081B3104
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- cmp r0, 0
- beq _081B30F8
- movs r6, 0x2
- b _081B3104
- .pool
-_081B30F8:
- bl sub_81B314C
- lsls r0, 24
- cmp r0, 0
- bne _081B3104
- movs r6, 0x1
-_081B3104:
- ldrb r0, [r5]
- movs r1, 0
- movs r2, 0x4F
- movs r3, 0xD
- bl SetWindowBorderStyle
- ldr r4, =gStringVar4
- ldr r1, =gUnknown_08615AF4
- lsls r0, r6, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldrb r0, [r5]
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0
- bl AddTextPrinterParameterized
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
-_081B313C:
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end display_pokemon_menu_message
-
- thumb_func_start sub_81B314C
-sub_81B314C: @ 81B314C
- push {r4-r7,lr}
- ldr r7, =gPlayerParty
- movs r6, 0
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0xB]
- cmp r0, 0x1
- bne _081B3168
-_081B315A:
- movs r0, 0x1
- b _081B31AA
- .pool
-_081B3168:
- movs r5, 0
-_081B316A:
- movs r0, 0x64
- muls r0, r5
- adds r4, r7, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B319A
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- bne _081B3194
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- beq _081B319A
-_081B3194:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_081B319A:
- cmp r6, 0x1
- bhi _081B315A
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _081B316A
- movs r0, 0
-_081B31AA:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81B314C
-
- thumb_func_start sub_81B31B0
-sub_81B31B0: @ 81B31B0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x1C
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- beq _081B320C
- cmp r4, 0x1
- bgt _081B31CC
- cmp r4, 0
- beq _081B31D2
- b _081B321C
-_081B31CC:
- cmp r4, 0x2
- beq _081B3214
- b _081B321C
-_081B31D2:
- ldr r0, =gUnknown_0203CEC4
- ldr r1, [r0]
- ldrb r0, [r1, 0x17]
- lsls r0, 1
- movs r3, 0x13
- subs r3, r0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0xA
- str r0, [sp]
- ldrb r0, [r1, 0x17]
- lsls r0, 25
- lsrs r0, 24
- str r0, [sp, 0x4]
- movs r0, 0xE
- str r0, [sp, 0x8]
- ldr r0, =0x000002e9
- str r0, [sp, 0xC]
- add r0, sp, 0x14
- movs r1, 0x2
- movs r2, 0x13
- bl SetWindowTemplateFields
- b _081B3226
- .pool
-_081B320C:
- ldr r0, =gUnknown_08615950
- b _081B321E
- .pool
-_081B3214:
- ldr r0, =gUnknown_08615958
- b _081B321E
- .pool
-_081B321C:
- ldr r0, =gUnknown_08615960
-_081B321E:
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x14]
- str r1, [sp, 0x18]
-_081B3226:
- add r0, sp, 0x14
- bl AddWindow
- ldr r6, =gUnknown_0203CEC4
- ldr r1, [r6]
- strb r0, [r1, 0xC]
- ldr r0, [r6]
- ldrb r0, [r0, 0xC]
- movs r1, 0
- movs r2, 0x4F
- movs r3, 0xD
- bl SetWindowBorderStyle
- cmp r4, 0x3
- bne _081B3250
- ldr r0, [r6]
- b _081B32E2
- .pool
-_081B3250:
- movs r0, 0x1
- movs r1, 0
- bl GetMenuCursorDimensionByFont
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r0, 0x1
- movs r1, 0x2
- bl GetFontAttribute
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r5, 0
- ldr r0, [r6]
- ldrb r0, [r0, 0x17]
- cmp r5, r0
- bcs _081B32CA
- adds r7, r6, 0
- movs r6, 0
-_081B327A:
- ldr r1, [r7]
- adds r0, r1, 0
- adds r0, 0xF
- adds r4, r0, r5
- ldrb r0, [r4]
- movs r2, 0x3
- cmp r0, 0x12
- bls _081B328C
- movs r2, 0x4
-_081B328C:
- ldrb r0, [r1, 0xC]
- lsls r3, r5, 4
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- mov r1, r8
- str r1, [sp]
- str r6, [sp, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- ldr r2, =gUnknown_086157FC
- adds r1, r2
- str r1, [sp, 0x8]
- str r6, [sp, 0xC]
- ldr r2, =gUnknown_08615C08
- ldrb r1, [r4]
- lsls r1, 3
- adds r1, r2
- ldr r1, [r1]
- str r1, [sp, 0x10]
- movs r1, 0x1
- mov r2, r9
- bl AddTextPrinterParameterized4
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, [r7]
- ldrb r0, [r0, 0x17]
- cmp r5, r0
- bcc _081B327A
-_081B32CA:
- ldr r4, =gUnknown_0203CEC4
- ldr r1, [r4]
- ldrb r0, [r1, 0xC]
- ldrb r1, [r1, 0x17]
- movs r2, 0
- movs r3, 0x1
- bl InitMenuInUpperLeftCorner
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r0, [r4]
-_081B32E2:
- ldrb r0, [r0, 0xC]
- add sp, 0x1C
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B31B0
-
- thumb_func_start sub_81B3300
-sub_81B3300: @ 81B3300
- push {r4,lr}
- sub sp, 0x10
- adds r4, r0, 0
- movs r0, 0x6
- movs r1, 0
- movs r2, 0x4F
- movs r3, 0xD
- bl SetWindowBorderStyle
- ldr r2, =gTextFlags
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- bl GetPlayerTextSpeedDelay
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- 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, 0x6
- movs r1, 0x1
- adds r2, r4, 0
- bl AddTextPrinterParameterized2
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B3300
-
- thumb_func_start sub_81B334C
-sub_81B334C: @ 81B334C
- push {lr}
- ldr r0, =gUnknown_08615968
- movs r1, 0x4F
- movs r2, 0xD
- movs r3, 0
- bl CreateYesNoMenu
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B334C
-
- thumb_func_start sub_81B3364
-sub_81B3364: @ 81B3364
- push {r4,lr}
- ldr r0, =gUnknown_08615970
- bl AddWindow
- ldr r4, =gUnknown_0203CEC4
- ldr r1, [r4]
- strb r0, [r1, 0xC]
- ldr r0, [r4]
- ldrb r0, [r0, 0xC]
- movs r1, 0
- movs r2, 0x4F
- movs r3, 0xD
- bl SetWindowBorderStyle
- ldr r0, [r4]
- ldrb r0, [r0, 0xC]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B3364
-
- thumb_func_start sub_81B3394
-sub_81B3394: @ 81B3394
- push {r4,lr}
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- ldrb r0, [r0, 0xC]
- bl ClearWindowTilemap
- ldr r0, [r4]
- adds r0, 0xC
- bl sub_81B302C
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B3394
-
- thumb_func_start sub_81B33B4
-sub_81B33B4: @ 81B33B4
- push {r4,lr}
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- cmp r2, 0
- bne _081B33C8
- bl sub_81B3414
- b _081B3400
-_081B33C8:
- ldr r4, =gUnknown_0203CEC4
- ldr r1, [r4]
- ldr r0, =gUnknown_08615D70
- adds r0, r2, r0
- ldrb r0, [r0]
- strb r0, [r1, 0x17]
- movs r3, 0
- ldr r0, [r4]
- ldrb r0, [r0, 0x17]
- cmp r3, r0
- bcs _081B3400
- ldr r1, =gUnknown_08615D38
- lsls r0, r2, 2
- adds r2, r0, r1
-_081B33E4:
- ldr r1, [r4]
- adds r1, 0xF
- adds r1, r3
- ldr r0, [r2]
- adds r0, r3
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r0, [r4]
- ldrb r0, [r0, 0x17]
- cmp r3, r0
- bcc _081B33E4
-_081B3400:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B33B4
-
- thumb_func_start sub_81B3414
-sub_81B3414: @ 81B3414
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r9, r0
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- ldr r2, =gUnknown_0203CEC4
- ldr r1, [r2]
- movs r0, 0
- strb r0, [r1, 0x17]
- ldr r1, [r2]
- adds r0, r1, 0
- adds r0, 0xF
- adds r1, 0x17
- movs r2, 0
- bl AppendToList
- movs r7, 0
- ldr r0, =gUnknown_08615D7E
- ldrh r0, [r0]
- str r0, [sp]
-_081B3446:
- movs r4, 0
- adds r0, r7, 0x1
- mov r8, r0
- ldr r1, [sp]
- cmp r1, 0xE
- beq _081B34A0
- movs r0, 0x64
- mov r6, r10
- muls r6, r0
- ldr r5, =gUnknown_08615D7E
-_081B345A:
- mov r1, r9
- adds r0, r1, r6
- adds r1, r7, 0
- adds r1, 0xD
- bl GetMonData
- lsls r1, r4, 1
- adds r1, r5
- ldrh r1, [r1]
- cmp r0, r1
- bne _081B3490
- ldr r0, =gUnknown_0203CEC4
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0xF
- adds r1, 0x17
- adds r2, r4, 0
- adds r2, 0x13
- lsls r2, 24
- lsrs r2, 24
- bl AppendToList
- b _081B34A0
- .pool
-_081B3490:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 1
- adds r0, r5
- ldrh r0, [r0]
- cmp r0, 0xE
- bne _081B345A
-_081B34A0:
- mov r1, r8
- lsls r0, r1, 24
- lsrs r7, r0, 24
- cmp r7, 0x3
- bls _081B3446
- bl InBattlePike
- lsls r0, 24
- cmp r0, 0
- bne _081B3518
- mov r0, r9
- adds r0, 0x64
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B34D2
- ldr r0, =gUnknown_0203CEC4
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0xF
- adds r1, 0x17
- movs r2, 0x1
- bl AppendToList
-_081B34D2:
- movs r0, 0x64
- mov r1, r10
- muls r1, r0
- adds r0, r1, 0
- add r0, r9
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _081B3508
- ldr r0, =gUnknown_0203CEC4
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0xF
- adds r1, 0x17
- movs r2, 0x6
- bl AppendToList
- b _081B3518
- .pool
-_081B3508:
- ldr r0, =gUnknown_0203CEC4
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0xF
- adds r1, 0x17
- movs r2, 0x3
- bl AppendToList
-_081B3518:
- ldr r0, =gUnknown_0203CEC4
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0xF
- adds r1, 0x17
- movs r2, 0x2
- bl AppendToList
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B3414
-
- thumb_func_start sub_81B353C
-sub_81B353C: @ 81B353C
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, =gUnknown_0203CEC8
- ldrb r0, [r1, 0x8]
- lsls r0, 28
- lsrs r0, 28
- adds r2, r1, 0
- cmp r0, 0xC
- bhi _081B35FE
- lsls r0, 2
- ldr r1, =_081B3560
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081B3560:
- .4byte _081B3594
- .4byte _081B35B0
- .4byte _081B35FE
- .4byte _081B35FE
- .4byte _081B35BC
- .4byte _081B35FE
- .4byte _081B35DC
- .4byte _081B35FE
- .4byte _081B35EE
- .4byte _081B35F2
- .4byte _081B35F6
- .4byte _081B35FE
- .4byte _081B35FA
-_081B3594:
- bl InMultiBattleRoom
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B35AC
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- beq _081B35FE
-_081B35AC:
- movs r1, 0x1
- b _081B3600
-_081B35B0:
- adds r0, r4, 0
- bl sub_81B8A2C
- lsls r0, 24
- lsrs r1, r0, 24
- b _081B3600
-_081B35BC:
- movs r0, 0x9
- ldrsb r0, [r2, r0]
- bl sub_81B856C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _081B35D4
- cmp r0, 0x1
- beq _081B35D8
- movs r1, 0x7
- b _081B3600
-_081B35D4:
- movs r1, 0x4
- b _081B3600
-_081B35D8:
- movs r1, 0x5
- b _081B3600
-_081B35DC:
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- movs r1, 0x6
- cmp r0, 0
- beq _081B3600
- movs r1, 0x7
- b _081B3600
-_081B35EE:
- movs r1, 0xA
- b _081B3600
-_081B35F2:
- movs r1, 0xB
- b _081B3600
-_081B35F6:
- movs r1, 0xC
- b _081B3600
-_081B35FA:
- movs r1, 0xD
- b _081B3600
-_081B35FE:
- movs r1, 0
-_081B3600:
- adds r0, r1, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81B353C
-
- thumb_func_start sub_81B3608
-sub_81B3608: @ 81B3608
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r4, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r4, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r7, =gPlayerParty
- adds r5, r0, r7
- ldr r1, =gStringVar1
- adds r0, r5, 0
- bl GetMonNickname
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- adds r0, 0xD
- bl sub_81B302C
- ldrb r1, [r4, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0xC
- beq _081B3674
- ldrb r4, [r4, 0x9]
- adds r0, r5, 0
- bl sub_81B353C
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r7, 0
- adds r1, r4, 0
- bl sub_81B33B4
- movs r0, 0
- bl sub_81B31B0
- movs r0, 0x15
- bl display_pokemon_menu_message
- b _081B36EA
- .pool
-_081B3674:
- adds r0, r5, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0
- bne _081B36C0
- ldr r4, =gStringVar4
- ldr r1, =gText_PkmnNotHolding
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- mov r2, r8
- lsls r0, r2, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B469C
- str r1, [r0]
- movs r0, 0
- b _081B36EC
- .pool
-_081B36C0:
- ldrb r4, [r4, 0x9]
- adds r0, r5, 0
- bl sub_81B353C
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r7, 0
- adds r1, r4, 0
- bl sub_81B33B4
- movs r0, 0x1
- bl sub_81B31B0
- ldr r1, =gStringVar2
- adds r0, r6, 0
- bl CopyItemName
- movs r0, 0x1A
- bl display_pokemon_menu_message
-_081B36EA:
- movs r0, 0x1
-_081B36EC:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B3608
-
- thumb_func_start sub_81B36FC
-sub_81B36FC: @ 81B36FC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_81B3608
- lsls r0, 24
- cmp r0, 0
- beq _081B3720
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0xFF
- strh r1, [r0, 0x8]
- ldr r1, =sub_81B3730
- str r1, [r0]
-_081B3720:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B36FC
-
- thumb_func_start sub_81B3730
-sub_81B3730: @ 81B3730
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081B37EE
- bl sub_81221EC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B37EE
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrb r0, [r0, 0x17]
- cmp r0, 0x3
- bhi _081B3774
- bl Menu_ProcessInputNoWrapAround_other
- b _081B3778
- .pool
-_081B3774:
- bl ProcessMenuInput_other
-_081B3778:
- lsls r0, 24
- lsrs r4, r0, 24
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5]
- lsls r0, r4, 24
- asrs r5, r0, 24
- movs r0, 0x2
- negs r0, r0
- cmp r5, r0
- beq _081B37EE
- adds r0, 0x1
- cmp r5, r0
- bne _081B37CC
- movs r0, 0x5
- bl PlaySE
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- adds r0, 0xE
- bl sub_81B302C
- ldr r2, =gUnknown_08615C08
- ldr r0, [r4]
- ldrb r1, [r0, 0x17]
- adds r0, r1
- ldrb r0, [r0, 0xE]
- lsls r0, 3
- adds r2, 0x4
- adds r0, r2
- ldr r1, [r0]
- adds r0, r6, 0
- bl _call_via_r1
- b _081B37EE
- .pool
-_081B37CC:
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- adds r0, 0xE
- bl sub_81B302C
- ldr r1, =gUnknown_08615C08
- ldr r0, [r4]
- adds r0, 0xF
- adds r0, r5
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- adds r0, r6, 0
- bl _call_via_r1
-_081B37EE:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B3730
-
- thumb_func_start sub_81B37FC
-sub_81B37FC: @ 81B37FC
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_0203CEC4
- ldr r1, [r0]
- ldr r0, =sub_81B3828
- str r0, [r1, 0x4]
- adds r0, r4, 0
- bl sub_81B12C0
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B37FC
-
- thumb_func_start sub_81B3828
-sub_81B3828: @ 81B3828
- push {r4,lr}
- sub sp, 0x4
- ldr r4, =gUnknown_0203CEC8
- ldrb r1, [r4, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x1
- bne _081B3868
- bl pokemon_change_order
- ldr r1, =gPlayerParty
- ldrb r2, [r4, 0x9]
- ldr r0, =gPlayerPartyCount
- ldrb r3, [r0]
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- ldr r0, =sub_81B3894
- str r0, [sp]
- movs r0, 0x1
- bl ShowPokemonSummaryScreen
- b _081B3880
- .pool
-_081B3868:
- ldr r1, =gPlayerParty
- ldrb r2, [r4, 0x9]
- ldr r0, =gPlayerPartyCount
- ldrb r3, [r0]
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- ldr r0, =sub_81B3894
- str r0, [sp]
- movs r0, 0
- bl ShowPokemonSummaryScreen
-_081B3880:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B3828
-
- thumb_func_start sub_81B3894
-sub_81B3894: @ 81B3894
- push {lr}
- sub sp, 0xC
- ldr r2, =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- ldr r3, =gUnknown_0203CEC8
- ldr r0, =gUnknown_0203CF20
- ldrb r0, [r0]
- strb r0, [r3, 0x9]
- ldrb r0, [r3, 0x8]
- lsls r0, 28
- lsrs r0, 28
- ldrb r2, [r3, 0xB]
- movs r1, 0x15
- str r1, [sp]
- ldr r1, =sub_81B36FC
- str r1, [sp, 0x4]
- ldr r1, [r3]
- str r1, [sp, 0x8]
- movs r1, 0xFF
- movs r3, 0x1
- bl sub_81B0038
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B3894
-
- thumb_func_start brm_switch
-brm_switch: @ 81B38DC
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- movs r0, 0x5
- bl PlaySE
- ldr r5, =gUnknown_0203CEC8
- movs r0, 0x8
- strb r0, [r5, 0xB]
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- adds r0, 0xD
- bl sub_81B302C
- ldr r0, [r4]
- adds r0, 0xC
- bl sub_81B302C
- movs r0, 0x3
- bl display_pokemon_menu_message
- ldrb r0, [r5, 0x9]
- movs r1, 0x1
- bl sub_81B0FCC
- ldrb r0, [r5, 0x9]
- strb r0, [r5, 0xA]
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B1370
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end brm_switch
-
- thumb_func_start sub_81B3938
-sub_81B3938: @ 81B3938
- push {r4-r7,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r6, r0, r1
- ldr r3, =gUnknown_0203CEC8
- movs r1, 0xA
- ldrsb r1, [r3, r1]
- movs r0, 0x9
- ldrsb r0, [r3, r0]
- cmp r1, r0
- bne _081B3968
- adds r0, r7, 0
- bl sub_81B407C
- b _081B3ABA
- .pool
-_081B3968:
- add r2, sp, 0x8
- movs r0, 0x9
- ldrsb r0, [r3, r0]
- ldr r1, =gUnknown_0203CEDC
- ldr r1, [r1]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0, 0x8]
- movs r4, 0
- strb r0, [r2]
- adds r0, r2, 0
- ldrb r0, [r0]
- movs r1, 0x1
- bl GetWindowAttribute
- strh r0, [r6]
- add r0, sp, 0x8
- ldrb r0, [r0]
- movs r1, 0x2
- bl GetWindowAttribute
- strh r0, [r6, 0x2]
- add r0, sp, 0x8
- ldrb r0, [r0]
- movs r1, 0x3
- bl GetWindowAttribute
- strh r0, [r6, 0x4]
- add r0, sp, 0x8
- ldrb r0, [r0]
- movs r1, 0x4
- bl GetWindowAttribute
- strh r0, [r6, 0x6]
- strh r4, [r6, 0x10]
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- cmp r0, 0xA
- bne _081B39C4
- movs r2, 0x1
- negs r2, r2
- adds r0, r2, 0
- b _081B39C6
- .pool
-_081B39C4:
- movs r0, 0x1
-_081B39C6:
- strh r0, [r6, 0x14]
- add r2, sp, 0x8
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0xA]
- lsls r0, 24
- asrs r0, 24
- ldr r1, =gUnknown_0203CEDC
- ldr r1, [r1]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0, 0x8]
- movs r4, 0
- strb r0, [r2, 0x1]
- adds r0, r2, 0
- ldrb r0, [r0, 0x1]
- movs r1, 0x1
- bl GetWindowAttribute
- strh r0, [r6, 0x8]
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- movs r1, 0x2
- bl GetWindowAttribute
- strh r0, [r6, 0xA]
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- movs r1, 0x3
- bl GetWindowAttribute
- strh r0, [r6, 0xC]
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- movs r1, 0x4
- bl GetWindowAttribute
- strh r0, [r6, 0xE]
- strh r4, [r6, 0x12]
- movs r1, 0xC
- ldrsh r0, [r6, r1]
- cmp r0, 0xA
- bne _081B3A2C
- movs r2, 0x1
- negs r2, r2
- adds r0, r2, 0
- b _081B3A2E
- .pool
-_081B3A2C:
- movs r0, 0x1
-_081B3A2E:
- strh r0, [r6, 0x16]
- ldr r4, =gUnknown_0203CEF0
- movs r0, 0x4
- ldrsh r1, [r6, r0]
- movs r2, 0x6
- ldrsh r0, [r6, r2]
- lsls r0, 1
- muls r0, r1
- bl Alloc
- str r0, [r4]
- ldr r5, =gUnknown_0203CEF4
- movs r0, 0xC
- ldrsh r1, [r6, r0]
- movs r2, 0xE
- ldrsh r0, [r6, r2]
- lsls r0, 1
- muls r0, r1
- bl Alloc
- str r0, [r5]
- ldr r1, [r4]
- ldrb r2, [r6]
- ldrb r3, [r6, 0x2]
- ldrb r0, [r6, 0x4]
- str r0, [sp]
- ldrb r0, [r6, 0x6]
- str r0, [sp, 0x4]
- movs r0, 0
- bl sub_8199CBC
- ldr r1, [r5]
- ldrb r2, [r6, 0x8]
- ldrb r3, [r6, 0xA]
- ldrb r0, [r6, 0xC]
- str r0, [sp]
- ldrb r0, [r6, 0xE]
- str r0, [sp, 0x4]
- movs r0, 0
- bl sub_8199CBC
- add r0, sp, 0x8
- ldrb r0, [r0]
- bl ClearWindowTilemap
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- bl ClearWindowTilemap
- ldr r4, =gUnknown_0203CEC8
- movs r0, 0x9
- strb r0, [r4, 0xB]
- ldrb r0, [r4, 0x9]
- movs r1, 0x1
- bl sub_81B0FCC
- ldrb r0, [r4, 0xA]
- movs r1, 0x1
- bl sub_81B0FCC
- adds r0, r7, 0
- bl sub_81B3CC0
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B3D48
- str r1, [r0]
-_081B3ABA:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B3938
-
- thumb_func_start sub_81B3AD8
-sub_81B3AD8: @ 81B3AD8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r2, 0
- mov r12, r3
- ldr r7, [sp, 0x18]
- lsls r0, 16
- lsrs r3, r0, 16
- adds r5, r3, 0
- lsls r1, 16
- lsrs r2, r1, 16
- mov r8, r2
- lsls r0, r3, 16
- asrs r1, r0, 16
- lsls r0, r2, 16
- asrs r0, 16
- adds r4, r1, r0
- cmp r4, 0
- blt _081B3B02
- cmp r1, 0x1F
- ble _081B3B06
-_081B3B02:
- movs r0, 0
- b _081B3B34
-_081B3B06:
- cmp r1, 0
- bge _081B3B1A
- negs r0, r1
- strb r0, [r6]
- movs r0, 0
- mov r1, r12
- strb r0, [r1]
- adds r0, r2, r3
- strb r0, [r7]
- b _081B3B32
-_081B3B1A:
- movs r0, 0
- strb r0, [r6]
- mov r0, r12
- strb r5, [r0]
- cmp r4, 0x1F
- ble _081B3B2E
- movs r0, 0x20
- subs r0, r5
- strb r0, [r7]
- b _081B3B32
-_081B3B2E:
- mov r1, r8
- strb r1, [r7]
-_081B3B32:
- movs r0, 0x1
-_081B3B34:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81B3AD8
-
- thumb_func_start sub_81B3B40
-sub_81B3B40: @ 81B3B40
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x34
- str r0, [sp, 0x28]
- ldr r0, [sp, 0x54]
- ldr r4, [sp, 0x58]
- lsls r2, 16
- lsrs r2, 16
- mov r9, r2
- lsls r3, 16
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- lsls r4, 16
- lsrs r4, 16
- str r4, [sp, 0x30]
- lsls r1, 16
- asrs r7, r1, 16
- lsrs r0, r3, 16
- str r0, [sp, 0x2C]
- asrs r3, 16
- mov r8, r3
- mov r5, sp
- adds r5, 0x25
- mov r6, sp
- adds r6, 0x26
- str r6, [sp]
- adds r0, r7, 0
- mov r1, r8
- add r2, sp, 0x24
- adds r3, r5, 0
- bl sub_81B3AD8
- lsls r0, 24
- cmp r0, 0
- beq _081B3BFA
- ldrb r2, [r5]
- mov r1, r9
- lsls r0, r1, 24
- lsrs r0, 24
- mov r9, r0
- ldrb r0, [r6]
- str r0, [sp]
- mov r1, r10
- lsls r0, r1, 24
- lsrs r4, r0, 24
- str r4, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- mov r3, r9
- bl FillBgTilemapBufferRect_Palette0
- ldr r1, [sp, 0x30]
- lsls r0, r1, 16
- asrs r0, 16
- adds r0, r7, r0
- lsls r0, 16
- asrs r0, 16
- str r6, [sp]
- mov r1, r8
- add r2, sp, 0x24
- adds r3, r5, 0
- bl sub_81B3AD8
- lsls r0, 24
- cmp r0, 0
- beq _081B3BFA
- add r0, sp, 0x24
- ldrb r2, [r0]
- ldr r1, [sp, 0x2C]
- lsls r0, r1, 24
- lsrs r0, 24
- str r0, [sp]
- str r4, [sp, 0x4]
- ldrb r0, [r5]
- str r0, [sp, 0x8]
- mov r0, r9
- str r0, [sp, 0xC]
- ldrb r0, [r6]
- str r0, [sp, 0x10]
- str r4, [sp, 0x14]
- movs r0, 0x11
- str r0, [sp, 0x18]
- movs r0, 0
- str r0, [sp, 0x1C]
- str r0, [sp, 0x20]
- ldr r1, [sp, 0x28]
- movs r3, 0
- bl CopyRectToBgTilemapBufferRect
-_081B3BFA:
- add sp, 0x34
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81B3B40
-
- thumb_func_start sub_81B3C0C
-sub_81B3C0C: @ 81B3C0C
- push {r4,lr}
- ldr r4, =gSprites
- ldrb r2, [r0, 0xB]
- lsls r3, r2, 4
- adds r3, r2
- lsls r3, 2
- adds r3, r4
- lsls r1, 16
- asrs r1, 13
- ldrh r2, [r3, 0x24]
- adds r2, r1
- strh r2, [r3, 0x24]
- ldrb r3, [r0, 0xA]
- lsls r2, r3, 4
- adds r2, r3
- lsls r2, 2
- adds r2, r4
- ldrh r3, [r2, 0x24]
- adds r3, r1
- strh r3, [r2, 0x24]
- ldrb r3, [r0, 0x9]
- lsls r2, r3, 4
- adds r2, r3
- lsls r2, 2
- adds r2, r4
- ldrh r3, [r2, 0x24]
- adds r3, r1
- strh r3, [r2, 0x24]
- ldrb r2, [r0, 0xC]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r4
- ldrh r2, [r0, 0x24]
- adds r2, r1
- strh r2, [r0, 0x24]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B3C0C
-
- thumb_func_start sub_81B3C60
-sub_81B3C60: @ 81B3C60
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r4, r1, r0
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _081B3C8E
- ldr r2, =gUnknown_0203CEDC
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- lsls r1, 4
- ldr r0, [r2]
- adds r0, r1
- movs r2, 0x14
- ldrsh r1, [r4, r2]
- bl sub_81B3C0C
-_081B3C8E:
- movs r1, 0x16
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _081B3CAC
- ldr r2, =gUnknown_0203CEDC
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0xA
- ldrsb r1, [r0, r1]
- lsls r1, 4
- ldr r0, [r2]
- adds r0, r1
- movs r2, 0x16
- ldrsh r1, [r4, r2]
- bl sub_81B3C0C
-_081B3CAC:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B3C60
-
- thumb_func_start sub_81B3CC0
-sub_81B3CC0: @ 81B3CC0
- push {r4-r6,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r5, r1, r0
- movs r1, 0x14
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _081B3D00
- ldr r0, =gUnknown_0203CEF0
- ldr r0, [r0]
- ldrh r1, [r5, 0x10]
- ldrh r2, [r5]
- adds r1, r2
- lsls r1, 16
- asrs r1, 16
- movs r3, 0x2
- ldrsh r2, [r5, r3]
- movs r4, 0x4
- ldrsh r3, [r5, r4]
- movs r6, 0x6
- ldrsh r4, [r5, r6]
- str r4, [sp]
- movs r6, 0x14
- ldrsh r4, [r5, r6]
- str r4, [sp, 0x4]
- bl sub_81B3B40
-_081B3D00:
- movs r1, 0x16
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _081B3D2E
- ldr r0, =gUnknown_0203CEF4
- ldr r0, [r0]
- ldrh r1, [r5, 0x12]
- ldrh r2, [r5, 0x8]
- adds r1, r2
- lsls r1, 16
- asrs r1, 16
- movs r3, 0xA
- ldrsh r2, [r5, r3]
- movs r4, 0xC
- ldrsh r3, [r5, r4]
- movs r6, 0xE
- ldrsh r4, [r5, r6]
- str r4, [sp]
- movs r6, 0x16
- ldrsh r4, [r5, r6]
- str r4, [sp, 0x4]
- bl sub_81B3B40
-_081B3D2E:
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B3CC0
-
- thumb_func_start sub_81B3D48
-sub_81B3D48: @ 81B3D48
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r7, r0, 3
- ldr r0, =gTasks + 0x8
- mov r8, r0
- adds r6, r7, r0
- adds r0, r4, 0
- bl sub_81B3CC0
- adds r0, r4, 0
- bl sub_81B3C60
- ldrh r1, [r6, 0x14]
- ldrh r2, [r6, 0x10]
- adds r1, r2
- strh r1, [r6, 0x10]
- ldrh r0, [r6, 0x16]
- ldrh r3, [r6, 0x12]
- adds r0, r3
- strh r0, [r6, 0x12]
- add r2, sp, 0x8
- ldrh r0, [r6]
- adds r0, r1
- strh r0, [r2]
- adds r1, r2, 0
- ldrh r0, [r6, 0x12]
- ldrh r3, [r6, 0x8]
- adds r2, r0, r3
- strh r2, [r1, 0x2]
- adds r0, r1, 0
- ldrh r0, [r0]
- cmp r0, 0x21
- bls _081B3E3A
- lsls r0, r2, 16
- lsrs r0, 16
- cmp r0, 0x21
- bls _081B3E3A
- movs r1, 0x14
- ldrsh r0, [r6, r1]
- negs r0, r0
- strh r0, [r6, 0x14]
- movs r2, 0x16
- ldrsh r0, [r6, r2]
- negs r0, r0
- strh r0, [r6, 0x16]
- bl swap_pokemon_and_oams
- ldr r4, =gUnknown_0203CEC8
- ldrb r0, [r4, 0x9]
- bl sub_81B0948
- ldrb r0, [r4, 0xA]
- bl sub_81B0948
- movs r0, 0x9
- ldrsb r0, [r4, r0]
- ldr r5, =gUnknown_0203CEDC
- ldr r1, [r5]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0, 0x8]
- bl PutWindowTilemap
- movs r0, 0xA
- ldrsb r0, [r4, r0]
- ldr r1, [r5]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0, 0x8]
- bl PutWindowTilemap
- ldr r0, =gUnknown_0203CEF0
- ldr r1, [r0]
- ldrb r2, [r6]
- ldrb r3, [r6, 0x2]
- ldrb r0, [r6, 0x4]
- str r0, [sp]
- ldrb r0, [r6, 0x6]
- str r0, [sp, 0x4]
- movs r0, 0
- bl sub_8199CBC
- ldr r0, =gUnknown_0203CEF4
- ldr r1, [r0]
- ldrb r2, [r6, 0x8]
- ldrb r3, [r6, 0xA]
- ldrb r0, [r6, 0xC]
- str r0, [sp]
- ldrb r0, [r6, 0xE]
- str r0, [sp, 0x4]
- movs r0, 0
- bl sub_8199CBC
- movs r0, 0x9
- ldrsb r0, [r4, r0]
- ldr r1, [r5]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0, 0x8]
- bl ClearWindowTilemap
- movs r0, 0xA
- ldrsb r0, [r4, r0]
- ldr r1, [r5]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0, 0x8]
- bl ClearWindowTilemap
- mov r0, r8
- subs r0, 0x8
- adds r0, r7, r0
- ldr r1, =sub_81B3E60
- str r1, [r0]
-_081B3E3A:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B3D48
-
- thumb_func_start sub_81B3E60
-sub_81B3E60: @ 81B3E60
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- adds r0, r6, 0
- bl sub_81B3CC0
- adds r0, r6, 0
- bl sub_81B3C60
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081B3EE4
- movs r2, 0x16
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _081B3EE4
- ldr r5, =gUnknown_0203CEC8
- movs r0, 0x9
- ldrsb r0, [r5, r0]
- ldr r4, =gUnknown_0203CEDC
- ldr r1, [r4]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0, 0x8]
- bl PutWindowTilemap
- movs r0, 0xA
- ldrsb r0, [r5, r0]
- ldr r1, [r4]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0, 0x8]
- bl PutWindowTilemap
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldr r0, =gUnknown_0203CEF0
- ldr r0, [r0]
- bl Free
- ldr r0, =gUnknown_0203CEF4
- ldr r0, [r0]
- bl Free
- adds r0, r6, 0
- bl sub_81B407C
- b _081B3F08
- .pool
-_081B3EE4:
- ldrh r1, [r4, 0x14]
- ldrh r0, [r4, 0x10]
- adds r1, r0
- strh r1, [r4, 0x10]
- ldrh r0, [r4, 0x16]
- ldrh r2, [r4, 0x12]
- adds r0, r2
- strh r0, [r4, 0x12]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0
- bne _081B3EFE
- strh r1, [r4, 0x14]
-_081B3EFE:
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081B3F08
- strh r0, [r4, 0x16]
-_081B3F08:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81B3E60
-
- thumb_func_start oamt_swap_pos
-oamt_swap_pos: @ 81B3F10
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- ldrb r3, [r0]
- ldrb r2, [r1]
- strb r2, [r0]
- strb r3, [r1]
- ldr r5, =gSprites
- ldrb r2, [r0]
- lsls r3, r2, 4
- adds r3, r2
- lsls r3, 2
- adds r3, r5
- ldrh r6, [r3, 0x20]
- ldrh r2, [r3, 0x22]
- mov r8, r2
- ldrh r2, [r3, 0x24]
- mov r9, r2
- ldrh r2, [r3, 0x26]
- mov r10, r2
- ldrb r4, [r1]
- lsls r2, r4, 4
- adds r2, r4
- lsls r2, 2
- adds r2, r5
- ldrh r2, [r2, 0x20]
- strh r2, [r3, 0x20]
- ldrb r2, [r0]
- lsls r3, r2, 4
- adds r3, r2
- lsls r3, 2
- adds r3, r5
- ldrb r4, [r1]
- lsls r2, r4, 4
- adds r2, r4
- lsls r2, 2
- adds r2, r5
- ldrh r2, [r2, 0x22]
- strh r2, [r3, 0x22]
- ldrb r2, [r0]
- lsls r3, r2, 4
- adds r3, r2
- lsls r3, 2
- adds r3, r5
- ldrb r4, [r1]
- lsls r2, r4, 4
- adds r2, r4
- lsls r2, 2
- adds r2, r5
- ldrh r2, [r2, 0x24]
- strh r2, [r3, 0x24]
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r5
- ldrb r3, [r1]
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- adds r0, r5
- ldrh r0, [r0, 0x26]
- strh r0, [r2, 0x26]
- ldrb r2, [r1]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r5
- strh r6, [r0, 0x20]
- ldrb r2, [r1]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r5
- mov r2, r8
- strh r2, [r0, 0x22]
- ldrb r2, [r1]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r5
- mov r2, r9
- strh r2, [r0, 0x24]
- ldrb r1, [r1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- mov r1, r10
- strh r1, [r0, 0x26]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end oamt_swap_pos
-
- thumb_func_start swap_pokemon_and_oams
-swap_pokemon_and_oams: @ 81B3FDC
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r1, =gUnknown_0203CEDC
- ldr r2, =gUnknown_0203CEC8
- movs r3, 0x9
- ldrsb r3, [r2, r3]
- lsls r0, r3, 4
- ldr r1, [r1]
- adds r0, r1, r0
- str r0, [sp]
- ldrb r2, [r2, 0xA]
- lsls r2, 24
- asrs r2, 24
- lsls r0, r2, 4
- adds r0, r1, r0
- str r0, [sp, 0x4]
- movs r1, 0x64
- adds r4, r3, 0
- muls r4, r1
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r5, r2, 0
- muls r5, r1
- adds r5, r0
- movs r0, 0x64
- bl Alloc
- adds r6, r0, 0
- adds r1, r4, 0
- movs r2, 0x64
- bl memcpy
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x64
- bl memcpy
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0x64
- bl memcpy
- adds r0, r6, 0
- bl Free
- ldr r0, [sp]
- adds r0, 0xB
- ldr r1, [sp, 0x4]
- adds r1, 0xB
- bl oamt_swap_pos
- ldr r0, [sp]
- adds r0, 0xA
- ldr r1, [sp, 0x4]
- adds r1, 0xA
- bl oamt_swap_pos
- ldr r0, [sp]
- adds r0, 0x9
- ldr r1, [sp, 0x4]
- adds r1, 0x9
- bl oamt_swap_pos
- ldr r0, [sp]
- adds r0, 0xC
- ldr r1, [sp, 0x4]
- adds r1, 0xC
- bl oamt_swap_pos
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end swap_pokemon_and_oams
-
- thumb_func_start sub_81B407C
-sub_81B407C: @ 81B407C
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- adds r0, 0xD
- bl sub_81B302C
- ldr r4, =gUnknown_0203CEC8
- movs r0, 0
- strb r0, [r4, 0xB]
- ldrb r0, [r4, 0x9]
- movs r1, 0
- bl sub_81B0FCC
- ldrb r0, [r4, 0xA]
- strb r0, [r4, 0x9]
- ldrb r0, [r4, 0xA]
- movs r1, 0x1
- bl sub_81B0FCC
- movs r0, 0
- bl display_pokemon_menu_message
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B1370
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B407C
-
- thumb_func_start brm_cancel_1
-brm_cancel_1: @ 81B40D4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0x5
- bl PlaySE
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- adds r0, 0xC
- bl sub_81B302C
- ldr r0, [r4]
- adds r0, 0xD
- bl sub_81B302C
- ldr r0, =gUnknown_0203CEC8
- ldrb r1, [r0, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x6
- bne _081B4110
- movs r0, 0xF
- bl display_pokemon_menu_message
- b _081B4116
- .pool
-_081B4110:
- movs r0, 0
- bl display_pokemon_menu_message
-_081B4116:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B1370
- str r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end brm_cancel_1
-
- thumb_func_start sub_81B4134
-sub_81B4134: @ 81B4134
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0x5
- bl PlaySE
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- adds r0, 0xC
- bl sub_81B302C
- ldr r0, [r4]
- adds r0, 0xD
- bl sub_81B302C
- ldr r0, =gPlayerParty
- ldr r1, =gUnknown_0203CEC8
- ldrb r1, [r1, 0x9]
- movs r2, 0x8
- bl sub_81B33B4
- movs r0, 0x1
- bl sub_81B31B0
- movs r0, 0x18
- bl display_pokemon_menu_message
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0xFF
- strh r1, [r0, 0x8]
- ldr r1, =sub_81B3730
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4134
-
- thumb_func_start sub_81B4198
-sub_81B4198: @ 81B4198
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_0203CEC4
- ldr r1, [r0]
- ldr r0, =sub_81B41C4
- str r0, [r1, 0x4]
- adds r0, r4, 0
- bl sub_81B12C0
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4198
-
- thumb_func_start sub_81B41C4
-sub_81B41C4: @ 81B41C4
- push {lr}
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _081B41E0
- ldr r2, =c2_8123744
- movs r0, 0x2
- movs r1, 0x5
- bl GoToBagMenu
- b _081B41E8
- .pool
-_081B41E0:
- ldr r1, =c2_8123744
- movs r0, 0x2
- bl sub_81C4F98
-_081B41E8:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B41C4
-
- thumb_func_start c2_8123744
-c2_8123744: @ 81B41F0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- ldr r6, =gSpecialVar_ItemId
- ldrh r0, [r6]
- cmp r0, 0
- bne _081B4224
- ldr r3, =gUnknown_0203CEC8
- ldrb r0, [r3, 0x8]
- lsls r0, 28
- lsrs r0, 28
- ldrb r2, [r3, 0xB]
- movs r1, 0x7F
- str r1, [sp]
- ldr r1, =sub_81B36FC
- str r1, [sp, 0x4]
- ldr r1, [r3]
- b _081B425A
- .pool
-_081B4224:
- ldr r4, =gUnknown_0203CEFC
- ldr r5, =gUnknown_0203CEC8
- movs r0, 0x9
- ldrsb r0, [r5, r0]
- movs r1, 0x64
- mov r8, r1
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- ldr r7, =gPlayerParty
- adds r0, r7
- movs r1, 0xC
- bl GetMonData
- strh r0, [r4]
- lsls r0, 16
- cmp r0, 0
- beq _081B4278
- ldrb r0, [r5, 0x8]
- lsls r0, 28
- lsrs r0, 28
- ldrb r2, [r5, 0xB]
- movs r1, 0x7F
- str r1, [sp]
- ldr r1, =sub_81B4350
- str r1, [sp, 0x4]
- ldr r1, [r5]
-_081B425A:
- str r1, [sp, 0x8]
- movs r1, 0xFF
- movs r3, 0x1
- bl sub_81B0038
- b _081B42C0
- .pool
-_081B4278:
- ldrh r0, [r6]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _081B42A4
- ldrh r0, [r6]
- movs r1, 0x1
- bl RemoveBagItem
- movs r0, 0x9
- ldrsb r0, [r5, r0]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r7
- ldrh r1, [r6]
- bl sub_81B1DB8
- bl sub_81B452C
- b _081B42C0
-_081B42A4:
- ldrb r0, [r5, 0x8]
- lsls r0, 28
- lsrs r0, 28
- ldrb r2, [r5, 0xB]
- movs r1, 0x7F
- str r1, [sp]
- ldr r1, =sub_81B42D0
- str r1, [sp, 0x4]
- ldr r1, [r5]
- str r1, [sp, 0x8]
- movs r1, 0xFF
- movs r3, 0x1
- bl sub_81B0038
-_081B42C0:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_8123744
-
- thumb_func_start sub_81B42D0
-sub_81B42D0: @ 81B42D0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081B432C
- ldr r0, =gSpecialVar_ItemId
- ldrh r4, [r0]
- ldr r0, =gUnknown_0203CEC8
- mov r8, r0
- ldrb r0, [r0, 0x9]
- lsls r0, 24
- asrs r0, 24
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gPlayerParty
- adds r0, r5
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0
- bl sub_81B1C84
- mov r1, r8
- movs r0, 0x9
- ldrsb r0, [r1, r0]
- muls r0, r6
- adds r0, r5
- adds r1, r4, 0
- bl sub_81B1DB8
- adds r0, r4, 0
- movs r1, 0x1
- bl RemoveBagItem
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B469C
- str r1, [r0]
-_081B432C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B42D0
-
- thumb_func_start sub_81B4350
-sub_81B4350: @ 81B4350
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081B4388
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gUnknown_0203CEFC
- ldrh r1, [r1]
- movs r2, 0x1
- bl sub_81B1D1C
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B43A8
- str r1, [r0]
-_081B4388:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4350
-
- thumb_func_start sub_81B43A8
-sub_81B43A8: @ 81B43A8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B43CC
- bl sub_81B334C
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B43DC
- str r0, [r1]
-_081B43CC:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B43A8
-
- thumb_func_start sub_81B43DC
-sub_81B43DC: @ 81B43DC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _081B4402
- cmp r1, 0
- bgt _081B43FC
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _081B44D8
- b _081B44EC
-_081B43FC:
- cmp r1, 0x1
- beq _081B44DE
- b _081B44EC
-_081B4402:
- ldr r5, =gSpecialVar_ItemId
- ldrh r0, [r5]
- movs r1, 0x1
- bl RemoveBagItem
- ldr r6, =gUnknown_0203CEFC
- ldrh r0, [r6]
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- cmp r0, 0
- bne _081B4458
- ldrh r0, [r5]
- movs r1, 0x1
- bl AddBagItem
- ldrh r0, [r6]
- bl pokemon_item_not_removed
- ldr r0, =gStringVar4
- movs r1, 0
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B1C1C
- str r1, [r0]
- b _081B44EC
- .pool
-_081B4458:
- ldrh r0, [r5]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _081B4498
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- ldrh r1, [r5]
- bl sub_81B1DB8
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B44FC
- str r1, [r0]
- b _081B44EC
- .pool
-_081B4498:
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- ldrh r1, [r5]
- bl sub_81B1DB8
- ldrh r0, [r5]
- ldrh r1, [r6]
- movs r2, 0x1
- bl sub_81B1D68
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B469C
- str r1, [r0]
- b _081B44EC
- .pool
-_081B44D8:
- movs r0, 0x5
- bl PlaySE
-_081B44DE:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B1C1C
- str r0, [r1]
-_081B44EC:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B43DC
-
- thumb_func_start sub_81B44FC
-sub_81B44FC: @ 81B44FC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B451C
- ldr r0, =gUnknown_0203CEC4
- ldr r1, [r0]
- ldr r0, =sub_81B452C
- str r0, [r1, 0x4]
- adds r0, r4, 0
- bl sub_81B12C0
-_081B451C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B44FC
-
- thumb_func_start sub_81B452C
-sub_81B452C: @ 81B452C
- push {lr}
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x40
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gSaveBlock1Ptr
- lsls r2, r0, 3
- adds r2, r0
- lsls r2, 2
- ldr r0, =0x00002be0
- adds r2, r0
- ldr r1, [r1]
- adds r1, r2
- ldr r2, =sub_81B4578
- movs r0, 0x4
- movs r3, 0x3
- bl sub_811A20C
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B452C
-
- thumb_func_start sub_81B4578
-sub_81B4578: @ 81B4578
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- ldr r6, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r6, r1]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r0, =gSpecialVar_Result
- ldrh r7, [r0]
- cmp r7, 0
- bne _081B45F8
- adds r0, r5, 0
- bl TakeMailFromMon
- ldr r4, =gUnknown_0203CEFC
- adds r0, r5, 0
- movs r1, 0xC
- adds r2, r4, 0
- bl SetMonData
- ldrh r0, [r4]
- movs r1, 0x1
- bl RemoveBagItem
- mov r0, r8
- movs r1, 0x1
- bl AddBagItem
- ldrb r0, [r6, 0x8]
- lsls r0, 28
- lsrs r0, 28
- ldrb r2, [r6, 0xB]
- str r7, [sp]
- ldr r1, =sub_81B36FC
- str r1, [sp, 0x4]
- ldr r1, [r6]
- str r1, [sp, 0x8]
- movs r1, 0xFF
- movs r3, 0x1
- bl sub_81B0038
- b _081B4614
- .pool
-_081B45F8:
- ldrb r0, [r6, 0x8]
- lsls r0, 28
- lsrs r0, 28
- ldrb r2, [r6, 0xB]
- movs r1, 0x7F
- str r1, [sp]
- ldr r1, =sub_81B4624
- str r1, [sp, 0x4]
- ldr r1, [r6]
- str r1, [sp, 0x8]
- movs r1, 0xFF
- movs r3, 0x1
- bl sub_81B0038
-_081B4614:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4578
-
- thumb_func_start sub_81B4624
-sub_81B4624: @ 81B4624
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081B468A
- ldr r1, =gUnknown_0203CEFC
- ldrh r0, [r1]
- cmp r0, 0
- bne _081B4670
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gSpecialVar_ItemId
- ldrh r1, [r1]
- movs r2, 0
- movs r3, 0
- bl sub_81B1C84
- b _081B467C
- .pool
-_081B4670:
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- ldrh r1, [r1]
- movs r2, 0
- bl sub_81B1D68
-_081B467C:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B469C
- str r0, [r1]
-_081B468A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4624
-
- thumb_func_start sub_81B469C
-sub_81B469C: @ 81B469C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r4, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r4, r1]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r6, r1, r0
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B471C
- ldr r5, =gUnknown_0203CEDC
- movs r0, 0x9
- ldrsb r0, [r4, r0]
- lsls r0, 4
- ldr r1, [r5]
- adds r1, r0
- adds r0, r6, 0
- bl sub_81B5C94
- ldrb r1, [r4, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0xC
- bne _081B4716
- adds r0, r6, 0
- movs r1, 0xC
- bl GetMonData
- cmp r0, 0
- beq _081B4704
- movs r0, 0x9
- ldrsb r0, [r4, r0]
- lsls r0, 4
- ldr r1, [r5]
- adds r1, r0
- movs r0, 0xB
- movs r2, 0x1
- bl sub_81B2FA8
- b _081B4716
- .pool
-_081B4704:
- movs r0, 0x9
- ldrsb r0, [r4, r0]
- lsls r0, 4
- ldr r1, [r5]
- adds r1, r0
- movs r0, 0xC
- movs r2, 0x1
- bl sub_81B2FA8
-_081B4716:
- adds r0, r7, 0
- bl sub_81B1C1C
-_081B471C:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81B469C
-
- thumb_func_start sub_81B4724
-sub_81B4724: @ 81B4724
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r6, r0, 16
- movs r0, 0x5
- bl PlaySE
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- adds r0, 0xC
- bl sub_81B302C
- ldr r0, [r4]
- adds r0, 0xD
- bl sub_81B302C
- adds r0, r5, 0
- bl sub_81B1E00
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _081B4788
- cmp r0, 0x1
- beq _081B47AC
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0x1
- bl sub_81B1CD0
- b _081B47BA
- .pool
-_081B4788:
- ldr r1, =gStringVar1
- adds r0, r5, 0
- bl GetMonNickname
- ldr r4, =gStringVar4
- ldr r1, =gText_PkmnNotHolding
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- b _081B47B4
- .pool
-_081B47AC:
- adds r0, r6, 0
- bl pokemon_item_not_removed
- ldr r0, =gStringVar4
-_081B47B4:
- movs r1, 0x1
- bl sub_81B1B5C
-_081B47BA:
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r0, =gTasks
- lsls r1, r7, 2
- adds r1, r7
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B469C
- str r0, [r1]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4724
-
- thumb_func_start sub_81B47E0
-sub_81B47E0: @ 81B47E0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r7, r1, r0
- adds r0, r7, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- movs r0, 0x5
- bl PlaySE
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- adds r0, 0xC
- bl sub_81B302C
- ldr r0, [r4]
- adds r0, 0xD
- bl sub_81B302C
- cmp r5, 0
- bne _081B4864
- ldr r1, =gStringVar1
- adds r0, r7, 0
- bl GetMonNickname
- ldr r4, =gStringVar4
- ldr r1, =gText_PkmnNotHolding
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B469C
- b _081B488A
- .pool
-_081B4864:
- ldr r1, =gStringVar1
- adds r0, r5, 0
- bl CopyItemName
- ldr r4, =gStringVar4
- ldr r1, =gText_ThrowAwayItem
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B48A8
-_081B488A:
- str r1, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B47E0
-
- thumb_func_start sub_81B48A8
-sub_81B48A8: @ 81B48A8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B48CC
- bl sub_81B334C
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B48DC
- str r0, [r1]
-_081B48CC:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B48A8
-
- thumb_func_start sub_81B48DC
-sub_81B48DC: @ 81B48DC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _081B491A
- cmp r1, 0
- bgt _081B4914
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _081B4964
- b _081B4978
- .pool
-_081B4914:
- cmp r1, 0x1
- beq _081B496A
- b _081B4978
-_081B491A:
- adds r0, r4, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =gStringVar1
- bl CopyItemName
- ldr r4, =gStringVar4
- ldr r1, =gText_ItemThrownAway
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B4988
- str r1, [r0]
- b _081B4978
- .pool
-_081B4964:
- movs r0, 0x5
- bl PlaySE
-_081B496A:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B1C1C
- str r0, [r1]
-_081B4978:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B48DC
-
- thumb_func_start sub_81B4988
-sub_81B4988: @ 81B4988
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r6, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r6, r1]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r5, r1, r0
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B49EC
- movs r1, 0
- mov r0, sp
- strh r1, [r0]
- adds r0, r5, 0
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
- ldr r4, =gUnknown_0203CEDC
- movs r0, 0x9
- ldrsb r0, [r6, r0]
- lsls r0, 4
- ldr r1, [r4]
- adds r1, r0
- adds r0, r5, 0
- bl sub_81B5C94
- movs r0, 0x9
- ldrsb r0, [r6, r0]
- lsls r0, 4
- ldr r1, [r4]
- adds r1, r0
- movs r0, 0xC
- movs r2, 0x1
- bl sub_81B2FA8
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B1C1C
- str r1, [r0]
-_081B49EC:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4988
-
- thumb_func_start sub_81B4A08
-sub_81B4A08: @ 81B4A08
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0x5
- bl PlaySE
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- adds r0, 0xC
- bl sub_81B302C
- ldr r0, [r4]
- adds r0, 0xD
- bl sub_81B302C
- ldr r0, =gPlayerParty
- ldr r1, =gUnknown_0203CEC8
- ldrb r1, [r1, 0x9]
- movs r2, 0x9
- bl sub_81B33B4
- movs r0, 0x2
- bl sub_81B31B0
- movs r0, 0x19
- bl display_pokemon_menu_message
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0xFF
- strh r1, [r0, 0x8]
- ldr r1, =sub_81B3730
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4A08
-
- thumb_func_start sub_81B4A6C
-sub_81B4A6C: @ 81B4A6C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_0203CEC4
- ldr r1, [r0]
- ldr r0, =sub_81B4A98
- str r0, [r1, 0x4]
- adds r0, r4, 0
- bl sub_81B12C0
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4A6C
-
- thumb_func_start sub_81B4A98
-sub_81B4A98: @ 81B4A98
- push {lr}
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x40
- bl GetMonData
- ldr r2, =gSaveBlock1Ptr
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, =0x00002be0
- adds r1, r0
- ldr r0, [r2]
- adds r0, r1
- ldr r1, =sub_81B4AE0
- movs r2, 0x1
- bl ReadMail
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4A98
-
- thumb_func_start sub_81B4AE0
-sub_81B4AE0: @ 81B4AE0
- push {lr}
- sub sp, 0xC
- ldr r2, =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- ldr r3, =gUnknown_0203CEC8
- ldrb r0, [r3, 0x8]
- lsls r0, 28
- lsrs r0, 28
- ldrb r2, [r3, 0xB]
- movs r1, 0x15
- str r1, [sp]
- ldr r1, =sub_81B36FC
- str r1, [sp, 0x4]
- ldr r1, [r3]
- str r1, [sp, 0x8]
- movs r1, 0xFF
- movs r3, 0x1
- bl sub_81B0038
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4AE0
-
- thumb_func_start brm_take_2
-brm_take_2: @ 81B4B20
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- ldr r5, =gUnknown_0203CEC4
- ldr r0, [r5]
- adds r0, 0xD
- bl sub_81B302C
- ldr r0, [r5]
- adds r0, 0xC
- bl sub_81B302C
- ldr r0, =gText_SendMailToPC
- movs r1, 0x1
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B4B6C
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end brm_take_2
-
- thumb_func_start sub_81B4B6C
-sub_81B4B6C: @ 81B4B6C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B4B90
- bl sub_81B334C
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B4BA0
- str r0, [r1]
-_081B4B90:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4B6C
-
- thumb_func_start sub_81B4BA0
-sub_81B4BA0: @ 81B4BA0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _081B4BC6
- cmp r1, 0
- bgt _081B4BC0
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _081B4C30
- b _081B4C4C
-_081B4BC0:
- cmp r1, 0x1
- beq _081B4C36
- b _081B4C4C
-_081B4BC6:
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- bl TakeMailFromMon2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _081B4C0C
- ldr r0, =gText_MailSentToPC
- movs r1, 0
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B469C
- b _081B4C4A
- .pool
-_081B4C0C:
- ldr r0, =gText_PCMailboxFull
- movs r1, 0
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B1C1C
- b _081B4C4A
- .pool
-_081B4C30:
- movs r0, 0x5
- bl PlaySE
-_081B4C36:
- ldr r0, =gText_MailMessageWillBeLost
- movs r1, 0x1
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B4C60
-_081B4C4A:
- str r1, [r0]
-_081B4C4C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4BA0
-
- thumb_func_start sub_81B4C60
-sub_81B4C60: @ 81B4C60
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B4C84
- bl sub_81B334C
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B4C94
- str r0, [r1]
-_081B4C84:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4C60
-
- thumb_func_start sub_81B4C94
-sub_81B4C94: @ 81B4C94
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r5, r0, 24
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _081B4CBE
- cmp r1, 0
- bgt _081B4CB8
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _081B4D50
- b _081B4D64
-_081B4CB8:
- cmp r1, 0x1
- beq _081B4D56
- b _081B4D64
-_081B4CBE:
- ldr r0, =gUnknown_0203CEC8
- mov r8, r0
- ldrb r0, [r0, 0x9]
- lsls r0, 24
- asrs r0, 24
- movs r7, 0x64
- muls r0, r7
- ldr r6, =gPlayerParty
- adds r0, r6
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B4D24
- mov r1, r8
- movs r0, 0x9
- ldrsb r0, [r1, r0]
- muls r0, r7
- adds r0, r6
- bl TakeMailFromMon
- ldr r0, =gText_MailTakenFromPkmn
- movs r1, 0
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B469C
- str r1, [r0]
- b _081B4D64
- .pool
-_081B4D24:
- adds r0, r4, 0
- bl pokemon_item_not_removed
- ldr r0, =gStringVar4
- movs r1, 0
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B1C1C
- str r1, [r0]
- b _081B4D64
- .pool
-_081B4D50:
- movs r0, 0x5
- bl PlaySE
-_081B4D56:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B1C1C
- str r0, [r1]
-_081B4D64:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4C94
-
- thumb_func_start sub_81B4D78
-sub_81B4D78: @ 81B4D78
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r5, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r5, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r6, =gPlayerParty
- adds r7, r0, r6
- movs r0, 0x5
- bl PlaySE
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- adds r0, 0xC
- bl sub_81B302C
- ldr r0, [r4]
- adds r0, 0xD
- bl sub_81B302C
- ldrb r4, [r5, 0x9]
- adds r0, r7, 0
- bl sub_81B353C
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_81B33B4
- ldrb r1, [r5, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0xC
- beq _081B4DE4
- movs r0, 0
- bl sub_81B31B0
- movs r0, 0x15
- bl display_pokemon_menu_message
- b _081B4E02
- .pool
-_081B4DE4:
- movs r0, 0x1
- bl sub_81B31B0
- adds r0, r7, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =gStringVar2
- bl CopyItemName
- movs r0, 0x1A
- bl display_pokemon_menu_message
-_081B4E02:
- ldr r1, =gTasks
- mov r2, r8
- lsls r0, r2, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0xFF
- strh r1, [r0, 0x8]
- ldr r1, =sub_81B3730
- str r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4D78
-
- thumb_func_start brm_shift_sendout
-brm_shift_sendout: @ 81B4E2C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x5
- bl PlaySE
- ldr r5, =gUnknown_0203CEC4
- ldr r0, [r5]
- adds r0, 0xC
- bl sub_81B302C
- bl sub_81B8A7C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B4E5C
- adds r0, r4, 0
- bl sub_81B12C0
- b _081B4E7A
- .pool
-_081B4E5C:
- ldr r0, [r5]
- adds r0, 0xD
- bl sub_81B302C
- ldr r0, =gStringVar4
- movs r1, 0x1
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B1C1C
- str r1, [r0]
-_081B4E7A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end brm_shift_sendout
-
- thumb_func_start sub_81B4E8C
-sub_81B4E8C: @ 81B4E8C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- adds r0, 0xC
- bl sub_81B302C
- ldr r0, [r4]
- adds r0, 0xD
- bl sub_81B302C
- bl sub_81B8830
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- cmp r5, r6
- bcs _081B4F36
- ldr r2, =gUnknown_0203CEC8
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- mov r8, r0
-_081B4EC6:
- ldr r0, =gSelectedOrderFromParty
- adds r4, r5, r0
- ldrb r0, [r4]
- cmp r0, 0
- bne _081B4F2C
- movs r0, 0x5
- str r2, [sp]
- bl PlaySE
- ldr r2, [sp]
- ldrb r0, [r2, 0x9]
- adds r0, 0x1
- strb r0, [r4]
- adds r0, r5, 0x2
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0203CEDC
- ldrb r2, [r2, 0x9]
- lsls r2, 24
- asrs r2, 24
- lsls r2, 4
- ldr r1, [r1]
- adds r1, r2
- movs r2, 0x1
- bl sub_81B2FA8
- subs r0, r6, 0x1
- cmp r5, r0
- bne _081B4F04
- bl sub_81B4F88
-_081B4F04:
- movs r0, 0
- bl display_pokemon_menu_message
- ldr r0, =sub_81B1370
- mov r1, r8
- str r0, [r1]
- b _081B4F68
- .pool
-_081B4F2C:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r6
- bcc _081B4EC6
-_081B4F36:
- ldr r0, =gStringVar1
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- ldr r1, =gText_NoMoreThanVar1Pkmn
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0x20
- bl PlaySE
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B1C1C
- str r1, [r0]
-_081B4F68:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4E8C
-
- thumb_func_start sub_81B4F88
-sub_81B4F88: @ 81B4F88
- push {r4,lr}
- ldr r4, =gUnknown_0203CEC8
- ldrb r0, [r4, 0x9]
- movs r1, 0
- bl sub_81B0FCC
- movs r0, 0x6
- strb r0, [r4, 0x9]
- movs r1, 0x1
- bl sub_81B0FCC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4F88
-
- thumb_func_start sub_81B4FA8
-sub_81B4FA8: @ 81B4FA8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r0, 0x5
- bl PlaySE
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- adds r0, 0xC
- bl sub_81B302C
- ldr r0, [r4]
- adds r0, 0xD
- bl sub_81B302C
- bl sub_81B8830
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- cmp r4, r5
- bcs _081B502A
- ldr r6, =gSelectedOrderFromParty
- subs r2, r5, 0x1
- adds r7, r6, 0
- ldr r3, =gUnknown_0203CEC8
-_081B4FE2:
- adds r0, r4, r6
- ldrb r1, [r0]
- movs r0, 0x9
- ldrsb r0, [r3, r0]
- adds r0, 0x1
- cmp r1, r0
- bne _081B5020
- adds r0, r4, 0
- adds r4, r2, 0
- cmp r0, r4
- bge _081B500C
- adds r3, r7, 0
-_081B4FFA:
- adds r2, r0, r3
- adds r1, r0, 0x1
- adds r0, r1, r3
- ldrb r0, [r0]
- strb r0, [r2]
- lsls r1, 24
- lsrs r0, r1, 24
- cmp r0, r4
- blt _081B4FFA
-_081B500C:
- adds r1, r0, r6
- movs r0, 0
- strb r0, [r1]
- b _081B502A
- .pool
-_081B5020:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _081B4FE2
-_081B502A:
- ldr r6, =gUnknown_0203CEDC
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0x9]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 4
- ldr r1, [r6]
- adds r1, r0
- movs r0, 0x1
- movs r2, 0x1
- bl sub_81B2FA8
- movs r4, 0
- subs r5, 0x1
- mov r0, r8
- lsls r7, r0, 2
- cmp r4, r5
- bge _081B5078
-_081B504E:
- ldr r0, =gSelectedOrderFromParty
- adds r1, r4, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _081B506E
- adds r0, r4, 0x2
- lsls r0, 24
- lsrs r0, 24
- ldrb r2, [r1]
- lsls r2, 4
- subs r2, 0x10
- ldr r1, [r6]
- adds r1, r2
- movs r2, 0x1
- bl sub_81B2FA8
-_081B506E:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- blt _081B504E
-_081B5078:
- movs r0, 0
- bl display_pokemon_menu_message
- ldr r0, =gTasks
- mov r2, r8
- adds r1, r7, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B1370
- str r0, [r1]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B4FA8
-
- thumb_func_start sub_81B50AC
-sub_81B50AC: @ 81B50AC
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_81B12C0
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B50AC
-
- thumb_func_start sub_81B50C8
-sub_81B50C8: @ 81B50C8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_0203CEC8
- mov r9, r0
- ldrb r0, [r0, 0x9]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x64
- mov r8, r1
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- ldr r4, =gPlayerParty
- adds r0, r4
- movs r1, 0x41
- bl GetMonData
- adds r6, r0, 0
- lsls r6, 16
- lsrs r6, 16
- mov r1, r9
- movs r0, 0x9
- ldrsb r0, [r1, r0]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r4
- movs r1, 0xB
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- mov r1, r9
- movs r0, 0x9
- ldrsb r0, [r1, r0]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r4
- movs r1, 0x50
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_800F7DC
- ldr r0, [r0]
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl sub_807A8D0
- cmp r0, 0x1
- beq _081B515C
- cmp r0, 0x2
- beq _081B5170
- movs r0, 0x5
- bl PlaySE
- adds r0, r7, 0
- bl sub_81B12C0
- b _081B51B0
- .pool
-_081B515C:
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnCantBeTradedNow
- bl StringExpandPlaceholders
- b _081B5178
- .pool
-_081B5170:
- ldr r0, =gStringVar4
- ldr r1, =gText_EggCantBeTradedNow
- bl StringExpandPlaceholders
-_081B5178:
- movs r0, 0x20
- bl PlaySE
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- adds r0, 0xC
- bl sub_81B302C
- ldr r0, [r4]
- adds r0, 0xD
- bl sub_81B302C
- ldr r4, =gStringVar4
- ldr r1, =gText_PauseUntilPress
- adds r0, r4, 0
- bl StringAppend
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B1C1C
- str r1, [r0]
-_081B51B0:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B50C8
-
- thumb_func_start brm_trade_1
-brm_trade_1: @ 81B51D4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_0203CEC8
- mov r8, r0
- ldrb r0, [r0, 0x9]
- lsls r0, 24
- asrs r0, 24
- movs r6, 0x64
- muls r0, r6
- ldr r4, =gPlayerParty
- adds r0, r4
- movs r1, 0x41
- bl GetMonData
- mov r9, r0
- mov r1, r9
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- mov r1, r8
- movs r0, 0x9
- ldrsb r0, [r1, r0]
- muls r0, r6
- adds r0, r4
- movs r1, 0xB
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- mov r1, r8
- movs r0, 0x9
- ldrsb r0, [r1, r0]
- muls r0, r6
- adds r0, r4
- movs r1, 0x50
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_800F7DC
- ldr r0, [r0]
- ldr r1, =gUnknown_02022C38
- ldr r1, [r1]
- ldr r2, =gUnknown_02022C3C
- ldrh r3, [r2]
- ldr r2, =gUnknown_02022C3E
- ldrb r2, [r2]
- str r2, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- mov r2, r9
- bl sub_807A7E0
- cmp r0, 0
- beq _081B52C8
- ldr r5, =gStringVar4
- ldr r1, =gUnknown_08615E0C
- subs r0, 0x1
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r5, 0
- bl StringExpandPlaceholders
- movs r0, 0x20
- bl PlaySE
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- adds r0, 0xC
- bl sub_81B302C
- ldr r0, [r4]
- adds r0, 0xD
- bl sub_81B302C
- ldr r1, =gText_PauseUntilPress
- adds r0, r5, 0
- bl StringAppend
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B1C1C
- str r1, [r0]
- b _081B52D4
- .pool
-_081B52C8:
- movs r0, 0x5
- bl PlaySE
- adds r0, r7, 0
- bl sub_81B12C0
-_081B52D4:
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end brm_trade_1
-
- thumb_func_start sub_81B52E4
-sub_81B52E4: @ 81B52E4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- adds r0, 0xC
- bl sub_81B302C
- ldr r0, [r4]
- adds r0, 0xD
- bl sub_81B302C
- ldr r0, =gPlayerParty
- ldr r1, =gUnknown_0203CEC8
- ldrb r1, [r1, 0x9]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 16
- lsrs r1, 16
- bl sub_807A918
- cmp r0, 0x2
- beq _081B5340
- cmp r0, 0x2
- bgt _081B5328
- cmp r0, 0x1
- beq _081B532E
- b _081B5368
- .pool
-_081B5328:
- cmp r0, 0x3
- beq _081B5354
- b _081B5368
-_081B532E:
- ldr r0, =gStringVar4
- ldr r1, =gText_OnlyPkmnForBattle
- bl StringExpandPlaceholders
- b _081B53C0
- .pool
-_081B5340:
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnCantBeTradedNow
- bl StringExpandPlaceholders
- b _081B53C0
- .pool
-_081B5354:
- ldr r0, =gStringVar4
- ldr r1, =gText_EggCantBeTradedNow
- bl StringExpandPlaceholders
- b _081B53C0
- .pool
-_081B5368:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gStringVar1
- bl GetMonNickname
- ldr r4, =gStringVar4
- ldr r1, =gJPText_PutVar1IntoSpinner
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B53FC
- b _081B53E4
- .pool
-_081B53C0:
- movs r0, 0x20
- bl PlaySE
- ldr r4, =gStringVar4
- ldr r1, =gText_PauseUntilPress
- adds r0, r4, 0
- bl StringAppend
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B1C1C
-_081B53E4:
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B52E4
-
- thumb_func_start sub_81B53FC
-sub_81B53FC: @ 81B53FC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B5420
- bl sub_81B334C
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B5430
- str r0, [r1]
-_081B5420:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B53FC
-
- thumb_func_start sub_81B5430
-sub_81B5430: @ 81B5430
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _081B5456
- cmp r1, 0
- bgt _081B5450
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _081B545E
- b _081B546A
-_081B5450:
- cmp r1, 0x1
- beq _081B5464
- b _081B546A
-_081B5456:
- adds r0, r4, 0
- bl sub_81B12C0
- b _081B546A
-_081B545E:
- movs r0, 0x5
- bl PlaySE
-_081B5464:
- adds r0, r4, 0
- bl sub_81B1C1C
-_081B546A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B5430
-
- thumb_func_start sub_81B5470
-sub_81B5470: @ 81B5470
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- bl GetMenuCursorPos
- ldr r5, =gUnknown_0203CEC4
- ldr r1, [r5]
- lsls r0, 24
- lsrs r0, 24
- adds r1, 0xF
- adds r1, r0
- ldrb r0, [r1]
- subs r0, 0x13
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x5
- bl PlaySE
- ldr r1, =gUnknown_08615D9C
- lsls r0, r4, 3
- adds r7, r0, r1
- ldr r0, [r7]
- cmp r0, 0
- bne _081B54A2
- b _081B5664
-_081B54A2:
- ldr r0, [r5]
- adds r0, 0xC
- bl sub_81B302C
- ldr r0, [r5]
- adds r0, 0xD
- bl sub_81B302C
- bl sub_81221AC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B54C6
- bl InUnionRoom
- cmp r0, 0x1
- bne _081B54E8
-_081B54C6:
- adds r0, r4, 0
- subs r0, 0xB
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _081B54E4
- movs r0, 0xD
- bl display_pokemon_menu_message
- b _081B5656
- .pool
-_081B54E4:
- ldrb r0, [r7, 0x4]
- b _081B5652
-_081B54E8:
- cmp r4, 0x7
- bhi _081B5524
- ldr r1, =0x00000867
- adds r0, r4, r1
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B5524
- ldr r0, =gText_CantUseUntilNewBadge
- movs r1, 0x1
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B1C1C
- str r1, [r0]
- b _081B5664
- .pool
-_081B5524:
- ldr r1, =gUnknown_08615D9C
- lsls r0, r4, 3
- adds r5, r0, r1
- ldr r0, [r5]
- bl _call_via_r0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B553A
- b _081B563C
-_081B553A:
- subs r0, r4, 0x5
- cmp r0, 0x7
- bhi _081B5624
- lsls r0, 2
- ldr r1, =_081B5554
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081B5554:
- .4byte _081B5614
- .4byte _081B5624
- .4byte _081B5624
- .4byte _081B557C
- .4byte _081B55B8
- .4byte _081B5624
- .4byte _081B5574
- .4byte _081B5574
-_081B5574:
- adds r0, r6, 0
- bl sub_8161560
- b _081B5664
-_081B557C:
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r0, 0x1C
- ldrsb r0, [r1, r0]
- lsls r0, 16
- lsrs r0, 16
- ldrb r1, [r1, 0x1D]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 16
- lsrs r1, 16
- bl Overworld_GetMapHeaderByGroupAndId
- adds r1, r0, 0
- ldr r0, =gStringVar1
- ldrb r1, [r1, 0x14]
- bl sub_81245DC
- ldr r0, =gStringVar4
- ldr r1, =gText_ReturnToHealingSpot
- b _081B55E8
- .pool
-_081B55B8:
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x24
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 16
- lsrs r0, 16
- adds r1, 0x25
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 16
- lsrs r1, 16
- bl Overworld_GetMapHeaderByGroupAndId
- adds r1, r0, 0
- ldr r0, =gStringVar1
- ldrb r1, [r1, 0x14]
- bl sub_81245DC
- ldr r0, =gStringVar4
- ldr r1, =gText_EscapeFromHere
-_081B55E8:
- bl StringExpandPlaceholders
- adds r0, r6, 0
- bl sub_81B5674
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- strh r4, [r0]
- b _081B5664
- .pool
-_081B5614:
- ldr r1, =gUnknown_0203CEC8
- ldr r0, =MCB2_FlyMap
- b _081B5628
- .pool
-_081B5624:
- ldr r1, =gUnknown_0203CEC8
- ldr r0, =CB2_ReturnToField
-_081B5628:
- str r0, [r1]
- adds r0, r6, 0
- bl sub_81B12C0
- b _081B5664
- .pool
-_081B563C:
- cmp r4, 0x1
- beq _081B564A
- cmp r4, 0x4
- bne _081B5650
- bl sub_81B5864
- b _081B5656
-_081B564A:
- bl sub_81B57DC
- b _081B5656
-_081B5650:
- ldrb r0, [r5, 0x4]
-_081B5652:
- bl display_pokemon_menu_message
-_081B5656:
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, =task_brm_cancel_1_on_keypad_a_or_b
- str r0, [r1]
-_081B5664:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B5470
-
- thumb_func_start sub_81B5674
-sub_81B5674: @ 81B5674
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gStringVar4
- movs r1, 0x1
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B56A4
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B5674
-
- thumb_func_start sub_81B56A4
-sub_81B56A4: @ 81B56A4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B56C8
- bl sub_81B334C
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B56D8
- str r0, [r1]
-_081B56C8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B56A4
-
- thumb_func_start sub_81B56D8
-sub_81B56D8: @ 81B56D8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _081B56FE
- cmp r1, 0
- bgt _081B56F8
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _081B5714
- b _081B572A
-_081B56F8:
- cmp r1, 0x1
- beq _081B571A
- b _081B572A
-_081B56FE:
- ldr r1, =gUnknown_0203CEC8
- ldr r0, =CB2_ReturnToField
- str r0, [r1]
- adds r0, r4, 0
- bl sub_81B12C0
- b _081B572A
- .pool
-_081B5714:
- movs r0, 0x5
- bl PlaySE
-_081B571A:
- ldr r0, =gFieldCallback2
- movs r1, 0
- str r1, [r0]
- ldr r0, =gPostMenuFieldCallback
- str r1, [r0]
- adds r0, r4, 0
- bl sub_81B1C1C
-_081B572A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B56D8
-
- thumb_func_start FieldCallback_PrepareFadeInFromMenu
-FieldCallback_PrepareFadeInFromMenu: @ 81B5738
- push {lr}
- bl pal_fill_black
- ldr r0, =task_launch_hm_phase_2
- movs r1, 0x8
- bl CreateTask
- movs r0, 0x1
- pop {r1}
- bx r1
- .pool
- thumb_func_end FieldCallback_PrepareFadeInFromMenu
-
- thumb_func_start task_launch_hm_phase_2
-task_launch_hm_phase_2: @ 81B5750
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsWeatherNotFadingIn
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B577C
- bl brm_get_selected_species
- ldr r1, =gFieldEffectArguments
- lsls r0, 16
- lsrs r0, 16
- str r0, [r1]
- ldr r0, =gPostMenuFieldCallback
- ldr r0, [r0]
- bl _call_via_r0
- adds r0, r4, 0
- bl DestroyTask
-_081B577C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_launch_hm_phase_2
-
- thumb_func_start brm_get_selected_species
-brm_get_selected_species: @ 81B578C
- push {lr}
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- .pool
- thumb_func_end brm_get_selected_species
-
- thumb_func_start task_brm_cancel_1_on_keypad_a_or_b
-task_brm_cancel_1_on_keypad_a_or_b: @ 81B57B4
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _081B57CE
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081B57D4
-_081B57CE:
- adds r0, r2, 0
- bl brm_cancel_1
-_081B57D4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_brm_cancel_1_on_keypad_a_or_b
-
- thumb_func_start sub_81B57DC
-sub_81B57DC: @ 81B57DC
- push {lr}
- ldr r0, =0x00000888
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B57F8
- movs r0, 0xC
- bl display_pokemon_menu_message
- b _081B57FE
- .pool
-_081B57F8:
- movs r0, 0xD
- bl display_pokemon_menu_message
-_081B57FE:
- pop {r0}
- bx r0
- thumb_func_end sub_81B57DC
-
- thumb_func_start hm_surf_run_dp02scr
-hm_surf_run_dp02scr: @ 81B5804
- push {lr}
- bl GetCursorSelectionMonId
- ldr r1, =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- movs r0, 0x9
- bl FieldEffectStart
- pop {r0}
- bx r0
- .pool
- thumb_func_end hm_surf_run_dp02scr
-
- thumb_func_start sub_81B5820
-sub_81B5820: @ 81B5820
- push {lr}
- bl PartyHasMonWithSurf
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B585C
- bl IsPlayerFacingSurfableFishableWater
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B585C
- ldr r1, =gFieldCallback2
- ldr r0, =FieldCallback_PrepareFadeInFromMenu
- str r0, [r1]
- ldr r1, =gPostMenuFieldCallback
- ldr r0, =hm_surf_run_dp02scr
- str r0, [r1]
- movs r0, 0x1
- b _081B585E
- .pool
-_081B585C:
- movs r0, 0
-_081B585E:
- pop {r1}
- bx r1
- thumb_func_end sub_81B5820
-
- thumb_func_start sub_81B5864
-sub_81B5864: @ 81B5864
- push {lr}
- movs r0, 0x8
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _081B587A
- movs r0, 0x9
- bl display_pokemon_menu_message
- b _081B5880
-_081B587A:
- movs r0, 0x8
- bl display_pokemon_menu_message
-_081B5880:
- pop {r0}
- bx r0
- thumb_func_end sub_81B5864
-
- thumb_func_start sub_81B5884
-sub_81B5884: @ 81B5884
- push {lr}
- ldr r0, =gMapHeader
- ldrb r0, [r0, 0x17]
- bl Overworld_MapTypeAllowsTeleportAndFly
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B58A0
- movs r0, 0
- b _081B58A2
- .pool
-_081B58A0:
- movs r0, 0x1
-_081B58A2:
- pop {r1}
- bx r1
- thumb_func_end sub_81B5884
-
- thumb_func_start sub_81B58A8
-sub_81B58A8: @ 81B58A8
- push {lr}
- sub sp, 0xC
- movs r0, 0
- str r0, [sp]
- ldr r0, =sub_81B1370
- str r0, [sp, 0x4]
- ldr r0, =CB2_ReturnToFieldWithOpenMenu
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_81B0038
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B58A8
-
- thumb_func_start hm2_waterfall
-hm2_waterfall: @ 81B58D4
- push {lr}
- bl GetCursorSelectionMonId
- ldr r1, =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- movs r0, 0x2B
- bl FieldEffectStart
- pop {r0}
- bx r0
- .pool
- thumb_func_end hm2_waterfall
-
- thumb_func_start hm_prepare_waterfall
-hm_prepare_waterfall: @ 81B58F0
- push {r4,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsWaterfall
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B594C
- bl IsPlayerSurfingNorth
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B594C
- ldr r1, =gFieldCallback2
- ldr r0, =FieldCallback_PrepareFadeInFromMenu
- str r0, [r1]
- ldr r1, =gPostMenuFieldCallback
- ldr r0, =hm2_waterfall
- str r0, [r1]
- movs r0, 0x1
- b _081B594E
- .pool
-_081B594C:
- movs r0, 0
-_081B594E:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end hm_prepare_waterfall
-
- thumb_func_start sub_81B5958
-sub_81B5958: @ 81B5958
- push {lr}
- bl GetCursorSelectionMonId
- ldr r1, =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- movs r0, 0x2C
- bl FieldEffectStart
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B5958
-
- thumb_func_start sub_81B5974
-sub_81B5974: @ 81B5974
- push {lr}
- bl TrySetDiveWarp
- ldr r1, =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1, 0x4]
- cmp r0, 0
- bne _081B5990
- movs r0, 0
- b _081B599E
- .pool
-_081B5990:
- ldr r1, =gFieldCallback2
- ldr r0, =FieldCallback_PrepareFadeInFromMenu
- str r0, [r1]
- ldr r1, =gPostMenuFieldCallback
- ldr r0, =sub_81B5958
- str r0, [r1]
- movs r0, 0x1
-_081B599E:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B5974
-
- thumb_func_start party_menu_icon_anim
-@ void party_menu_icon_anim(struct pokemon *mon, int a2, int a3)
-party_menu_icon_anim: @ 81B59B4
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r7, r1, 0
- adds r4, r2, 0
- movs r6, 0x1
- bl sub_81B1250
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B59EA
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081B59EA
- ldr r0, =gUnknown_08616020
- adds r0, r4, r0
- ldrb r1, [r0]
- eors r1, r6
- negs r0, r1
- orrs r0, r1
- lsrs r6, r0, 31
-_081B59EA:
- adds r0, r5, 0
- movs r1, 0x41
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0
- bl GetMonData
- adds r1, r0, 0
- str r6, [sp]
- adds r0, r4, 0
- adds r2, r7, 0
- movs r3, 0x1
- bl party_menu_link_mon_icon_anim
- ldrb r0, [r7, 0x9]
- adds r1, r5, 0
- bl sub_81B5B38
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end party_menu_icon_anim
-
- thumb_func_start party_menu_link_mon_icon_anim
-@ void party_menu_link_mon_icon_anim(u16 speciesId, u32 personality, int a3, char a4, int a5)
-party_menu_link_mon_icon_anim: @ 81B5A2C
- push {r4-r7,lr}
- sub sp, 0xC
- adds r6, r1, 0
- adds r4, r2, 0
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r3, 24
- lsrs r7, r3, 24
- cmp r5, 0
- beq _081B5A7A
- ldr r1, =sub_80D3014
- ldr r0, [r4, 0x4]
- ldrb r2, [r0]
- ldrb r3, [r0, 0x1]
- movs r0, 0x4
- str r0, [sp]
- str r6, [sp, 0x4]
- ldr r0, [sp, 0x20]
- str r0, [sp, 0x8]
- adds r0, r5, 0
- bl CreateMonIcon
- strb r0, [r4, 0x9]
- ldr r2, =gSprites
- ldrb r0, [r4, 0x9]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x3
- adds r2, r7, 0
- ands r2, r0
- lsls r2, 2
- ldrb r3, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x5]
-_081B5A7A:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end party_menu_link_mon_icon_anim
-
- thumb_func_start sub_81B5A8C
-sub_81B5A8C: @ 81B5A8C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- adds r0, r1, 0
- adds r1, r2, 0
- bl GetHPBarLevel
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _081B5AEC
- cmp r0, 0x2
- bgt _081B5AB4
- cmp r0, 0x1
- beq _081B5B04
- b _081B5B1C
-_081B5AB4:
- cmp r0, 0x3
- beq _081B5AD4
- cmp r0, 0x4
- bne _081B5B1C
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0
- bl sub_80D32C8
- b _081B5B2C
- .pool
-_081B5AD4:
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0x1
- bl sub_80D32C8
- b _081B5B2C
- .pool
-_081B5AEC:
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0x2
- bl sub_80D32C8
- b _081B5B2C
- .pool
-_081B5B04:
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0x3
- bl sub_80D32C8
- b _081B5B2C
- .pool
-_081B5B1C:
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0x4
- bl sub_80D32C8
-_081B5B2C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B5A8C
-
- thumb_func_start sub_81B5B38
-sub_81B5B38: @ 81B5B38
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r6, 0
- movs r1, 0x39
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r6, 0
- movs r1, 0x3A
- bl GetMonData
- adds r2, r0, 0
- lsls r2, 16
- lsrs r2, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_81B5A8C
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81B5B38
-
- thumb_func_start sub_81B5B6C
-sub_81B5B6C: @ 81B5B6C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- ldr r5, =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r6, r0, 2
- adds r2, r6, r5
- movs r7, 0
- movs r3, 0
- strh r3, [r2, 0x2E]
- mov r12, r5
- cmp r1, 0
- bne _081B5BC4
- movs r1, 0x20
- ldrsh r0, [r2, r1]
- cmp r0, 0x10
- bne _081B5BA4
- strh r3, [r2, 0x24]
- ldr r0, =0x0000fffc
- strh r0, [r2, 0x26]
- b _081B5BAA
- .pool
-_081B5BA4:
- ldr r0, =0x0000fffc
- strh r0, [r2, 0x24]
- strh r3, [r2, 0x26]
-_081B5BAA:
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- mov r1, r12
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_81B5C08
- b _081B5BD0
- .pool
-_081B5BC4:
- strh r3, [r2, 0x24]
- strh r3, [r2, 0x26]
- adds r0, r5, 0
- adds r0, 0x1C
- adds r0, r6, r0
- ldr r1, =sub_81B5BDC
-_081B5BD0:
- str r1, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B5B6C
-
- thumb_func_start sub_81B5BDC
-sub_81B5BDC: @ 81B5BDC
- push {r4,lr}
- adds r4, r0, 0
- bl UpdateMonIconFrame
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _081B5C02
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081B5C00
- ldr r0, =0x0000fffd
- strh r0, [r4, 0x26]
- b _081B5C02
- .pool
-_081B5C00:
- strh r1, [r4, 0x26]
-_081B5C02:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B5BDC
-
- thumb_func_start sub_81B5C08
-sub_81B5C08: @ 81B5C08
- push {lr}
- bl UpdateMonIconFrame
- pop {r0}
- bx r0
- thumb_func_end sub_81B5C08
-
- thumb_func_start party_menu_held_item_object
-party_menu_held_item_object: @ 81B5C14
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B5C3C
- ldr r0, =gSpriteTemplate_8615EC0
- ldr r2, [r4, 0x4]
- ldrb r1, [r2, 0x2]
- ldrb r2, [r2, 0x3]
- movs r3, 0
- bl CreateSprite
- strb r0, [r4, 0xA]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_81B5C94
-_081B5C3C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end party_menu_held_item_object
-
- thumb_func_start party_menu_link_mon_held_item_object
-party_menu_link_mon_held_item_object: @ 81B5C48
- push {r4,r5,lr}
- adds r4, r2, 0
- lsls r0, 16
- lsls r1, 16
- lsrs r5, r1, 16
- cmp r0, 0
- beq _081B5C84
- ldr r0, =gSpriteTemplate_8615EC0
- ldr r2, [r4, 0x4]
- ldrb r1, [r2, 0x2]
- ldrb r2, [r2, 0x3]
- movs r3, 0
- bl CreateSprite
- strb r0, [r4, 0xA]
- ldr r2, =gSprites
- ldrb r0, [r4, 0xA]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x5]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_81B5CB0
-_081B5C84:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end party_menu_link_mon_held_item_object
-
- thumb_func_start sub_81B5C94
-sub_81B5C94: @ 81B5C94
- push {r4,lr}
- adds r4, r1, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- adds r1, r4, 0
- bl sub_81B5CB0
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B5C94
-
- thumb_func_start sub_81B5CB0
-sub_81B5CB0: @ 81B5CB0
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _081B5CD8
- ldr r2, =gSprites
- ldrb r1, [r4, 0xA]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- b _081B5D24
- .pool
-_081B5CD8:
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _081B5CFC
- ldrb r1, [r4, 0xA]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0x1
- bl StartSpriteAnim
- b _081B5D0E
- .pool
-_081B5CFC:
- ldrb r1, [r4, 0xA]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0
- bl StartSpriteAnim
-_081B5D0E:
- ldr r2, =gSprites
- ldrb r1, [r4, 0xA]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
-_081B5D24:
- strb r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B5CB0
-
- thumb_func_start sub_81B5D30
-sub_81B5D30: @ 81B5D30
- push {lr}
- ldr r0, =gUnknown_08615EB0
- bl LoadSpriteSheet
- ldr r0, =gUnknown_08615EB8
- bl LoadSpritePalette
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B5D30
-
- thumb_func_start sub_81B5D4C
-sub_81B5D4C: @ 81B5D4C
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r7, r1, 0
- lsls r2, 24
- lsrs r2, 24
- cmp r2, 0
- beq _081B5D60
- cmp r2, 0x1
- beq _081B5DA8
- b _081B5DE4
-_081B5D60:
- movs r5, 0
- ldrb r0, [r6]
- cmp r5, r0
- bcs _081B5DE4
-_081B5D68:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _081B5D94
- adds r0, r7, r5
- ldrb r4, [r0]
- adds r0, r1, 0
- bl ItemIsMail
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_81B5DF0
-_081B5D94:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldrb r0, [r6]
- cmp r5, r0
- bcc _081B5D68
- b _081B5DE4
- .pool
-_081B5DA8:
- movs r5, 0
- b _081B5DDE
-_081B5DAC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gEnemyParty
- adds r0, r1
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _081B5DD8
- adds r0, r5, r7
- ldrb r4, [r0, 0x6]
- adds r0, r1, 0
- bl ItemIsMail
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_81B5DF0
-_081B5DD8:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_081B5DDE:
- ldrb r0, [r6, 0x1]
- cmp r5, r0
- bcc _081B5DAC
-_081B5DE4:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B5D4C
-
- thumb_func_start sub_81B5DF0
-sub_81B5DF0: @ 81B5DF0
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- adds r6, r0, 0
- mov r9, r1
- lsls r6, 24
- lsrs r6, 24
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r0, =gSprites
- mov r8, r0
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- add r0, r8
- adds r0, 0x43
- ldrb r3, [r0]
- ldr r0, =gSpriteTemplate_8615EC0
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0xFA
- movs r2, 0xAA
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- mov r0, r8
- adds r5, r4, r0
- movs r0, 0x4
- strh r0, [r5, 0x24]
- movs r0, 0xA
- strh r0, [r5, 0x26]
- movs r0, 0x1C
- add r8, r0
- add r4, r8
- ldr r0, =sub_81B5E74
- str r0, [r4]
- strh r6, [r5, 0x3C]
- adds r0, r5, 0
- mov r1, r9
- bl StartSpriteAnim
- ldr r1, [r4]
- adds r0, r5, 0
- bl _call_via_r1
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B5DF0
-
- thumb_func_start sub_81B5E74
-sub_81B5E74: @ 81B5E74
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x3C]
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, r0, r2
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- bge _081B5EA8
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _081B5EC6
- .pool
-_081B5EA8:
- adds r3, r4, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
- ldrh r0, [r2, 0x24]
- ldrh r1, [r2, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r2, 0x26]
- ldrh r2, [r2, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
-_081B5EC6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B5E74
-
- thumb_func_start party_menu_pokeball_object
-party_menu_pokeball_object: @ 81B5ECC
- push {r4,lr}
- adds r4, r1, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B5EEA
- ldr r0, =gSpriteTemplate_8615F08
- ldr r2, [r4, 0x4]
- ldrb r1, [r2, 0x6]
- ldrb r2, [r2, 0x7]
- movs r3, 0x8
- bl CreateSprite
- strb r0, [r4, 0xB]
-_081B5EEA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end party_menu_pokeball_object
-
- thumb_func_start party_menu_link_mon_pokeball_object
-party_menu_link_mon_pokeball_object: @ 81B5EF4
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 16
- cmp r0, 0
- beq _081B5F24
- ldr r0, =gSpriteTemplate_8615F08
- ldr r2, [r4, 0x4]
- ldrb r1, [r2, 0x6]
- ldrb r2, [r2, 0x7]
- movs r3, 0x8
- bl CreateSprite
- strb r0, [r4, 0xB]
- ldr r2, =gSprites
- ldrb r0, [r4, 0xB]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x5]
-_081B5F24:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end party_menu_link_mon_pokeball_object
-
- thumb_func_start sub_81B5F34
-sub_81B5F34: @ 81B5F34
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- lsls r3, 24
- lsrs r3, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r0, =gSpriteTemplate_8615F08
- adds r1, r3, 0
- movs r3, 0x8
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r3, [r1, 0x5]
- movs r2, 0xD
- negs r2, r2
- ands r2, r3
- movs r3, 0x8
- orrs r2, r3
- strb r2, [r1, 0x5]
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B5F34
-
- thumb_func_start sub_81B5F74
-sub_81B5F74: @ 81B5F74
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- lsls r3, 24
- lsrs r3, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r0, =gSpriteTemplate_8615F78
- adds r1, r3, 0
- movs r3, 0x8
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B5F74
-
- thumb_func_start sub_81B5F98
-sub_81B5F98: @ 81B5F98
- push {lr}
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- ldr r2, =gSprites
- adds r0, r2
- bl StartSpriteAnim
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B5F98
-
- thumb_func_start sub_81B5FBC
-sub_81B5FBC: @ 81B5FBC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- cmp r6, 0
- bne _081B6000
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- mov r8, r0
- add r4, r8
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAnim
- lsls r5, r7, 4
- adds r5, r7
- lsls r5, 2
- add r5, r8
- adds r0, r5, 0
- movs r1, 0x4
- bl StartSpriteAnim
- strh r6, [r4, 0x26]
- strh r6, [r5, 0x26]
- b _081B602C
- .pool
-_081B6000:
- lsls r5, r0, 4
- adds r5, r0
- lsls r5, 2
- ldr r0, =gSprites
- mov r8, r0
- add r5, r8
- adds r0, r5, 0
- movs r1, 0x3
- bl StartSpriteAnim
- lsls r4, r7, 4
- adds r4, r7
- lsls r4, 2
- add r4, r8
- adds r0, r4, 0
- movs r1, 0x5
- bl StartSpriteAnim
- ldr r0, =0x0000fffc
- strh r0, [r5, 0x26]
- movs r0, 0x4
- strh r0, [r4, 0x26]
-_081B602C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B5FBC
-
- thumb_func_start sub_81B6040
-sub_81B6040: @ 81B6040
- push {lr}
- ldr r0, =gUnknown_08615EF8
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_08615F70
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_08615F00
- bl LoadCompressedObjectPalette
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B6040
-
- thumb_func_start party_menu_status_condition_object
-party_menu_status_condition_object: @ 81B6064
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B608C
- ldr r0, =gSpriteTemplate_8616008
- ldr r2, [r4, 0x4]
- ldrb r1, [r2, 0x4]
- ldrb r2, [r2, 0x5]
- movs r3, 0
- bl CreateSprite
- strb r0, [r4, 0xC]
- adds r0, r5, 0
- adds r1, r4, 0
- bl party_menu_get_status_condition_and_update_object
-_081B608C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end party_menu_status_condition_object
-
- thumb_func_start party_menu_link_mon_status_condition_object
-party_menu_link_mon_status_condition_object: @ 81B6098
- push {r4,r5,lr}
- adds r4, r2, 0
- lsls r0, 16
- lsls r1, 24
- lsrs r5, r1, 24
- cmp r0, 0
- beq _081B60D4
- ldr r0, =gSpriteTemplate_8616008
- ldr r2, [r4, 0x4]
- ldrb r1, [r2, 0x4]
- ldrb r2, [r2, 0x5]
- movs r3, 0
- bl CreateSprite
- strb r0, [r4, 0xC]
- adds r0, r5, 0
- adds r1, r4, 0
- bl party_menu_update_status_condition_object
- ldr r2, =gSprites
- ldrb r0, [r4, 0xC]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x5]
-_081B60D4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end party_menu_link_mon_status_condition_object
-
- thumb_func_start party_menu_get_status_condition_and_update_object
-@ void party_menu_get_status_condition_and_update_object(struct pokemon *mon, void *a2, void *a3)
-party_menu_get_status_condition_and_update_object: @ 81B60E4
- push {r4,lr}
- adds r4, r1, 0
- bl sub_81B205C
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- bl party_menu_update_status_condition_object
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end party_menu_get_status_condition_and_update_object
-
- thumb_func_start party_menu_update_status_condition_object
-@ void party_menu_update_status_condition_object(u8 a1, void *a2)
-party_menu_update_status_condition_object: @ 81B60FC
- push {r4,r5,lr}
- adds r5, r1, 0
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _081B610C
- cmp r2, 0x6
- bne _081B6128
-_081B610C:
- ldr r2, =gSprites
- ldrb r1, [r5, 0xC]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- b _081B6152
- .pool
-_081B6128:
- ldrb r1, [r5, 0xC]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- subs r1, r2, 0x1
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAnim
- ldrb r1, [r5, 0xC]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
-_081B6152:
- strb r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end party_menu_update_status_condition_object
-
- thumb_func_start sub_81B6160
-sub_81B6160: @ 81B6160
- push {lr}
- ldr r0, =gUnknown_08615FF8
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_08616000
- bl LoadCompressedObjectPalette
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B6160
-
- thumb_func_start sub_81B617C
-sub_81B617C: @ 81B617C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- ldr r0, =c2_815ABFC
- mov r8, r0
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081B61BC
- movs r7, 0x1
- bl sub_81B8984
- lsls r0, 24
- lsrs r6, r0, 24
- b _081B61C0
- .pool
-_081B61B0:
- ldr r0, =gUnknown_0203CEC8
- strb r5, [r0, 0x9]
- b _081B6204
- .pool
-_081B61BC:
- movs r7, 0
- movs r6, 0
-_081B61C0:
- ldr r4, =gSpecialVar_ItemId
- ldrh r0, [r4]
- bl GetItemEffectType
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xA
- bne _081B621C
- ldr r1, =gUnknown_0203CEC8
- movs r0, 0
- strb r0, [r1, 0x9]
- movs r5, 0
-_081B61D8:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B61FA
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _081B61B0
-_081B61FA:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _081B61D8
-_081B6204:
- ldr r0, =sub_81B6280
- movs r1, 0x7F
- b _081B6230
- .pool
-_081B621C:
- ldrh r0, [r4]
- bl GetPocketByItemId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x5
- cmp r0, 0x3
- bne _081B622E
- movs r1, 0x4
-_081B622E:
- ldr r0, =sub_81B1370
-_081B6230:
- str r1, [sp]
- str r0, [sp, 0x4]
- mov r0, r8
- str r0, [sp, 0x8]
- adds r0, r7, 0
- adds r1, r6, 0
- movs r2, 0x3
- movs r3, 0x1
- bl sub_81B0038
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B617C
-
- thumb_func_start c2_815ABFC
-c2_815ABFC: @ 81B6254
- push {lr}
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _081B626C
- movs r0, 0xC
- movs r1, 0x5
- movs r2, 0
- bl GoToBagMenu
- b _081B6276
-_081B626C:
- ldr r0, =gPyramidBagCursorData
- ldr r1, [r0]
- movs r0, 0x4
- bl sub_81C4F98
-_081B6276:
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_815ABFC
-
- thumb_func_start sub_81B6280
-sub_81B6280: @ 81B6280
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081B62B2
- ldr r0, =gUnknown_0203CEC8
- ldrb r1, [r0, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x1
- bne _081B62A6
- ldr r0, =gUnknown_0203CEC4
- ldr r1, [r0]
- ldr r0, =sub_81B9140
- str r0, [r1, 0x4]
-_081B62A6:
- ldr r0, =gUnknown_03006328
- ldr r1, =sub_81B6794
- ldr r2, [r0]
- adds r0, r3, 0
- bl _call_via_r2
-_081B62B2:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B6280
-
- thumb_func_start IsHPRecoveryItem
-@ bool8 IsHPRecoveryItem(u16 itemId)
-IsHPRecoveryItem: @ 81B62D0
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xAF
- bne _081B62EC
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003214
- adds r0, r1
- b _081B62F6
- .pool
-_081B62EC:
- ldr r1, =gItemEffectTable
- subs r0, 0xD
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
-_081B62F6:
- ldrb r1, [r0, 0x4]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _081B6308
- movs r0, 0
- b _081B630A
- .pool
-_081B6308:
- movs r0, 0x1
-_081B630A:
- pop {r1}
- bx r1
- thumb_func_end IsHPRecoveryItem
-
- thumb_func_start GetMedicineItemEffectMessage
-@ void GetMedicineItemEffectMessage(u16 itemId)
-GetMedicineItemEffectMessage: @ 81B6310
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- bl GetItemEffectType
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x3
- cmp r0, 0x12
- bls _081B6326
- b _081B64BC
-_081B6326:
- lsls r0, 2
- ldr r1, =_081B6334
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081B6334:
- .4byte _081B6380
- .4byte _081B6394
- .4byte _081B63A8
- .4byte _081B63BC
- .4byte _081B63D0
- .4byte _081B63E4
- .4byte _081B63F8
- .4byte _081B64BC
- .4byte _081B640C
- .4byte _081B6430
- .4byte _081B6420
- .4byte _081B6460
- .4byte _081B6470
- .4byte _081B6450
- .4byte _081B6440
- .4byte _081B64BC
- .4byte _081B6494
- .4byte _081B6494
- .4byte _081B64A8
-_081B6380:
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnCuredOfPoison
- bl StringExpandPlaceholders
- b _081B64C4
- .pool
-_081B6394:
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnWokeUp2
- bl StringExpandPlaceholders
- b _081B64C4
- .pool
-_081B63A8:
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnBurnHealed
- bl StringExpandPlaceholders
- b _081B64C4
- .pool
-_081B63BC:
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnThawedOut
- bl StringExpandPlaceholders
- b _081B64C4
- .pool
-_081B63D0:
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnCuredOfParalysis
- bl StringExpandPlaceholders
- b _081B64C4
- .pool
-_081B63E4:
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnSnappedOutOfConfusion
- bl StringExpandPlaceholders
- b _081B64C4
- .pool
-_081B63F8:
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnGotOverInfatuation
- bl StringExpandPlaceholders
- b _081B64C4
- .pool
-_081B640C:
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnBecameHealthy
- bl StringExpandPlaceholders
- b _081B64C4
- .pool
-_081B6420:
- ldr r0, =gStringVar2
- ldr r1, =gText_HP3
- b _081B6474
- .pool
-_081B6430:
- ldr r0, =gStringVar2
- ldr r1, =gText_Attack3
- b _081B6474
- .pool
-_081B6440:
- ldr r0, =gStringVar2
- ldr r1, =gText_Defense3
- b _081B6474
- .pool
-_081B6450:
- ldr r0, =gStringVar2
- ldr r1, =gText_Speed2
- b _081B6474
- .pool
-_081B6460:
- ldr r0, =gStringVar2
- ldr r1, =gText_SpAtk3
- b _081B6474
- .pool
-_081B6470:
- ldr r0, =gStringVar2
- ldr r1, =gText_SpDef3
-_081B6474:
- bl StringCopy
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnBaseVar2StatIncreased
- bl StringExpandPlaceholders
- b _081B64C4
- .pool
-_081B6494:
- ldr r0, =gStringVar4
- ldr r1, =gText_MovesPPIncreased
- bl StringExpandPlaceholders
- b _081B64C4
- .pool
-_081B64A8:
- ldr r0, =gStringVar4
- ldr r1, =gText_PPWasRestored
- bl StringExpandPlaceholders
- b _081B64C4
- .pool
-_081B64BC:
- ldr r0, =gStringVar4
- ldr r1, =gText_WontHaveEffect
- bl StringExpandPlaceholders
-_081B64C4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end GetMedicineItemEffectMessage
-
- thumb_func_start UsingHPEVItemOnShedinja
-@ bool8 UsingHPEVItemOnShedinja(struct pokemon *mon, u16 itemId)
-UsingHPEVItemOnShedinja: @ 81B64D0
- push {r4,lr}
- adds r4, r0, 0
- lsls r0, r1, 16
- lsrs r0, 16
- bl GetItemEffectType
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD
- bne _081B64FC
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- ldr r1, =0x0000012f
- cmp r0, r1
- bne _081B64FC
- movs r0, 0
- b _081B64FE
- .pool
-_081B64FC:
- movs r0, 0x1
-_081B64FE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end UsingHPEVItemOnShedinja
-
- thumb_func_start IsBlueYellowRedFlute
-@ bool8 IsBlueYellowRedFlute(u16 itemId)
-IsBlueYellowRedFlute: @ 81B6504
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x27
- beq _081B6516
- cmp r0, 0x29
- beq _081B6516
- cmp r0, 0x28
- bne _081B651A
-_081B6516:
- movs r0, 0x1
- b _081B651C
-_081B651A:
- movs r0, 0
-_081B651C:
- pop {r1}
- bx r1
- thumb_func_end IsBlueYellowRedFlute
-
- thumb_func_start ExecuteTableBasedItemEffect__
-@ bool8 ExecuteTableBasedItemEffect__(u8 partyMonIndex, u16 itemId, u8 monMoveIndex)
-ExecuteTableBasedItemEffect__: @ 81B6520
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 16
- lsrs r5, r1, 16
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _081B6558
- movs r0, 0x64
- muls r0, r3
- ldr r1, =gPlayerParty
- adds r0, r1
- adds r1, r5, 0
- adds r2, r3, 0
- b _081B6572
- .pool
-_081B6558:
- movs r0, 0x64
- adds r4, r3, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r3, 0
- bl sub_81B8F38
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
-_081B6572:
- adds r3, r6, 0
- bl ExecuteTableBasedItemEffect
- lsls r0, 24
- lsrs r0, 24
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ExecuteTableBasedItemEffect__
-
- thumb_func_start ItemUseCB_Medicine
-ItemUseCB_Medicine: @ 81B6588
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- str r1, [sp, 0x4]
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r0, 0
- mov r10, r0
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r5, r1, r0
- ldr r0, =gSpecialVar_ItemId
- ldrh r6, [r0]
- adds r0, r5, 0
- adds r1, r6, 0
- bl UsingHPEVItemOnShedinja
- lsls r0, 24
- cmp r0, 0
- beq _081B6600
- adds r0, r6, 0
- bl IsHPRecoveryItem
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- cmp r0, 0x1
- bne _081B65EE
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- adds r0, r5, 0
- movs r1, 0x3A
- bl GetMonData
- cmp r10, r0
- bne _081B65EE
- movs r1, 0
- mov r8, r1
-_081B65EE:
- ldr r4, =gUnknown_0203CEC8
- ldrb r0, [r4, 0x9]
- adds r1, r6, 0
- movs r2, 0
- bl ExecuteTableBasedItemEffect__
- lsls r0, 24
- cmp r0, 0
- beq _081B6624
-_081B6600:
- ldr r1, =gUnknown_0203CEE8
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gText_WontHaveEffect
- b _081B66F4
- .pool
-_081B6624:
- ldr r1, =gUnknown_0203CEE8
- movs r0, 0x1
- strb r0, [r1]
- adds r0, r6, 0
- bl IsBlueYellowRedFlute
- lsls r0, 24
- cmp r0, 0
- bne _081B6650
- movs r0, 0x1
- bl PlaySE
- ldrb r0, [r4, 0xB]
- cmp r0, 0xE
- beq _081B6656
- adds r0, r6, 0
- movs r1, 0x1
- bl RemoveBagItem
- b _081B6656
- .pool
-_081B6650:
- movs r0, 0x75
- bl PlaySE
-_081B6656:
- ldr r4, =gUnknown_0203CEDC
- ldr r7, =gUnknown_0203CEC8
- movs r0, 0x9
- ldrsb r0, [r7, r0]
- lsls r0, 4
- ldr r1, [r4]
- adds r1, r0
- adds r0, r5, 0
- bl party_menu_get_status_condition_and_update_object
- ldr r2, =gSprites
- movs r0, 0x9
- ldrsb r0, [r7, r0]
- ldr r1, [r4]
- lsls r0, 4
- adds r3, r0, r1
- ldrb r1, [r3, 0xC]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- bge _081B6694
- adds r0, r5, 0
- adds r1, r3, 0
- movs r2, 0x1
- bl sub_81B2AC8
-_081B6694:
- mov r2, r8
- cmp r2, 0x1
- bne _081B66E4
- mov r0, r10
- cmp r0, 0
- bne _081B66A8
- ldrb r0, [r7, 0x9]
- movs r1, 0x1
- bl sub_81B0FCC
-_081B66A8:
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- adds r3, r0, 0
- mov r1, r10
- subs r3, r1
- lsls r3, 16
- asrs r3, 16
- ldrb r1, [r7, 0x9]
- ldr r0, =sub_81B672C
- str r0, [sp]
- mov r0, r9
- movs r2, 0x1
- bl sub_81B1F18
- mov r0, r9
- movs r1, 0
- mov r2, r10
- bl sub_81B1FA8
- b _081B6710
- .pool
-_081B66E4:
- ldr r1, =gStringVar1
- adds r0, r5, 0
- bl GetMonNickname
- adds r0, r6, 0
- bl GetMedicineItemEffectMessage
- ldr r0, =gStringVar4
-_081B66F4:
- movs r1, 0x1
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- mov r2, r9
- lsls r0, r2, 2
- add r0, r9
- lsls r0, 3
- adds r0, r1
- ldr r1, [sp, 0x4]
- str r1, [r0]
-_081B6710:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ItemUseCB_Medicine
-
- thumb_func_start sub_81B672C
-sub_81B672C: @ 81B672C
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gStringVar1
- bl GetMonNickname
- ldr r4, =gStringVar4
- ldr r1, =gText_PkmnHPRestoredByVar2
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- bl HandleBattleLowHpMusicChange
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B6794
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B672C
-
- thumb_func_start sub_81B6794
-sub_81B6794: @ 81B6794
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B67BA
- ldr r0, =gUnknown_0203CEE8
- ldrb r1, [r0]
- cmp r1, 0
- bne _081B67B4
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- str r1, [r0, 0x4]
-_081B67B4:
- adds r0, r4, 0
- bl sub_81B12C0
-_081B67BA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B6794
-
- thumb_func_start sub_81B67C8
-sub_81B67C8: @ 81B67C8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- str r1, [sp]
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r4, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r4, r1]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r5, r1, r0
- ldr r0, =gSpecialVar_ItemId
- ldrh r6, [r0]
- adds r0, r6, 0
- bl GetItemEffectType
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r5, 0
- movs r1, 0x20
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x4]
- adds r0, r5, 0
- adds r1, r7, 0
- bl sub_81B691C
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x8]
- ldrb r0, [r4, 0x9]
- adds r1, r6, 0
- movs r2, 0
- bl ExecuteTableBasedItemEffect__
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x20
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- adds r0, r5, 0
- adds r1, r7, 0
- bl sub_81B691C
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r4, 0
- bne _081B6850
- ldr r0, [sp, 0x4]
- cmp r0, r9
- bne _081B6874
- ldr r1, [sp, 0x8]
- cmp r1, r8
- bne _081B6874
-_081B6850:
- ldr r1, =gUnknown_0203CEE8
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gText_WontHaveEffect
- b _081B68E2
- .pool
-_081B6874:
- ldr r1, =gUnknown_0203CEE8
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0x1
- bl PlaySE
- adds r0, r6, 0
- movs r1, 0x1
- bl RemoveBagItem
- ldr r1, =gStringVar1
- adds r0, r5, 0
- bl GetMonNickname
- ldr r1, =gStringVar2
- adds r0, r7, 0
- bl option_menu_get_string
- ldr r2, [sp, 0x4]
- cmp r2, r9
- beq _081B68D8
- ldr r0, [sp, 0x8]
- cmp r0, r8
- beq _081B68C4
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnFriendlyBaseVar2Fell
- bl StringExpandPlaceholders
- b _081B68E0
- .pool
-_081B68C4:
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnFriendlyBaseVar2CantFall
- bl StringExpandPlaceholders
- b _081B68E0
- .pool
-_081B68D8:
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnAdoresBaseVar2Fell
- bl StringExpandPlaceholders
-_081B68E0:
- ldr r0, =gStringVar4
-_081B68E2:
- movs r1, 0x1
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- mov r2, r10
- lsls r0, r2, 2
- add r0, r10
- lsls r0, 3
- adds r0, r1
- ldr r1, [sp]
- str r1, [r0]
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B67C8
-
- thumb_func_start sub_81B691C
-sub_81B691C: @ 81B691C
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r1, 0
- subs r0, 0xC
- cmp r0, 0x5
- bhi _081B6992
- lsls r0, 2
- ldr r1, =_081B693C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081B693C:
- .4byte _081B696C
- .4byte _081B6954
- .4byte _081B697E
- .4byte _081B6984
- .4byte _081B6978
- .4byte _081B6972
-_081B6954:
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- ldr r1, =0x0000012f
- cmp r0, r1
- beq _081B6992
- adds r0, r4, 0
- movs r1, 0x1A
- b _081B6988
- .pool
-_081B696C:
- adds r0, r4, 0
- movs r1, 0x1B
- b _081B6988
-_081B6972:
- adds r0, r4, 0
- movs r1, 0x1C
- b _081B6988
-_081B6978:
- adds r0, r4, 0
- movs r1, 0x1D
- b _081B6988
-_081B697E:
- adds r0, r4, 0
- movs r1, 0x1E
- b _081B6988
-_081B6984:
- adds r0, r4, 0
- movs r1, 0x1F
-_081B6988:
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- b _081B6994
-_081B6992:
- movs r0, 0
-_081B6994:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81B691C
-
- thumb_func_start option_menu_get_string
-option_menu_get_string: @ 81B699C
- push {lr}
- adds r2, r1, 0
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0xC
- cmp r0, 0x5
- bhi _081B6A08
- lsls r0, 2
- ldr r1, =_081B69B8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081B69B8:
- .4byte _081B69D8
- .4byte _081B69D0
- .4byte _081B69F0
- .4byte _081B6A00
- .4byte _081B69E8
- .4byte _081B69E0
-_081B69D0:
- ldr r1, =gText_HP3
- b _081B69F2
- .pool
-_081B69D8:
- ldr r1, =gText_Attack3
- b _081B69F2
- .pool
-_081B69E0:
- ldr r1, =gText_Defense3
- b _081B69F2
- .pool
-_081B69E8:
- ldr r1, =gText_Speed2
- b _081B69F2
- .pool
-_081B69F0:
- ldr r1, =gText_SpAtk3
-_081B69F2:
- adds r0, r2, 0
- bl StringCopy
- b _081B6A08
- .pool
-_081B6A00:
- ldr r1, =gText_SpDef3
- adds r0, r2, 0
- bl StringCopy
-_081B6A08:
- pop {r0}
- bx r0
- .pool
- thumb_func_end option_menu_get_string
-
- thumb_func_start sub_81B6A10
-sub_81B6A10: @ 81B6A10
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r7, 0
- movs r0, 0x1
- mov r10, r0
- movs r0, 0x3
- bl sub_81B31B0
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- movs r0, 0x64
- adds r1, r4, 0
- muls r1, r0
- mov r8, r1
- ldr r0, =gPlayerParty
- mov r9, r0
-_081B6A40:
- adds r1, r5, 0
- adds r1, 0xD
- mov r0, r8
- add r0, r9
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- movs r0, 0xD
- adds r2, r4, 0
- muls r2, r0
- ldr r0, =gMoveNames
- adds r2, r0
- lsls r0, r5, 4
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- adds r0, r6, 0
- mov r1, r10
- movs r3, 0x8
- bl AddTextPrinterParameterized
- cmp r4, 0
- beq _081B6A82
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
-_081B6A82:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _081B6A40
- adds r0, r6, 0
- adds r1, r7, 0
- movs r2, 0
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B6A10
-
- thumb_func_start ether_effect_related_3
-ether_effect_related_3: @ 81B6AB4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- bl Menu_ProcessInput
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x2
- negs r0, r0
- cmp r1, r0
- beq _081B6AF0
- adds r0, 0x1
- cmp r1, r0
- bne _081B6AE0
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_81B6BB4
- b _081B6AF0
-_081B6AE0:
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- adds r0, 0xD
- bl sub_81B302C
- adds r0, r5, 0
- bl ether_effect_related_2
-_081B6AF0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ether_effect_related_3
-
- thumb_func_start dp05_ether
-dp05_ether: @ 81B6AFC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- cmp r0, 0xAF
- bne _081B6B20
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003214
- adds r0, r1
- b _081B6B2A
- .pool
-_081B6B20:
- ldr r1, =gItemEffectTable
- subs r0, 0xD
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
-_081B6B2A:
- ldrb r1, [r0, 0x4]
- movs r0, 0x10
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _081B6B4C
- ldr r0, =gUnknown_0203CEC8
- strh r1, [r0, 0xE]
- adds r0, r4, 0
- bl ether_effect_related
- b _081B6B6E
- .pool
-_081B6B4C:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x16
- bl display_pokemon_menu_message
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0x9]
- bl sub_81B6A10
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =ether_effect_related_3
- str r1, [r0]
-_081B6B6E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end dp05_ether
-
- thumb_func_start ether_effect_related_2
-ether_effect_related_2: @ 81B6B80
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- adds r0, 0xC
- bl sub_81B302C
- bl GetMenuCursorPos
- ldr r1, =gUnknown_0203CEC8
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0xE]
- adds r0, r4, 0
- bl ether_effect_related
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ether_effect_related_2
-
- thumb_func_start sub_81B6BB4
-sub_81B6BB4: @ 81B6BB4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, =sub_81B1370
- str r0, [r1]
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- movs r1, 0
- str r1, [r0, 0x4]
- adds r0, 0xC
- bl sub_81B302C
- movs r0, 0x5
- bl display_pokemon_menu_message
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B6BB4
-
- thumb_func_start ether_effect_related
-ether_effect_related: @ 81B6BEC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r4, 0
- ldr r7, =gUnknown_0203CED6
- ldr r0, =gSpecialVar_ItemId
- ldrh r5, [r0]
- movs r0, 0xE
- negs r0, r0
- adds r0, r7
- mov r8, r0
- ldrb r0, [r0, 0x9]
- ldrb r2, [r7]
- adds r1, r5, 0
- bl ExecuteTableBasedItemEffect__
- lsls r0, 24
- cmp r0, 0
- beq _081B6C34
- ldr r0, =gUnknown_0203CEE8
- strb r4, [r0]
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gText_WontHaveEffect
- b _081B6C7E
- .pool
-_081B6C34:
- ldr r1, =gUnknown_0203CEE8
- movs r0, 0x1
- strb r0, [r1]
- mov r0, r8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- adds r4, r1, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- movs r0, 0x1
- bl PlaySE
- adds r0, r5, 0
- movs r1, 0x1
- bl RemoveBagItem
- movs r0, 0
- ldrsh r1, [r7, r0]
- adds r1, 0xD
- adds r0, r4, 0
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =gStringVar1
- movs r1, 0xD
- muls r1, r4
- ldr r2, =gMoveNames
- adds r1, r2
- bl StringCopy
- adds r0, r5, 0
- bl GetMedicineItemEffectMessage
- ldr r0, =gStringVar4
-_081B6C7E:
- movs r1, 0x1
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B6794
- str r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ether_effect_related
-
- thumb_func_start dp05_pp_up
-dp05_pp_up: @ 81B6CC0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x17
- bl display_pokemon_menu_message
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0x9]
- bl sub_81B6A10
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =ether_effect_related_3
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end dp05_pp_up
-
- thumb_func_start ItemIdToBattleMoveId
-ItemIdToBattleMoveId: @ 81B6CFC
- lsls r0, 16
- ldr r1, =0xfedf0000
- adds r0, r1
- ldr r1, =gUnknown_08616040
- lsrs r0, 15
- adds r0, r1
- ldrh r0, [r0]
- bx lr
- .pool
- thumb_func_end ItemIdToBattleMoveId
-
- thumb_func_start sub_81B6D14
-sub_81B6D14: @ 81B6D14
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- movs r1, 0
- ldr r3, =gUnknown_08616040
-_081B6D1E:
- adds r0, r1, 0
- adds r0, 0x32
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- cmp r0, r2
- bne _081B6D34
- movs r0, 0x1
- b _081B6D40
- .pool
-_081B6D34:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x7
- bls _081B6D1E
- movs r0, 0
-_081B6D40:
- pop {r1}
- bx r1
- thumb_func_end sub_81B6D14
-
- thumb_func_start pokemon_has_move
-pokemon_has_move: @ 81B6D44
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r1, 16
- lsrs r5, r1, 16
- movs r4, 0
-_081B6D4E:
- adds r1, r4, 0
- adds r1, 0xD
- adds r0, r6, 0
- bl GetMonData
- cmp r0, r5
- bne _081B6D60
- movs r0, 0x1
- b _081B6D6C
-_081B6D60:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _081B6D4E
- movs r0, 0
-_081B6D6C:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end pokemon_has_move
-
- thumb_func_start sub_81B6D74
-sub_81B6D74: @ 81B6D74
- push {r4,lr}
- adds r1, r0, 0
- ldr r4, =gStringVar4
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B6D74
-
- thumb_func_start sub_81B6D98
-sub_81B6D98: @ 81B6D98
- push {r4,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_81B6D74
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B6794
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B6D98
-
- thumb_func_start sub_81B6DC4
-sub_81B6DC4: @ 81B6DC4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r0, 0x5
- bl PlaySE
- ldr r7, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r7, r1]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r5, r1, r0
- movs r0, 0xE
- adds r0, r7
- mov r8, r0
- ldr r0, =gSpecialVar_ItemId
- ldrh r4, [r0]
- ldr r1, =gStringVar1
- adds r0, r5, 0
- bl GetMonNickname
- adds r0, r4, 0
- bl ItemIdToBattleMoveId
- strh r0, [r7, 0xE]
- ldr r0, =gStringVar2
- movs r1, 0xE
- ldrsh r2, [r7, r1]
- movs r1, 0xD
- muls r1, r2
- ldr r2, =gMoveNames
- adds r1, r2
- bl StringCopy
- movs r0, 0
- mov r1, r8
- strh r0, [r1, 0x2]
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_81B22D8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B6E70
- cmp r0, 0x2
- beq _081B6E78
- ldrh r1, [r7, 0xE]
- adds r0, r5, 0
- bl GiveMoveToMon
- lsls r0, 16
- ldr r1, =0xffff0000
- cmp r0, r1
- beq _081B6E88
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B6EB4
- str r0, [r1]
- b _081B6E9C
- .pool
-_081B6E70:
- ldr r1, =gText_PkmnCantLearnMove
- b _081B6E7A
- .pool
-_081B6E78:
- ldr r1, =gText_PkmnAlreadyKnows
-_081B6E7A:
- adds r0, r6, 0
- bl sub_81B6D98
- b _081B6E9C
- .pool
-_081B6E88:
- ldr r0, =gText_PkmnNeedsToReplaceMove
- bl sub_81B6D74
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B6FF4
- str r1, [r0]
-_081B6E9C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B6DC4
-
- thumb_func_start sub_81B6EB4
-sub_81B6EB4: @ 81B6EB4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r2, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r2, r1]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r5, r1, r0
- adds r6, r2, 0
- adds r6, 0xE
- ldr r0, =gSpecialVar_ItemId
- ldrh r4, [r0]
- movs r1, 0x2
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _081B6EF0
- adds r0, r5, 0
- movs r1, 0x4
- bl AdjustFriendship
- movs r0, 0xA9
- lsls r0, 1
- cmp r4, r0
- bhi _081B6EF0
- adds r0, r4, 0
- movs r1, 0x1
- bl RemoveBagItem
-_081B6EF0:
- ldr r1, =gStringVar1
- adds r0, r5, 0
- bl GetMonNickname
- ldr r0, =gStringVar2
- movs r1, 0
- ldrsh r2, [r6, r1]
- movs r1, 0xD
- muls r1, r2
- ldr r2, =gMoveNames
- adds r1, r2
- bl StringCopy
- ldr r4, =gStringVar4
- ldr r1, =gText_PkmnLearnedMove3
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B6F60
- str r1, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B6EB4
-
- thumb_func_start sub_81B6F60
-sub_81B6F60: @ 81B6F60
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B6F86
- ldr r0, =0x0000016f
- bl PlayFanfare
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B6F98
- str r1, [r0]
-_081B6F86:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B6F60
-
- thumb_func_start sub_81B6F98
-sub_81B6F98: @ 81B6F98
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- bl IsFanfareTaskInactive
- lsls r0, 24
- cmp r0, 0
- beq _081B6FEA
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r2, 0x1
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _081B6FC0
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081B6FEA
-_081B6FC0:
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x10
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- bne _081B6FDC
- adds r0, r4, 0
- bl sub_81B77AC
- b _081B6FEA
- .pool
-_081B6FDC:
- cmp r0, 0x2
- bne _081B6FE4
- ldr r0, =gSpecialVar_Result
- strh r2, [r0]
-_081B6FE4:
- adds r0, r5, 0
- bl sub_81B12C0
-_081B6FEA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B6F98
-
- thumb_func_start sub_81B6FF4
-sub_81B6FF4: @ 81B6FF4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B7018
- bl sub_81B334C
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B7028
- str r0, [r1]
-_081B7018:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B6FF4
-
- thumb_func_start sub_81B7028
-sub_81B7028: @ 81B7028
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _081B704E
- cmp r1, 0
- bgt _081B7048
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _081B7074
- b _081B7080
-_081B7048:
- cmp r1, 0x1
- beq _081B707A
- b _081B7080
-_081B704E:
- ldr r0, =gText_WhichMoveToForget
- movs r1, 0x1
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B7088
- str r1, [r0]
- b _081B7080
- .pool
-_081B7074:
- movs r0, 0x5
- bl PlaySE
-_081B707A:
- adds r0, r4, 0
- bl sub_81B7230
-_081B7080:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B7028
-
- thumb_func_start sub_81B7088
-sub_81B7088: @ 81B7088
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B70A8
- ldr r0, =gUnknown_0203CEC4
- ldr r1, [r0]
- ldr r0, =sub_81B70B8
- str r0, [r1, 0x4]
- adds r0, r4, 0
- bl sub_81B12C0
-_081B70A8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B7088
-
- thumb_func_start sub_81B70B8
-sub_81B70B8: @ 81B70B8
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =gPlayerParty
- ldr r4, =gUnknown_0203CEC8
- ldrb r1, [r4, 0x9]
- ldr r2, =gPlayerPartyCount
- ldrb r2, [r2]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldr r3, =sub_81B70F0
- ldrh r4, [r4, 0xE]
- str r4, [sp]
- bl ShowSelectMovePokemonSummaryScreen
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B70B8
-
- thumb_func_start sub_81B70F0
-sub_81B70F0: @ 81B70F0
- push {lr}
- sub sp, 0xC
- movs r0, 0x7F
- str r0, [sp]
- ldr r0, =sub_81B711C
- str r0, [sp, 0x4]
- ldr r0, =gUnknown_0203CEC8
- ldr r0, [r0]
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_81B0038
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B70F0
-
- thumb_func_start sub_81B711C
-sub_81B711C: @ 81B711C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081B714E
- bl sub_81C1B94
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- beq _081B7148
- adds r0, r4, 0
- bl sub_81B7154
- b _081B714E
- .pool
-_081B7148:
- adds r0, r5, 0
- bl sub_81B7230
-_081B714E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81B711C
-
- thumb_func_start sub_81B7154
-sub_81B7154: @ 81B7154
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- adds r5, r1, 0
- muls r5, r0
- ldr r0, =gPlayerParty
- adds r5, r0
- bl sub_81C1B94
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r1, 0xD
- adds r0, r5, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r1, =gStringVar1
- adds r0, r5, 0
- bl GetMonNickname
- ldr r0, =gStringVar2
- movs r1, 0xD
- muls r1, r4
- ldr r2, =gMoveNames
- adds r1, r2
- bl StringCopy
- ldr r0, =gText_12PoofForgotMove
- bl sub_81B6D74
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B71D4
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B7154
-
- thumb_func_start sub_81B71D4
-sub_81B71D4: @ 81B71D4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B7220
- ldr r5, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r5, r1]
- movs r0, 0x64
- adds r4, r1, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- bl sub_81C1B94
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl RemoveMonPPBonus
- ldrh r5, [r5, 0xE]
- bl sub_81C1B94
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl SetMonMoveSlot
- adds r0, r6, 0
- bl sub_81B6EB4
-_081B7220:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B71D4
-
- thumb_func_start sub_81B7230
-sub_81B7230: @ 81B7230
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gStringVar2
- ldr r1, =gUnknown_0203CEC8
- movs r3, 0xE
- ldrsh r2, [r1, r3]
- movs r1, 0xD
- muls r1, r2
- ldr r2, =gMoveNames
- adds r1, r2
- bl StringCopy
- ldr r4, =gStringVar4
- ldr r1, =gText_StopLearningMove2
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B7294
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B7230
-
- thumb_func_start sub_81B7294
-sub_81B7294: @ 81B7294
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B72B8
- bl sub_81B334C
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B72C8
- str r0, [r1]
-_081B72B8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B7294
-
- thumb_func_start sub_81B72C8
-sub_81B72C8: @ 81B72C8
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r7, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r7, r1]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r5, r0, 24
- cmp r5, 0
- beq _081B7306
- cmp r5, 0
- bgt _081B7300
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- beq _081B738C
- b _081B73C2
- .pool
-_081B7300:
- cmp r5, 0x1
- beq _081B7392
- b _081B73C2
-_081B7306:
- ldr r1, =gStringVar1
- adds r0, r4, 0
- bl GetMonNickname
- ldr r0, =gStringVar2
- movs r1, 0xE
- ldrsh r2, [r7, r1]
- movs r1, 0xD
- muls r1, r2
- ldr r2, =gMoveNames
- adds r1, r2
- bl StringCopy
- ldr r4, =gStringVar4
- ldr r1, =gText_MoveNotLearned
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81B1B5C
- movs r3, 0x10
- ldrsh r0, [r7, r3]
- cmp r0, 0x1
- bne _081B7368
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B73E4
- str r0, [r1]
- b _081B73C2
- .pool
-_081B7368:
- cmp r0, 0x2
- bne _081B7370
- ldr r0, =gSpecialVar_Result
- strh r5, [r0]
-_081B7370:
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B6794
- str r0, [r1]
- b _081B73C2
- .pool
-_081B738C:
- movs r0, 0x5
- bl PlaySE
-_081B7392:
- ldr r1, =gStringVar1
- adds r0, r4, 0
- bl GetMonNickname
- ldr r0, =gStringVar2
- ldr r1, =gUnknown_0203CEC8
- movs r3, 0xE
- ldrsh r2, [r1, r3]
- movs r1, 0xD
- muls r1, r2
- ldr r2, =gMoveNames
- adds r1, r2
- bl StringCopy
- ldr r0, =gText_PkmnNeedsToReplaceMove
- bl sub_81B6D74
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B6FF4
- str r1, [r0]
-_081B73C2:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B72C8
-
- thumb_func_start sub_81B73E4
-sub_81B73E4: @ 81B73E4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B73FC
- adds r0, r4, 0
- bl sub_81B77AC
-_081B73FC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B73E4
-
- thumb_func_start dp05_rare_candy
-dp05_rare_candy: @ 81B7404
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r10, r1
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_0203CEC8
- mov r9, r0
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r5, r1, r0
- ldr r0, =gUnknown_0203CEC4
- ldr r6, [r0]
- movs r1, 0x86
- lsls r1, 2
- adds r4, r6, r1
- ldr r2, =gSpecialVar_ItemId
- mov r8, r2
- adds r0, r5, 0
- movs r1, 0x38
- bl GetMonData
- cmp r0, 0x64
- beq _081B7478
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_81B79A0
- mov r1, r9
- ldrb r0, [r1, 0x9]
- mov r2, r8
- ldrh r1, [r2]
- movs r2, 0
- bl ExecuteTableBasedItemEffect__
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x89
- lsls r0, 2
- adds r1, r6, r0
- adds r0, r5, 0
- bl sub_81B79A0
- b _081B747A
- .pool
-_081B7478:
- movs r4, 0x1
-_081B747A:
- movs r0, 0x5
- bl PlaySE
- cmp r4, 0
- beq _081B74B4
- ldr r1, =gUnknown_0203CEE8
- movs r0, 0
- strb r0, [r1]
- ldr r0, =gText_WontHaveEffect
- movs r1, 0x1
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- mov r1, r10
- b _081B7516
- .pool
-_081B74B4:
- ldr r1, =gUnknown_0203CEE8
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0
- bl PlayFanfareByFanfareNum
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0x9]
- adds r1, r5, 0
- bl sub_81B754C
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- movs r1, 0x1
- bl RemoveBagItem
- ldr r1, =gStringVar1
- adds r0, r5, 0
- bl GetMonNickname
- ldr r4, =gStringVar2
- adds r0, r5, 0
- movs r1, 0x38
- bl GetMonData
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- ldr r1, =gText_PkmnElevatedToLvVar2
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B75D4
-_081B7516:
- str r1, [r0]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end dp05_rare_candy
-
- thumb_func_start sub_81B754C
-sub_81B754C: @ 81B754C
- push {r4-r7,lr}
- adds r5, r1, 0
- lsls r0, 24
- lsrs r0, 24
- adds r7, r0, 0
- ldr r6, =gUnknown_0203CEDC
- lsls r4, r7, 4
- ldr r1, [r6]
- adds r1, r4
- adds r0, r5, 0
- bl party_menu_get_status_condition_and_update_object
- ldr r2, =gSprites
- ldr r0, [r6]
- adds r3, r4, r0
- ldrb r1, [r3, 0xC]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- bge _081B7588
- adds r0, r5, 0
- adds r1, r3, 0
- movs r2, 0x1
- bl sub_81B2AC8
-_081B7588:
- ldr r1, [r6]
- adds r1, r4
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_81B2CD4
- ldr r1, [r6]
- adds r1, r4
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_81B2D74
- ldr r1, [r6]
- adds r1, r4
- adds r0, r5, 0
- bl sub_81B2E28
- ldr r0, [r6]
- adds r0, r4, r0
- ldrb r0, [r0, 0x9]
- adds r1, r5, 0
- bl sub_81B5B38
- adds r0, r7, 0
- movs r1, 0x1
- bl sub_81B0FCC
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B754C
-
- thumb_func_start sub_81B75D4
-sub_81B75D4: @ 81B75D4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0
- bl WaitFanfare
- lsls r0, 24
- cmp r0, 0
- beq _081B7620
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B7620
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _081B7606
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081B7620
-_081B7606:
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_81B767C
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B7634
- str r0, [r1]
-_081B7620:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B75D4
-
- thumb_func_start sub_81B7634
-sub_81B7634: @ 81B7634
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _081B764E
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081B7668
-_081B764E:
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_81B76C8
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B7704
- str r0, [r1]
-_081B7668:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B7634
-
- thumb_func_start sub_81B767C
-sub_81B767C: @ 81B767C
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r0, =gUnknown_0203CEC4
- ldr r5, [r0]
- movs r0, 0x86
- lsls r0, 2
- adds r4, r5, r0
- bl sub_81B3364
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x18]
- ldrh r0, [r4, 0x18]
- movs r1, 0x89
- lsls r1, 2
- adds r2, r5, r1
- movs r1, 0x2
- str r1, [sp]
- movs r1, 0x3
- str r1, [sp, 0x4]
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_81D3640
- ldrb r0, [r4, 0x18]
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B767C
-
- thumb_func_start sub_81B76C8
-sub_81B76C8: @ 81B76C8
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =gUnknown_0203CEC4
- ldr r1, [r0]
- movs r0, 0x86
- lsls r0, 2
- adds r4, r1, r0
- ldrh r0, [r4, 0x18]
- movs r2, 0x89
- lsls r2, 2
- adds r1, r2
- movs r2, 0x3
- str r2, [sp]
- movs r2, 0x1
- movs r3, 0x2
- bl sub_81D3784
- ldrb r0, [r4, 0x18]
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B76C8
-
- thumb_func_start sub_81B7704
-sub_81B7704: @ 81B7704
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0
- bl WaitFanfare
- lsls r0, 24
- cmp r0, 0
- beq _081B77A6
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r6, 0x1
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- bne _081B772C
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081B77A6
-_081B772C:
- bl sub_81B3394
- ldr r4, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r4, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x1
- bl MonTryLearningNewMove
- lsls r0, 16
- lsrs r1, r0, 16
- strh r6, [r4, 0x10]
- ldr r0, =0x0000fffe
- cmp r1, r0
- beq _081B7788
- cmp r1, r0
- bgt _081B776C
- cmp r1, 0
- beq _081B7778
- b _081B77A0
- .pool
-_081B776C:
- ldr r0, =0x0000ffff
- cmp r1, r0
- beq _081B7780
- b _081B77A0
- .pool
-_081B7778:
- adds r0, r5, 0
- bl sub_81B7810
- b _081B77A6
-_081B7780:
- adds r0, r5, 0
- bl sub_81B787C
- b _081B77A6
-_081B7788:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B77AC
- str r0, [r1]
- b _081B77A6
- .pool
-_081B77A0:
- adds r0, r5, 0
- bl sub_81B7910
-_081B77A6:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81B7704
-
- thumb_func_start sub_81B77AC
-sub_81B77AC: @ 81B77AC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0
- bl MonTryLearningNewMove
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, =0x0000fffe
- cmp r1, r0
- beq _081B780A
- cmp r1, r0
- bgt _081B77E8
- cmp r1, 0
- beq _081B77F4
- b _081B7804
- .pool
-_081B77E8:
- ldr r0, =0x0000ffff
- cmp r1, r0
- beq _081B77FC
- b _081B7804
- .pool
-_081B77F4:
- adds r0, r4, 0
- bl sub_81B7810
- b _081B780A
-_081B77FC:
- adds r0, r4, 0
- bl sub_81B787C
- b _081B780A
-_081B7804:
- adds r0, r4, 0
- bl sub_81B7910
-_081B780A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B77AC
-
- thumb_func_start sub_81B7810
-sub_81B7810: @ 81B7810
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r6, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r6, r1]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r7, r1, r0
- adds r0, r7, 0
- movs r1, 0
- movs r2, 0
- bl GetEvolutionTargetSpecies
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _081B7860
- bl sub_81B06F4
- ldr r0, =gCB2_AfterEvolution
- ldr r1, [r6]
- str r1, [r0]
- ldrb r3, [r6, 0x9]
- adds r0, r7, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl BeginEvolutionScene
- adds r0, r5, 0
- bl DestroyTask
- b _081B786E
- .pool
-_081B7860:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B6794
- str r0, [r1]
-_081B786E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B7810
-
- thumb_func_start sub_81B787C
-sub_81B787C: @ 81B787C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gUnknown_0203CEC8
- mov r8, r0
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gStringVar1
- bl GetMonNickname
- ldr r0, =gStringVar2
- ldr r6, =gMoveToLearn
- ldrh r2, [r6]
- movs r1, 0xD
- muls r1, r2
- ldr r2, =gMoveNames
- adds r1, r2
- bl StringCopy
- ldr r4, =gStringVar4
- ldr r1, =gText_PkmnNeedsToReplaceMove
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldrh r0, [r6]
- mov r1, r8
- strh r0, [r1, 0xE]
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B6FF4
- str r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B787C
-
- thumb_func_start sub_81B7910
-sub_81B7910: @ 81B7910
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r6, r0, 0
- adds r5, r1, 0
- lsls r6, 24
- lsrs r6, 24
- lsls r5, 16
- lsrs r5, 16
- ldr r0, =gUnknown_0203CEC8
- mov r8, r0
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gStringVar1
- bl GetMonNickname
- ldr r0, =gStringVar2
- movs r1, 0xD
- muls r1, r5
- ldr r2, =gMoveNames
- adds r1, r2
- bl StringCopy
- ldr r4, =gStringVar4
- ldr r1, =gText_PkmnLearnedMove3
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- mov r0, r8
- strh r5, [r0, 0xE]
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B6F60
- str r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B7910
-
- thumb_func_start sub_81B79A0
-sub_81B79A0: @ 81B79A0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r1, 0x3A
- bl GetMonData
- strh r0, [r5]
- adds r0, r4, 0
- movs r1, 0x3B
- bl GetMonData
- strh r0, [r5, 0x2]
- adds r0, r4, 0
- movs r1, 0x3C
- bl GetMonData
- strh r0, [r5, 0x4]
- adds r0, r4, 0
- movs r1, 0x3E
- bl GetMonData
- strh r0, [r5, 0x8]
- adds r0, r4, 0
- movs r1, 0x3F
- bl GetMonData
- strh r0, [r5, 0xA]
- adds r0, r4, 0
- movs r1, 0x3D
- bl GetMonData
- strh r0, [r5, 0x6]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81B79A0
-
- thumb_func_start sub_81B79E8
-sub_81B79E8: @ 81B79E8
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0203CEC4
- ldr r2, [r1]
- movs r3, 0x86
- lsls r3, 2
- adds r1, r2, r3
- movs r3, 0
- strh r3, [r1]
- ldr r4, =0x0000021a
- adds r1, r2, r4
- strh r3, [r1]
- ldr r1, =gUnknown_0203CEC8
- ldrb r1, [r1, 0x9]
- lsls r1, 24
- asrs r1, 24
- movs r3, 0x87
- lsls r3, 2
- adds r2, r3
- strh r1, [r2]
- bl sub_81B7A28
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B79E8
-
- thumb_func_start sub_81B7A28
-sub_81B7A28: @ 81B7A28
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- mov r8, r4
- ldr r6, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r6, r1]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B7A6E
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- lsls r0, 16
- lsrs r7, r0, 16
- ldrb r0, [r6, 0x9]
- ldr r1, =gSpecialVar_ItemId
- ldrh r1, [r1]
- movs r2, 0
- bl ExecuteTableBasedItemEffect__
- lsls r0, 24
- cmp r0, 0
- beq _081B7A94
-_081B7A6E:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =task_intro_gamefreak
- str r0, [r1]
- b _081B7B2A
- .pool
-_081B7A94:
- movs r0, 0x1
- bl PlaySE
- ldr r4, =gUnknown_0203CEDC
- movs r0, 0x9
- ldrsb r0, [r6, r0]
- lsls r0, 4
- ldr r1, [r4]
- adds r1, r0
- adds r0, r5, 0
- bl party_menu_get_status_condition_and_update_object
- ldr r2, =gSprites
- movs r0, 0x9
- ldrsb r0, [r6, r0]
- ldr r1, [r4]
- lsls r0, 4
- adds r3, r0, r1
- ldrb r1, [r3, 0xC]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- bge _081B7AD6
- adds r0, r5, 0
- adds r1, r3, 0
- movs r2, 0x1
- bl sub_81B2AC8
-_081B7AD6:
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- movs r1, 0x87
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0
- bl sub_81B0FCC
- ldrb r0, [r6, 0x9]
- movs r1, 0x1
- bl sub_81B0FCC
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- adds r3, r0, 0
- subs r3, r7
- lsls r3, 16
- asrs r3, 16
- ldrb r1, [r6, 0x9]
- ldr r0, =sub_81B7C10
- str r0, [sp]
- mov r0, r8
- movs r2, 0x1
- bl sub_81B1F18
- mov r0, r8
- movs r1, 0
- adds r2, r7, 0
- bl sub_81B1FA8
- ldr r0, [r4]
- movs r2, 0x86
- lsls r2, 2
- adds r1, r0, r2
- movs r2, 0x1
- strh r2, [r1]
- ldr r1, =0x0000021a
- adds r0, r1
- strh r2, [r0]
-_081B7B2A:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B7A28
-
- thumb_func_start task_intro_gamefreak
-task_intro_gamefreak: @ 81B7B4C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B7C0A
- ldr r5, =gUnknown_0203CEC4
- ldr r2, [r5]
- movs r0, 0x86
- lsls r0, 2
- adds r1, r2, r0
- movs r3, 0
- ldrsh r0, [r1, r3]
- ldr r3, =gUnknown_0203CEC8
- cmp r0, 0x1
- bne _081B7B82
- movs r0, 0
- strh r0, [r1]
- movs r1, 0x9
- ldrsb r1, [r3, r1]
- movs r6, 0x87
- lsls r6, 2
- adds r0, r2, r6
- strh r1, [r0]
-_081B7B82:
- ldrb r0, [r3, 0x9]
- adds r0, 0x1
- strb r0, [r3, 0x9]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x6
- bne _081B7C04
- ldr r0, [r5]
- ldr r1, =0x0000021a
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- cmp r1, 0
- bne _081B7BC8
- ldr r0, =gUnknown_0203CEE8
- strb r1, [r0]
- ldr r0, =gText_WontHaveEffect
- movs r1, 0x1
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- b _081B7BD8
- .pool
-_081B7BC8:
- ldr r1, =gUnknown_0203CEE8
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- movs r1, 0x1
- bl RemoveBagItem
-_081B7BD8:
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B6794
- str r1, [r0]
- ldr r1, =gUnknown_0203CEC8
- movs r0, 0
- strb r0, [r1, 0x9]
- b _081B7C0A
- .pool
-_081B7C04:
- adds r0, r4, 0
- bl sub_81B7A28
-_081B7C0A:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end task_intro_gamefreak
-
- thumb_func_start sub_81B7C10
-sub_81B7C10: @ 81B7C10
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gStringVar1
- bl GetMonNickname
- ldr r4, =gStringVar4
- ldr r1, =gText_PkmnHPRestoredByVar2
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =task_intro_gamefreak
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B7C10
-
- thumb_func_start sub_81B7C74
-sub_81B7C74: @ 81B7C74
- push {r4-r6,lr}
- adds r6, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0x5
- bl PlaySE
- ldr r2, =gCB2_AfterEvolution
- ldr r1, =gUnknown_0203CEC8
- ldr r0, [r1]
- str r0, [r2]
- ldrb r0, [r1, 0x9]
- ldr r4, =gSpecialVar_ItemId
- ldrh r1, [r4]
- movs r2, 0
- bl ExecuteTableBasedItemEffect__
- lsls r0, 24
- cmp r0, 0
- beq _081B7CD8
- ldr r1, =gUnknown_0203CEE8
- movs r0, 0
- strb r0, [r1]
- ldr r0, =gText_WontHaveEffect
- movs r1, 0x1
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- str r6, [r0]
- b _081B7CE4
- .pool
-_081B7CD8:
- ldrh r0, [r4]
- movs r1, 0x1
- bl RemoveBagItem
- bl sub_81B06F4
-_081B7CE4:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81B7C74
-
- thumb_func_start GetItemEffectType
-@ u8 GetItemEffectType(u16 itemId)
-GetItemEffectType: @ 81B7CEC
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r1, r0, 16
- adds r2, r1, 0
- subs r2, 0xD
- lsls r0, r2, 16
- lsrs r0, 16
- cmp r0, 0xA5
- bls _081B7D00
- b _081B7E40
-_081B7D00:
- cmp r1, 0xAF
- bne _081B7D18
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003214
- adds r4, r0, r1
- b _081B7D20
- .pool
-_081B7D18:
- ldr r1, =gItemEffectTable
- lsls r0, r2, 2
- adds r0, r1
- ldr r4, [r0]
-_081B7D20:
- ldrb r1, [r4]
- movs r5, 0x3F
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _081B7D42
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- bne _081B7D42
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- bne _081B7D42
- ldrb r3, [r4, 0x3]
- movs r0, 0x80
- ands r0, r3
- cmp r0, 0
- beq _081B7D4C
-_081B7D42:
- movs r0, 0
- b _081B7E46
- .pool
-_081B7D4C:
- movs r2, 0x40
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _081B7D5A
- movs r0, 0xA
- b _081B7E46
-_081B7D5A:
- adds r0, r2, 0
- ands r0, r3
- cmp r0, 0
- beq _081B7D66
- movs r0, 0x1
- b _081B7E46
-_081B7D66:
- adds r2, r5, 0
- ands r2, r3
- cmp r2, 0
- bne _081B7D74
- lsrs r0, r1, 7
- cmp r0, 0
- beq _081B7DB6
-_081B7D74:
- cmp r2, 0x20
- bne _081B7D7C
- movs r0, 0x4
- b _081B7E46
-_081B7D7C:
- cmp r2, 0x10
- bne _081B7D84
- movs r0, 0x3
- b _081B7E46
-_081B7D84:
- cmp r2, 0x8
- bne _081B7D8C
- movs r0, 0x5
- b _081B7E46
-_081B7D8C:
- cmp r2, 0x4
- bne _081B7D94
- movs r0, 0x6
- b _081B7E46
-_081B7D94:
- cmp r2, 0x2
- bne _081B7D9C
- movs r0, 0x7
- b _081B7E46
-_081B7D9C:
- cmp r2, 0x1
- bne _081B7DA4
- movs r0, 0x8
- b _081B7E46
-_081B7DA4:
- lsrs r0, r1, 7
- cmp r0, 0
- beq _081B7DB2
- cmp r2, 0
- bne _081B7DB2
- movs r0, 0x9
- b _081B7E46
-_081B7DB2:
- movs r0, 0xB
- b _081B7E46
-_081B7DB6:
- ldrb r1, [r4, 0x4]
- movs r0, 0x44
- ands r0, r1
- adds r2, r1, 0
- cmp r0, 0
- beq _081B7DC6
- movs r0, 0x2
- b _081B7E46
-_081B7DC6:
- movs r5, 0x2
- adds r0, r5, 0
- ands r0, r2
- cmp r0, 0
- beq _081B7DD4
- movs r0, 0xC
- b _081B7E46
-_081B7DD4:
- movs r3, 0x1
- adds r0, r3, 0
- ands r0, r2
- cmp r0, 0
- beq _081B7DE2
- movs r0, 0xD
- b _081B7E46
-_081B7DE2:
- ldrb r1, [r4, 0x5]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _081B7DF0
- movs r0, 0xE
- b _081B7E46
-_081B7DF0:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _081B7DFC
- movs r0, 0xF
- b _081B7E46
-_081B7DFC:
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _081B7E08
- movs r0, 0x10
- b _081B7E46
-_081B7E08:
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _081B7E14
- movs r0, 0x11
- b _081B7E46
-_081B7E14:
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _081B7E20
- movs r0, 0x12
- b _081B7E46
-_081B7E20:
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- beq _081B7E2C
- movs r0, 0x13
- b _081B7E46
-_081B7E2C:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _081B7E38
- movs r0, 0x14
- b _081B7E46
-_081B7E38:
- movs r0, 0x18
- ands r0, r2
- cmp r0, 0
- bne _081B7E44
-_081B7E40:
- movs r0, 0x16
- b _081B7E46
-_081B7E44:
- movs r0, 0x15
-_081B7E46:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end GetItemEffectType
-
- thumb_func_start sub_81B7E4C
-sub_81B7E4C: @ 81B7E4C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081B7F1C
- ldr r7, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r7, r1]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r5, r1, r0
- movs r0, 0xE
- adds r0, r7
- mov r8, r0
- ldr r1, =gStringVar1
- adds r0, r5, 0
- bl GetMonNickname
- ldr r4, =gSpecialVar_0x8005
- ldrb r0, [r4]
- bl sub_81B2360
- strh r0, [r7, 0xE]
- ldr r0, =gStringVar2
- movs r1, 0xE
- ldrsh r2, [r7, r1]
- movs r1, 0xD
- muls r1, r2
- ldr r2, =gMoveNames
- adds r1, r2
- bl StringCopy
- movs r0, 0x2
- mov r1, r8
- strh r0, [r1, 0x2]
- ldrb r2, [r4]
- adds r0, r5, 0
- movs r1, 0
- bl sub_81B22D8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B7EF0
- cmp r0, 0x2
- beq _081B7EF8
- ldrh r1, [r7, 0xE]
- adds r0, r5, 0
- bl GiveMoveToMon
- lsls r0, 16
- ldr r1, =0xffff0000
- cmp r0, r1
- beq _081B7F08
- adds r0, r6, 0
- bl sub_81B6EB4
- b _081B7F1C
- .pool
-_081B7EF0:
- ldr r1, =gText_PkmnCantLearnMove
- b _081B7EFA
- .pool
-_081B7EF8:
- ldr r1, =gText_PkmnAlreadyKnows
-_081B7EFA:
- adds r0, r6, 0
- bl sub_81B6D98
- b _081B7F1C
- .pool
-_081B7F08:
- ldr r0, =gText_PkmnNeedsToReplaceMove
- bl sub_81B6D74
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B6FF4
- str r1, [r0]
-_081B7F1C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B7E4C
-
- thumb_func_start CB2_PartyMenuFromStartMenu
-CB2_PartyMenuFromStartMenu: @ 81B7F34
- push {lr}
- sub sp, 0xC
- movs r0, 0
- str r0, [sp]
- ldr r0, =sub_81B1370
- str r0, [sp, 0x4]
- ldr r0, =CB2_ReturnToFieldWithOpenMenu
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_81B0038
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end CB2_PartyMenuFromStartMenu
-
- thumb_func_start sub_81B7F60
-sub_81B7F60: @ 81B7F60
- push {lr}
- sub sp, 0xC
- bl InBattlePyramid
- lsls r0, 24
- ldr r1, =sub_81C4F84
- cmp r0, 0
- bne _081B7F72
- ldr r1, =c2_815ABFC
-_081B7F72:
- movs r0, 0x6
- str r0, [sp]
- ldr r0, =sub_81B1370
- str r0, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0x5
- movs r3, 0
- bl sub_81B0038
- ldr r1, =gUnknown_0203CEC8
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- strh r0, [r1, 0xC]
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B7F60
-
- thumb_func_start sub_81B7FAC
-sub_81B7FAC: @ 81B7FAC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- ldr r5, =gUnknown_0203CEFC
- ldr r0, =gUnknown_0203CEC8
- mov r9, r0
- ldrb r0, [r0, 0x9]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x64
- mov r8, r1
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- ldr r7, =gPlayerParty
- adds r0, r7
- movs r1, 0xC
- bl GetMonData
- strh r0, [r5]
- lsls r0, 16
- cmp r0, 0
- bne _081B7FF8
- adds r0, r4, 0
- bl sub_81B8044
- b _081B8030
- .pool
-_081B7FF8:
- ldrh r0, [r5]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _081B800C
- adds r0, r4, 0
- bl sub_81B83B8
- b _081B8030
-_081B800C:
- mov r1, r9
- movs r0, 0x9
- ldrsb r0, [r1, r0]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r7
- ldrh r1, [r5]
- movs r2, 0x1
- bl sub_81B1D1C
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B82A0
- str r1, [r0]
-_081B8030:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B7FAC
-
- thumb_func_start sub_81B8044
-sub_81B8044: @ 81B8044
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r5, =gUnknown_0203CEC8
- ldrh r0, [r5, 0xC]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _081B807C
- ldrh r0, [r5, 0xC]
- bl sub_81B83F0
- ldr r0, =gUnknown_0203CEC4
- ldr r1, [r0]
- ldr r0, =sub_81B814C
- str r0, [r1, 0x4]
- adds r0, r4, 0
- bl sub_81B12C0
- b _081B8082
- .pool
-_081B807C:
- adds r0, r4, 0
- bl sub_81B8088
-_081B8082:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81B8044
-
- thumb_func_start sub_81B8088
-sub_81B8088: @ 81B8088
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081B80E4
- ldr r4, =gUnknown_0203CEC8
- ldrh r5, [r4, 0xC]
- movs r0, 0x9
- ldrsb r0, [r4, r0]
- movs r1, 0x64
- mov r8, r1
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- ldr r6, =gPlayerParty
- adds r0, r6
- adds r1, r5, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_81B1C84
- movs r0, 0x9
- ldrsb r0, [r4, r0]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r6
- adds r1, r5, 0
- bl sub_81B1DB8
- adds r0, r5, 0
- bl sub_81B83F0
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B8104
- str r1, [r0]
-_081B80E4:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B8088
-
- thumb_func_start sub_81B8104
-sub_81B8104: @ 81B8104
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gUnknown_0203CEC8
- ldrb r4, [r0, 0x9]
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B8138
- lsls r2, r4, 24
- asrs r2, 24
- movs r0, 0x64
- muls r0, r2
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gUnknown_0203CEDC
- lsls r2, 4
- ldr r1, [r1]
- adds r1, r2
- bl sub_81B5C94
- adds r0, r5, 0
- bl sub_81B12C0
-_081B8138:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B8104
-
- thumb_func_start sub_81B814C
-sub_81B814C: @ 81B814C
- push {r4-r6,lr}
- ldr r4, =gUnknown_0203CEC8
- movs r0, 0x9
- ldrsb r0, [r4, r0]
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gPlayerParty
- adds r0, r5
- ldrh r1, [r4, 0xC]
- bl sub_81B1DB8
- movs r0, 0x9
- ldrsb r0, [r4, r0]
- muls r0, r6
- adds r0, r5
- movs r1, 0x40
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gSaveBlock1Ptr
- lsls r2, r0, 3
- adds r2, r0
- lsls r2, 2
- ldr r0, =0x00002be0
- adds r2, r0
- ldr r1, [r1]
- adds r1, r2
- ldr r2, =sub_81B81A8
- movs r0, 0x4
- movs r3, 0x3
- bl sub_811A20C
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B814C
-
- thumb_func_start sub_81B81A8
-sub_81B81A8: @ 81B81A8
- push {r4-r7,lr}
- sub sp, 0xC
- ldr r6, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r6, r1]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r0, =gSpecialVar_Result
- ldrh r0, [r0]
- cmp r0, 0
- bne _081B8208
- adds r0, r5, 0
- bl TakeMailFromMon
- ldr r4, =gUnknown_0203CEFC
- adds r0, r5, 0
- movs r1, 0xC
- adds r2, r4, 0
- bl SetMonData
- ldrh r0, [r4]
- movs r1, 0x1
- bl RemoveBagItem
- adds r0, r7, 0
- bl sub_81B841C
- ldr r0, [r6]
- bl SetMainCallback2
- b _081B8224
- .pool
-_081B8208:
- ldrb r0, [r6, 0x8]
- lsls r0, 28
- lsrs r0, 28
- ldrb r2, [r6, 0xB]
- movs r1, 0x7F
- str r1, [sp]
- ldr r1, =sub_81B8230
- str r1, [sp, 0x4]
- ldr r1, [r6]
- str r1, [sp, 0x8]
- movs r1, 0xFF
- movs r3, 0x1
- bl sub_81B0038
-_081B8224:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B81A8
-
- thumb_func_start sub_81B8230
-sub_81B8230: @ 81B8230
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081B828A
- ldr r1, =gUnknown_0203CEFC
- ldrh r0, [r1]
- cmp r0, 0
- beq _081B8264
- ldr r0, =gUnknown_0203CEC8
- ldrh r0, [r0, 0xC]
- ldrh r1, [r1]
- movs r2, 0
- bl sub_81B1D68
- b _081B827C
- .pool
-_081B8264:
- ldr r2, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r2, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- ldrh r1, [r2, 0xC]
- movs r2, 0
- movs r3, 0x1
- bl sub_81B1C84
-_081B827C:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B8104
- str r0, [r1]
-_081B828A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B8230
-
- thumb_func_start sub_81B82A0
-sub_81B82A0: @ 81B82A0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B82C4
- bl sub_81B334C
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B82D4
- str r0, [r1]
-_081B82C4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B82A0
-
- thumb_func_start sub_81B82D4
-sub_81B82D4: @ 81B82D4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _081B82FA
- cmp r1, 0
- bgt _081B82F4
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _081B8394
- b _081B83A8
-_081B82F4:
- cmp r1, 0x1
- beq _081B839A
- b _081B83A8
-_081B82FA:
- ldr r7, =gUnknown_0203CEC8
- ldrh r4, [r7, 0xC]
- adds r0, r4, 0
- bl sub_81B83F0
- ldr r6, =gUnknown_0203CEFC
- ldrh r0, [r6]
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- cmp r0, 0
- bne _081B8338
- adds r0, r4, 0
- bl sub_81B841C
- ldrh r0, [r6]
- bl pokemon_item_not_removed
- ldr r0, =gStringVar4
- movs r1, 0
- bl sub_81B1B5C
- b _081B8378
- .pool
-_081B8338:
- adds r0, r4, 0
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _081B835C
- ldr r0, =gUnknown_0203CEC4
- ldr r1, [r0]
- ldr r0, =sub_81B814C
- str r0, [r1, 0x4]
- adds r0, r5, 0
- bl sub_81B12C0
- b _081B83A8
- .pool
-_081B835C:
- movs r1, 0x9
- ldrsb r1, [r7, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- adds r1, r4, 0
- bl sub_81B1DB8
- ldrh r1, [r6]
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_81B1D68
-_081B8378:
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B8104
- str r1, [r0]
- b _081B83A8
- .pool
-_081B8394:
- movs r0, 0x5
- bl PlaySE
-_081B839A:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B8104
- str r0, [r1]
-_081B83A8:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B82D4
-
- thumb_func_start sub_81B83B8
-sub_81B83B8: @ 81B83B8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gText_RemoveMailBeforeItem
- movs r1, 0x1
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B8104
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B83B8
-
- thumb_func_start sub_81B83F0
-sub_81B83F0: @ 81B83F0
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0xB]
- cmp r0, 0x6
- bne _081B8410
- lsls r0, r1, 24
- lsrs r0, 24
- movs r1, 0x1
- bl RemovePCItem
- b _081B8418
- .pool
-_081B8410:
- adds r0, r1, 0
- movs r1, 0x1
- bl RemoveBagItem
-_081B8418:
- pop {r0}
- bx r0
- thumb_func_end sub_81B83F0
-
- thumb_func_start sub_81B841C
-sub_81B841C: @ 81B841C
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0xB]
- cmp r0, 0x5
- beq _081B8438
- adds r0, r1, 0
- movs r1, 0x1
- bl AddPCItem
- b _081B8440
- .pool
-_081B8438:
- adds r0, r1, 0
- movs r1, 0x1
- bl AddBagItem
-_081B8440:
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_81B841C
-
- thumb_func_start sub_81B8448
-sub_81B8448: @ 81B8448
- push {lr}
- sub sp, 0xC
- movs r0, 0x6
- str r0, [sp]
- ldr r0, =sub_81B1370
- str r0, [sp, 0x4]
- ldr r0, =Mailbox_ReturnToMailListAfterDeposit
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0x7
- movs r3, 0
- bl sub_81B0038
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B8448
-
- thumb_func_start sub_81B8474
-sub_81B8474: @ 81B8474
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r5, r1, r0
- ldr r1, =gUnknown_0203CEE8
- movs r0, 0
- strb r0, [r1]
- ldr r2, =gSaveBlock1Ptr
- ldr r0, =playerPCItemPageInfo
- ldrh r1, [r0]
- adds r1, 0x6
- ldrh r0, [r0, 0x2]
- adds r1, r0
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =0x00002be0
- adds r0, r1
- ldr r1, [r2]
- adds r4, r1, r0
- adds r0, r5, 0
- movs r1, 0xC
- bl GetMonData
- cmp r0, 0
- beq _081B84DC
- ldr r0, =gText_PkmnHoldingItemCantHoldMail
- movs r1, 0x1
- bl sub_81B1B5C
- b _081B84F2
- .pool
-_081B84DC:
- adds r0, r5, 0
- adds r1, r4, 0
- bl GiveMailToMon2
- adds r0, r4, 0
- bl ClearMailStruct
- ldr r0, =gText_MailTransferredFromMailbox
- movs r1, 0x1
- bl sub_81B1B5C
-_081B84F2:
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B8104
- str r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B8474
-
- thumb_func_start sub_81B8518
-sub_81B8518: @ 81B8518
- push {lr}
- sub sp, 0xC
- bl sub_81B8558
- movs r0, 0
- str r0, [sp]
- ldr r0, =sub_81B1370
- str r0, [sp, 0x4]
- ldr r0, =gMain
- ldr r0, [r0, 0x8]
- str r0, [sp, 0x8]
- movs r0, 0x4
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_81B0038
- ldr r1, =gUnknown_0203CEC8
- ldr r0, =sub_81B879C
- str r0, [r1, 0x4]
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B8518
-
- thumb_func_start sub_81B8558
-sub_81B8558: @ 81B8558
- push {lr}
- ldr r0, =gSelectedOrderFromParty
- movs r1, 0
- movs r2, 0x4
- bl memset
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B8558
-
- thumb_func_start sub_81B856C
-sub_81B856C: @ 81B856C
- push {r4,lr}
- lsls r0, 24
- asrs r4, r0, 24
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- bl sub_81B85AC
- lsls r0, 24
- cmp r0, 0
- bne _081B858C
- movs r0, 0x2
- b _081B85A4
- .pool
-_081B858C:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r0, 24
- bl sub_81B8770
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B85A2
- movs r0, 0
- b _081B85A4
-_081B85A2:
- movs r0, 0x1
-_081B85A4:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81B856C
-
- thumb_func_start sub_81B85AC
-sub_81B85AC: @ 81B85AC
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r6, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _081B8608
- adds r0, r5, 0
- movs r1, 0x38
- bl GetMonData
- adds r4, r0, 0
- bl sub_81B8888
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bhi _081B8608
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- ldr r0, =0x0000191a
- cmp r1, r0
- bne _081B85EA
- adds r0, r5, 0
- movs r1, 0xC
- bl GetMonData
- cmp r0, 0
- bne _081B8608
-_081B85EA:
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x8
- beq _081B864A
- cmp r0, 0x9
- bne _081B8618
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- bne _081B864A
-_081B8608:
- movs r0, 0
- b _081B864C
- .pool
-_081B8618:
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r3, =gFrontierBannedSpecies
- lsls r1, r6, 1
- adds r0, r1, r3
- ldrh r0, [r0]
- ldr r2, =0x0000ffff
- cmp r0, r2
- beq _081B864A
-_081B8632:
- adds r0, r1, r3
- ldrh r0, [r0]
- cmp r0, r4
- beq _081B8608
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, r6, 1
- adds r0, r1, r3
- ldrh r0, [r0]
- cmp r0, r2
- bne _081B8632
-_081B864A:
- movs r0, 0x1
-_081B864C:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B85AC
-
- thumb_func_start sub_81B865C
-sub_81B865C: @ 81B865C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- bl sub_81B885C
- lsls r0, 24
- lsrs r2, r0, 24
- adds r1, r2, 0
- ldr r3, =gSelectedOrderFromParty
- adds r0, r2, r3
- subs r0, 0x1
- ldrb r0, [r0]
- cmp r0, 0
- bne _081B869C
- cmp r2, 0x1
- bne _081B8688
- movs r0, 0xE
- b _081B8758
- .pool
-_081B8688:
- ldr r0, =gStringVar1
- movs r2, 0
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- movs r0, 0x11
- b _081B8758
- .pool
-_081B869C:
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 24
- movs r1, 0xF8
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0x1
- bhi _081B86C0
- b _081B8756
- .pool
-_081B86B8:
- movs r0, 0x12
- b _081B8758
-_081B86BC:
- movs r0, 0x13
- b _081B8758
-_081B86C0:
- bl sub_81B8830
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r5, 0
- b _081B8750
-_081B86CE:
- ldr r3, =gSelectedOrderFromParty
- adds r4, r3, r5
- ldrb r0, [r4]
- movs r1, 0x64
- muls r0, r1
- subs r0, 0x64
- ldr r3, =gPlayerParty
- adds r0, r3, r0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- ldrb r0, [r4]
- movs r1, 0x64
- muls r0, r1
- subs r0, 0x64
- ldr r3, =gPlayerParty
- adds r0, r3, r0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r6, r0, 16
- adds r1, r5, 0x1
- lsls r0, r1, 24
- lsrs r4, r0, 24
- mov r9, r1
- cmp r4, r8
- bcs _081B8748
- movs r7, 0x64
-_081B870E:
- ldr r0, =gSelectedOrderFromParty
- adds r5, r0, r4
- ldrb r0, [r5]
- muls r0, r7
- subs r0, 0x64
- ldr r1, =gPlayerParty
- adds r0, r1, r0
- movs r1, 0xB
- bl GetMonData
- cmp r10, r0
- beq _081B86B8
- cmp r6, 0
- beq _081B873E
- ldrb r0, [r5]
- muls r0, r7
- subs r0, 0x64
- ldr r3, =gPlayerParty
- adds r0, r3, r0
- movs r1, 0xC
- bl GetMonData
- cmp r6, r0
- beq _081B86BC
-_081B873E:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r8
- bcc _081B870E
-_081B8748:
- mov r1, r9
- lsls r0, r1, 24
- lsrs r5, r0, 24
- mov r0, r8
-_081B8750:
- subs r0, 0x1
- cmp r5, r0
- blt _081B86CE
-_081B8756:
- movs r0, 0xFF
-_081B8758:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B865C
-
- thumb_func_start sub_81B8770
-sub_81B8770: @ 81B8770
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- movs r1, 0
- ldr r3, =gSelectedOrderFromParty
-_081B877A:
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r2
- bne _081B878C
- movs r0, 0x1
- b _081B8798
- .pool
-_081B878C:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bls _081B877A
- movs r0, 0
-_081B8798:
- pop {r1}
- bx r1
- thumb_func_end sub_81B8770
-
- thumb_func_start sub_81B879C
-sub_81B879C: @ 81B879C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_81B865C
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xFF
- beq _081B87D4
- movs r0, 0x20
- bl PlaySE
- adds r0, r4, 0
- bl display_pokemon_menu_message
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B87E8
- str r0, [r1]
- b _081B87E0
- .pool
-_081B87D4:
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- bl sub_81B12C0
-_081B87E0:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81B879C
-
- thumb_func_start sub_81B87E8
-sub_81B87E8: @ 81B87E8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _081B8802
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081B881C
-_081B8802:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- bl display_pokemon_menu_message
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B1370
- str r0, [r1]
-_081B881C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B87E8
-
- thumb_func_start sub_81B8830
-sub_81B8830: @ 81B8830
- push {lr}
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x8
- beq _081B884C
- cmp r0, 0x9
- bne _081B8850
- movs r0, 0x3
- b _081B8854
- .pool
-_081B884C:
- movs r0, 0x2
- b _081B8854
-_081B8850:
- ldr r0, =gSpecialVar_0x8005
- ldrb r0, [r0]
-_081B8854:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B8830
-
- thumb_func_start sub_81B885C
-sub_81B885C: @ 81B885C
- push {lr}
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x8
- beq _081B8878
- cmp r0, 0x9
- bne _081B887C
- movs r0, 0x1
- b _081B8880
- .pool
-_081B8878:
- movs r0, 0x2
- b _081B8880
-_081B887C:
- ldr r0, =gSpecialVar_0x8005
- ldrb r0, [r0]
-_081B8880:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B885C
-
- thumb_func_start sub_81B8888
-sub_81B8888: @ 81B8888
- push {lr}
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x8
- beq _081B88A4
- cmp r0, 0x9
- bne _081B88A8
-_081B889C:
- movs r0, 0x64
- b _081B88B2
- .pool
-_081B88A4:
- movs r0, 0x1E
- b _081B88B2
-_081B88A8:
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- bne _081B889C
- movs r0, 0x32
-_081B88B2:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B8888
-
- thumb_func_start sub_81B88BC
-sub_81B88BC: @ 81B88BC
- push {lr}
- ldr r0, =0x000040cf
- bl VarGet
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0xF8
- lsls r2, 24
- adds r0, r2
- lsrs r0, 24
- cmp r0, 0x1
- bhi _081B88E0
- ldr r0, =gText_CancelBattle
- b _081B88FA
- .pool
-_081B88E0:
- cmp r1, 0x1
- bne _081B88F8
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0x2
- bne _081B88F8
- ldr r0, =gText_ReturnToWaitingRoom
- b _081B88FA
- .pool
-_081B88F8:
- ldr r0, =gText_CancelChallenge
-_081B88FA:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B88BC
-
- thumb_func_start sub_81B8904
-sub_81B8904: @ 81B8904
- push {lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0
- str r2, [sp]
- ldr r2, =sub_81B1370
- str r2, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_81B0038
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B8904
-
- thumb_func_start sub_81B892C
-sub_81B892C: @ 81B892C
- push {lr}
- sub sp, 0xC
- movs r0, 0x4
- str r0, [sp]
- ldr r0, =sub_81B1370
- str r0, [sp, 0x4]
- ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0xC
- movs r3, 0
- bl sub_81B0038
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B892C
-
- thumb_func_start sub_81B8958
-sub_81B8958: @ 81B8958
- push {lr}
- sub sp, 0xC
- movs r0, 0x1
- str r0, [sp]
- ldr r0, =sub_81B1370
- str r0, [sp, 0x4]
- ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
- str r0, [sp, 0x8]
- movs r0, 0xB
- movs r1, 0
- movs r2, 0xD
- movs r3, 0
- bl sub_81B0038
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B8958
-
- thumb_func_start sub_81B8984
-sub_81B8984: @ 81B8984
- push {lr}
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _081B8994
- movs r0, 0
- b _081B89A6
-_081B8994:
- bl sub_81B1250
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B89A4
- movs r0, 0x1
- b _081B89A6
-_081B89A4:
- movs r0, 0x2
-_081B89A6:
- pop {r1}
- bx r1
- thumb_func_end sub_81B8984
-
- thumb_func_start OpenPartyMenuInBattle
-OpenPartyMenuInBattle: @ 81B89AC
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_81B8984
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- str r0, [sp]
- ldr r0, =sub_81B1370
- str r0, [sp, 0x4]
- ldr r0, =SetCB2ToReshowScreenAfterMenu
- str r0, [sp, 0x8]
- movs r0, 0x1
- adds r2, r4, 0
- movs r3, 0
- bl sub_81B0038
- bl nullsub_35
- bl pokemon_change_order
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end OpenPartyMenuInBattle
-
- thumb_func_start sub_81B89F0
-sub_81B89F0: @ 81B89F0
- push {lr}
- sub sp, 0xC
- bl sub_81B8984
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x5
- str r0, [sp]
- ldr r0, =sub_81B1370
- str r0, [sp, 0x4]
- ldr r0, =c2_815ABFC
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r2, 0x3
- movs r3, 0
- bl sub_81B0038
- bl nullsub_35
- bl pokemon_change_order
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B89F0
-
- thumb_func_start sub_81B8A2C
-sub_81B8A2C: @ 81B8A2C
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gPlayerParty + 0x64
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B8A74
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _081B8A74
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0xB]
- cmp r0, 0x1
- bne _081B8A5C
- movs r0, 0x3
- b _081B8A76
- .pool
-_081B8A5C:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 11
- ands r0, r1
- cmp r0, 0
- bne _081B8A74
- movs r0, 0x2
- b _081B8A76
- .pool
-_081B8A74:
- movs r0, 0x7
-_081B8A76:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81B8A2C
-
- thumb_func_start sub_81B8A7C
-sub_81B8A7C: @ 81B8A7C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- bl GetCursorSelectionMonId
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_81B1250
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B8AC4
- cmp r5, 0x1
- beq _081B8AA2
- cmp r5, 0x4
- beq _081B8AA2
- cmp r5, 0x5
- bne _081B8AC4
-_081B8AA2:
- ldr r4, =gStringVar1
- bl GetTrainerPartnerName
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- ldr r0, =gStringVar4
- ldr r1, =gText_CantSwitchWithAlly
- b _081B8C42
- .pool
-_081B8AC4:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- bne _081B8AF8
- ldr r1, =gStringVar1
- adds r0, r4, 0
- bl GetMonNickname
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnHasNoEnergy
- b _081B8C42
- .pool
-_081B8AF8:
- movs r4, 0
- b _081B8B24
-_081B8AFC:
- adds r0, r4, 0
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _081B8B1E
- adds r0, r5, 0
- bl sub_81B8F38
- lsls r0, 24
- ldr r2, =gBattlerPartyIndexes
- lsls r1, r4, 1
- adds r1, r2
- lsrs r0, 24
- ldrh r1, [r1]
- cmp r0, r1
- beq _081B8BFC
-_081B8B1E:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_081B8B24:
- ldr r0, =gBattlersCount
- ldrb r0, [r0]
- cmp r4, r0
- bcc _081B8AFC
- movs r7, 0x64
- adds r0, r5, 0
- muls r0, r7
- ldr r1, =gPlayerParty
- mov r8, r1
- adds r6, r0, r1
- adds r0, r6, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- beq _081B8B60
- ldr r0, =gStringVar4
- ldr r1, =gText_EggCantBattle
- b _081B8C42
- .pool
-_081B8B60:
- adds r0, r5, 0
- bl sub_81B8F38
- ldr r1, =gBattleStruct
- ldr r1, [r1]
- adds r1, 0x8B
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bne _081B8B94
- ldr r1, =gStringVar1
- adds r0, r6, 0
- bl GetMonNickname
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnAlreadySelected
- b _081B8C42
- .pool
-_081B8B94:
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0xB]
- cmp r0, 0x4
- bne _081B8BA8
- bl SetMonPreventsSwitchingString
- b _081B8C46
- .pool
-_081B8BA8:
- cmp r0, 0x2
- beq _081B8C20
- adds r0, r5, 0
- bl sub_81B8F38
- ldr r1, =gUnknown_0203CEE9
- strb r0, [r1]
- ldr r1, =gUnknown_0203CEE8
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, =gBattlerPartyIndexes
- ldr r0, =gBattlerInMenuId
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrb r0, [r0]
- bl pokemon_order_func
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_81B8FB0
- adds r0, r4, 0
- muls r0, r7
- add r0, r8
- adds r1, r6, 0
- bl sub_81B1288
- movs r0, 0x1
- b _081B8C48
- .pool
-_081B8BFC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gStringVar1
- bl GetMonNickname
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnAlreadyInBattle
- b _081B8C42
- .pool
-_081B8C20:
- ldr r0, =gBattlerInMenuId
- ldrb r0, [r0]
- ldr r1, =gBattlerPartyIndexes
- lsls r0, 1
- adds r0, r1
- ldrb r0, [r0]
- bl pokemon_order_func
- lsls r0, 24
- lsrs r0, 24
- muls r0, r7
- add r0, r8
- ldr r1, =gStringVar1
- bl GetMonNickname
- ldr r0, =gStringVar4
- ldr r1, =gText_PkmnCantSwitchOut
-_081B8C42:
- bl StringExpandPlaceholders
-_081B8C46:
- movs r0, 0
-_081B8C48:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B8A7C
-
- thumb_func_start sub_81B8C68
-sub_81B8C68: @ 81B8C68
- push {r4,lr}
- ldr r4, =gUnknown_0203CF00
- bl sub_806D7EC
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_81B8C88
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B8C68
-
- thumb_func_start sub_81B8C88
-sub_81B8C88: @ 81B8C88
- push {r4-r6,lr}
- sub sp, 0x8
- adds r6, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- bl sub_81B1250
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B8CBE
- cmp r4, 0
- beq _081B8CB0
- movs r0, 0x30
- strb r0, [r6]
- movs r0, 0x45
- strb r0, [r6, 0x1]
- movs r0, 0x12
- strb r0, [r6, 0x2]
- b _081B8D58
-_081B8CB0:
- movs r0, 0x3
- strb r0, [r6]
- movs r0, 0x12
- strb r0, [r6, 0x1]
- movs r0, 0x45
- strb r0, [r6, 0x2]
- b _081B8D58
-_081B8CBE:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _081B8CFC
- movs r5, 0x1
- movs r0, 0
- bl GetBattlerAtPosition
- mov r2, sp
- ldr r1, =gBattlerPartyIndexes
- lsls r0, 24
- lsrs r0, 23
- adds r0, r1
- ldrh r0, [r0]
- strb r0, [r2]
- movs r4, 0
- mov r1, sp
-_081B8CE2:
- ldrb r0, [r1]
- cmp r4, r0
- beq _081B8CF0
- mov r2, sp
- adds r0, r2, r5
- strb r4, [r0]
- adds r5, 0x1
-_081B8CF0:
- adds r4, 0x1
- cmp r4, 0x5
- ble _081B8CE2
- b _081B8D40
- .pool
-_081B8CFC:
- movs r5, 0x2
- movs r0, 0
- bl GetBattlerAtPosition
- mov r1, sp
- ldr r4, =gBattlerPartyIndexes
- lsls r0, 24
- lsrs r0, 23
- adds r0, r4
- ldrh r0, [r0]
- strb r0, [r1]
- movs r0, 0x2
- bl GetBattlerAtPosition
- mov r1, sp
- lsls r0, 24
- lsrs r0, 23
- adds r0, r4
- ldrh r0, [r0]
- strb r0, [r1, 0x1]
- movs r4, 0
-_081B8D26:
- ldrb r0, [r1]
- cmp r4, r0
- beq _081B8D3A
- ldrb r0, [r1, 0x1]
- cmp r4, r0
- beq _081B8D3A
- mov r2, sp
- adds r0, r2, r5
- strb r4, [r0]
- adds r5, 0x1
-_081B8D3A:
- adds r4, 0x1
- cmp r4, 0x5
- ble _081B8D26
-_081B8D40:
- movs r4, 0
- mov r3, sp
-_081B8D44:
- adds r0, r6, r4
- ldrb r1, [r3]
- lsls r1, 4
- ldrb r2, [r3, 0x1]
- orrs r1, r2
- strb r1, [r0]
- adds r3, 0x2
- adds r4, 0x1
- cmp r4, 0x2
- ble _081B8D44
-_081B8D58:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B8C88
-
- thumb_func_start sub_81B8D64
-sub_81B8D64: @ 81B8D64
- push {lr}
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r0, =gBattleStruct
- lsls r3, r2, 1
- adds r3, r2
- adds r3, 0x60
- ldr r0, [r0]
- adds r0, r3
- bl sub_81B8D88
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B8D64
-
- thumb_func_start sub_81B8D88
-sub_81B8D88: @ 81B8D88
- push {r4-r7,lr}
- sub sp, 0x8
- adds r5, r0, 0
- adds r0, r2, 0
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r0, 24
- lsrs r0, 24
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _081B8DB0
- movs r0, 0
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x2
- b _081B8DBC
-_081B8DB0:
- movs r0, 0x1
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x3
-_081B8DBC:
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r6, r0, 24
- bl sub_81B1250
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B8DF0
- cmp r7, 0
- beq _081B8DE2
- movs r0, 0x30
- strb r0, [r5]
- movs r0, 0x45
- strb r0, [r5, 0x1]
- movs r0, 0x12
- strb r0, [r5, 0x2]
- b _081B8E72
-_081B8DE2:
- movs r0, 0x3
- strb r0, [r5]
- movs r0, 0x12
- strb r0, [r5, 0x1]
- movs r0, 0x45
- strb r0, [r5, 0x2]
- b _081B8E72
-_081B8DF0:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _081B8E28
- movs r3, 0x1
- mov r2, sp
- ldr r1, =gBattlerPartyIndexes
- lsls r0, r4, 1
- adds r0, r1
- ldrh r0, [r0]
- strb r0, [r2]
- movs r4, 0
- mov r1, sp
-_081B8E0C:
- ldrb r0, [r1]
- cmp r4, r0
- beq _081B8E1A
- mov r2, sp
- adds r0, r2, r3
- strb r4, [r0]
- adds r3, 0x1
-_081B8E1A:
- adds r4, 0x1
- cmp r4, 0x5
- ble _081B8E0C
- b _081B8E5A
- .pool
-_081B8E28:
- movs r3, 0x2
- mov r1, sp
- ldr r2, =gBattlerPartyIndexes
- lsls r0, r4, 1
- adds r0, r2
- ldrh r0, [r0]
- strb r0, [r1]
- lsls r0, r6, 1
- adds r0, r2
- ldrh r0, [r0]
- strb r0, [r1, 0x1]
- movs r4, 0
-_081B8E40:
- ldrb r0, [r1]
- cmp r4, r0
- beq _081B8E54
- ldrb r0, [r1, 0x1]
- cmp r4, r0
- beq _081B8E54
- mov r2, sp
- adds r0, r2, r3
- strb r4, [r0]
- adds r3, 0x1
-_081B8E54:
- adds r4, 0x1
- cmp r4, 0x5
- ble _081B8E40
-_081B8E5A:
- movs r4, 0
- mov r3, sp
-_081B8E5E:
- adds r0, r5, r4
- ldrb r1, [r3]
- lsls r1, 4
- ldrb r2, [r3, 0x1]
- orrs r1, r2
- strb r1, [r0]
- adds r3, 0x2
- adds r4, 0x1
- cmp r4, 0x2
- ble _081B8E5E
-_081B8E72:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B8D88
-
- thumb_func_start sub_81B8E80
-sub_81B8E80: @ 81B8E80
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- movs r7, 0
- bl sub_81B1250
- lsls r0, 24
- cmp r0, 0
- beq _081B8F2E
- ldr r0, =gBattleStruct
- lsls r1, r4, 1
- adds r1, r4
- adds r1, 0x60
- ldr r0, [r0]
- adds r4, r0, r1
- movs r2, 0
- add r6, sp
- mov r12, r6
- movs r6, 0xF
- mov r3, sp
-_081B8EB2:
- adds r1, r4, r2
- ldrb r0, [r1]
- lsrs r0, 4
- strb r0, [r3]
- adds r3, 0x1
- ldrb r1, [r1]
- adds r0, r6, 0
- ands r0, r1
- strb r0, [r3]
- adds r3, 0x1
- adds r2, 0x1
- cmp r2, 0x2
- ble _081B8EB2
- mov r0, r12
- ldrb r3, [r0]
- movs r2, 0
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, r5
- bne _081B8EE8
- mov r0, sp
- ldrb r7, [r0]
- strb r3, [r0]
- b _081B8EFC
- .pool
-_081B8EE8:
- adds r2, 0x1
- cmp r2, 0x5
- bgt _081B8EFC
- mov r0, sp
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, r5
- bne _081B8EE8
- adds r7, r0, 0
- strb r3, [r1]
-_081B8EFC:
- cmp r2, 0x6
- beq _081B8F2E
- mov r0, r12
- strb r7, [r0]
- mov r0, sp
- ldrb r0, [r0]
- lsls r0, 4
- mov r1, sp
- ldrb r1, [r1, 0x1]
- orrs r0, r1
- strb r0, [r4]
- mov r0, sp
- ldrb r0, [r0, 0x2]
- lsls r0, 4
- mov r1, sp
- ldrb r1, [r1, 0x3]
- orrs r0, r1
- strb r0, [r4, 0x1]
- mov r0, sp
- ldrb r0, [r0, 0x4]
- lsls r0, 4
- mov r1, sp
- ldrb r1, [r1, 0x5]
- orrs r0, r1
- strb r0, [r4, 0x2]
-_081B8F2E:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81B8E80
-
- thumb_func_start sub_81B8F38
-sub_81B8F38: @ 81B8F38
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- movs r1, 0x1
- ands r1, r2
- lsrs r2, r0, 25
- cmp r1, 0
- beq _081B8F58
- ldr r0, =gUnknown_0203CF00
- adds r0, r2, r0
- ldrb r0, [r0]
- movs r1, 0xF
- ands r1, r0
- b _081B8F60
- .pool
-_081B8F58:
- ldr r0, =gUnknown_0203CF00
- adds r0, r2, r0
- ldrb r0, [r0]
- lsrs r1, r0, 4
-_081B8F60:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B8F38
-
- thumb_func_start sub_81B8F6C
-sub_81B8F6C: @ 81B8F6C
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- movs r1, 0x1
- ands r1, r3
- lsrs r3, r0, 25
- cmp r1, 0
- beq _081B8F94
- ldr r0, =gUnknown_0203CF00
- adds r0, r3, r0
- ldrb r2, [r0]
- movs r1, 0xF0
- ands r1, r2
- orrs r1, r4
- strb r1, [r0]
- b _081B8FA4
- .pool
-_081B8F94:
- ldr r2, =gUnknown_0203CF00
- adds r2, r3, r2
- ldrb r1, [r2]
- movs r0, 0xF
- ands r0, r1
- lsls r1, r4, 4
- orrs r0, r1
- strb r0, [r2]
-_081B8FA4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B8F6C
-
- thumb_func_start sub_81B8FB0
-sub_81B8FB0: @ 81B8FB0
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- adds r0, r5, 0
- bl sub_81B8F38
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- bl sub_81B8F38
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl sub_81B8F6C
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_81B8F6C
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81B8FB0
-
- thumb_func_start pokemon_order_func
-pokemon_order_func: @ 81B8FEC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r3, 0
- movs r2, 0
- ldr r5, =gUnknown_0203CF00
-_081B8FF8:
- adds r0, r3, r5
- ldrb r1, [r0]
- lsrs r0, r1, 4
- cmp r0, r4
- beq _081B9010
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- movs r0, 0xF
- ands r0, r1
- cmp r0, r4
- bne _081B9018
-_081B9010:
- adds r0, r2, 0
- b _081B902A
- .pool
-_081B9018:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x2
- bls _081B8FF8
- movs r0, 0
-_081B902A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end pokemon_order_func
-
- thumb_func_start pokemon_change_order
-pokemon_change_order: @ 81B9030
- push {r4-r6,lr}
- movs r4, 0x96
- lsls r4, 2
- adds r0, r4, 0
- bl Alloc
- adds r5, r0, 0
- ldr r1, =gPlayerParty
- adds r2, r4, 0
- bl memcpy
- movs r4, 0
- movs r6, 0x64
-_081B904A:
- adds r0, r4, 0
- bl pokemon_order_func
- lsls r0, 24
- lsrs r0, 24
- muls r0, r6
- ldr r1, =gPlayerParty
- adds r0, r1
- adds r1, r4, 0
- muls r1, r6
- adds r1, r5
- movs r2, 0x64
- bl memcpy
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _081B904A
- adds r0, r5, 0
- bl Free
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemon_change_order
-
- thumb_func_start sub_81B9080
-sub_81B9080: @ 81B9080
- push {r4-r6,lr}
- movs r4, 0x96
- lsls r4, 2
- adds r0, r4, 0
- bl Alloc
- adds r5, r0, 0
- ldr r1, =gPlayerParty
- adds r2, r4, 0
- bl memcpy
- movs r4, 0
- movs r6, 0x64
-_081B909A:
- adds r0, r4, 0
- bl sub_81B8F38
- lsls r0, 24
- lsrs r0, 24
- muls r0, r6
- ldr r1, =gPlayerParty
- adds r0, r1
- adds r1, r4, 0
- muls r1, r6
- adds r1, r5
- movs r2, 0x64
- bl memcpy
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _081B909A
- adds r0, r5, 0
- bl Free
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9080
-
- thumb_func_start sub_81B90D0
-sub_81B90D0: @ 81B90D0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r6, 0x1
- movs r7, 0x64
- ldr r0, =gPlayerParty
- mov r8, r0
-_081B90DE:
- adds r0, r6, 0
- bl sub_81B8F38
- lsls r0, 24
- lsrs r0, 24
- muls r0, r7
- mov r1, r8
- adds r5, r0, r1
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B912C
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _081B912C
- movs r0, 0
- bl sub_81B8F38
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- adds r1, r6, 0
- bl sub_81B8FB0
- adds r0, r4, 0
- muls r0, r7
- add r0, r8
- adds r1, r5, 0
- bl sub_81B1288
- b _081B9136
- .pool
-_081B912C:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x5
- bls _081B90DE
-_081B9136:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81B90D0
-
- thumb_func_start sub_81B9140
-sub_81B9140: @ 81B9140
- push {lr}
- ldr r0, =SetCB2ToReshowScreenAfterMenu
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9140
-
- thumb_func_start sub_81B9150
-sub_81B9150: @ 81B9150
- push {lr}
- sub sp, 0xC
- movs r0, 0x7F
- str r0, [sp]
- ldr r0, =sub_81B917C
- str r0, [sp, 0x4]
- ldr r0, =gMain
- ldr r0, [r0, 0x8]
- str r0, [sp, 0x8]
- movs r0, 0x5
- movs r1, 0x3
- movs r2, 0
- movs r3, 0
- bl sub_81B0038
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9150
-
- thumb_func_start sub_81B917C
-sub_81B917C: @ 81B917C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- movs r1, 0x80
- lsls r1, 1
- strh r1, [r4, 0x8]
- bl sub_81B9294
- movs r1, 0x80
- lsls r1, 9
- movs r0, 0x2
- movs r2, 0
- bl ChangeBgX
- ldr r0, =sub_81B91B4
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B917C
-
- thumb_func_start sub_81B91B4
-sub_81B91B4: @ 81B91B4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r6, r5, 2
- adds r0, r6, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081B9220
- ldrh r0, [r4]
- subs r0, 0x8
- strh r0, [r4]
- adds r0, r5, 0
- bl sub_81B9294
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081B9220
- movs r4, 0x3
- ldr r7, =gUnknown_02022FF8
-_081B91E8:
- subs r0, r4, 0x3
- lsls r0, 5
- adds r0, r7
- ldrh r0, [r0]
- cmp r0, 0
- beq _081B9204
- ldr r0, =gUnknown_0203CEDC
- ldr r1, [r0]
- lsls r0, r4, 4
- adds r0, r1
- ldrb r0, [r0, 0x9]
- movs r1, 0
- bl sub_81B5B6C
-_081B9204:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _081B91E8
- movs r0, 0x78
- bl PlaySE
- ldr r0, =gTasks
- adds r1, r6, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B9240
- str r0, [r1]
-_081B9220:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B91B4
-
- thumb_func_start sub_81B9240
-sub_81B9240: @ 81B9240
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0x1
- strh r1, [r0]
- lsls r1, 16
- movs r0, 0x80
- lsls r0, 17
- cmp r1, r0
- bne _081B9266
- adds r0, r2, 0
- bl sub_81B12C0
-_081B9266:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9240
-
- thumb_func_start sub_81B9270
-sub_81B9270: @ 81B9270
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 16
- lsrs r3, r1, 16
- cmp r1, 0
- blt _081B928A
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- strh r3, [r0, 0x24]
-_081B928A:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9270
-
- thumb_func_start sub_81B9294
-sub_81B9294: @ 81B9294
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r5, r1, r0
- movs r6, 0x3
- ldr r7, =gUnknown_0203CEDC
-_081B92A8:
- ldr r0, =gUnknown_02022FF8
- subs r1, r6, 0x3
- lsls r1, 5
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- beq _081B9300
- ldr r0, [r7]
- lsls r4, r6, 4
- adds r0, r4, r0
- ldrb r0, [r0, 0x9]
- ldrh r1, [r5]
- subs r1, 0x8
- lsls r1, 16
- asrs r1, 16
- bl sub_81B9270
- ldr r0, [r7]
- adds r0, r4, r0
- ldrb r0, [r0, 0xA]
- ldrh r1, [r5]
- subs r1, 0x8
- lsls r1, 16
- asrs r1, 16
- bl sub_81B9270
- ldr r0, [r7]
- adds r0, r4, r0
- ldrb r0, [r0, 0xB]
- ldrh r1, [r5]
- subs r1, 0x8
- lsls r1, 16
- asrs r1, 16
- bl sub_81B9270
- ldr r0, [r7]
- adds r4, r0
- ldrb r0, [r4, 0xC]
- ldrh r1, [r5]
- subs r1, 0x8
- lsls r1, 16
- asrs r1, 16
- bl sub_81B9270
-_081B9300:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x5
- bls _081B92A8
- movs r1, 0x80
- lsls r1, 4
- movs r0, 0x2
- movs r2, 0x1
- bl ChangeBgX
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9294
-
- thumb_func_start sub_81B9328
-sub_81B9328: @ 81B9328
- push {lr}
- sub sp, 0xC
- movs r0, 0xF
- str r0, [sp]
- ldr r0, =sub_81B1370
- str r0, [sp, 0x4]
- ldr r0, =sub_81B9390
- str r0, [sp, 0x8]
- movs r0, 0x6
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_81B0038
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9328
-
- thumb_func_start sub_81B9354
-sub_81B9354: @ 81B9354
- push {lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gFieldCallback2
- ldr r1, =hm_add_c3_without_phase_2
- str r1, [r2]
- movs r1, 0
- str r1, [sp]
- ldr r1, =sub_81B1370
- str r1, [sp, 0x4]
- ldr r1, =CB2_ReturnToField
- str r1, [sp, 0x8]
- movs r1, 0
- movs r2, 0xB
- movs r3, 0
- bl sub_81B0038
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9354
-
- thumb_func_start sub_81B9390
-sub_81B9390: @ 81B9390
- push {r4,lr}
- ldr r4, =gSpecialVar_0x8004
- bl GetCursorSelectionMonId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- cmp r0, 0x5
- bls _081B93A6
- movs r0, 0xFF
- strh r0, [r4]
-_081B93A6:
- ldr r0, =gFieldCallback2
- ldr r1, =hm_add_c3_without_phase_2
- str r1, [r0]
- ldr r0, =CB2_ReturnToField
- bl SetMainCallback2
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9390
-
- thumb_func_start hm_add_c3_without_phase_2
-hm_add_c3_without_phase_2: @ 81B93C8
- push {lr}
- bl pal_fill_black
- ldr r0, =task_hm_without_phase_2
- movs r1, 0xA
- bl CreateTask
- movs r0, 0x1
- pop {r1}
- bx r1
- .pool
- thumb_func_end hm_add_c3_without_phase_2
-
- thumb_func_start task_hm_without_phase_2
-task_hm_without_phase_2: @ 81B93E0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsWeatherNotFadingIn
- lsls r0, 24
- cmp r0, 0
- beq _081B93FE
- adds r0, r4, 0
- bl DestroyTask
- bl ScriptContext2_Disable
- bl EnableBothScriptContexts
-_081B93FE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end task_hm_without_phase_2
-
- thumb_func_start sub_81B9404
-sub_81B9404: @ 81B9404
- push {lr}
- bl ScriptContext2_Enable
- movs r0, 0x1
- movs r1, 0
- bl FadeScreen
- ldr r0, =sub_81B9424
- movs r1, 0xA
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9404
-
- thumb_func_start sub_81B9424
-sub_81B9424: @ 81B9424
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _081B945C
- bl overworld_free_bg_tilemaps
- str r4, [sp]
- ldr r0, =sub_81B1370
- str r0, [sp, 0x4]
- ldr r0, =sub_81B9470
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0xB
- movs r3, 0
- bl sub_81B0038
- adds r0, r5, 0
- bl DestroyTask
-_081B945C:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9424
-
- thumb_func_start sub_81B9470
-sub_81B9470: @ 81B9470
- push {lr}
- bl GetCursorSelectionMonId
- ldr r2, =gUnknown_02039F24
- strb r0, [r2]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bls _081B9486
- movs r0, 0xFF
- strb r0, [r2]
-_081B9486:
- ldr r1, =gSpecialVar_0x8004
- ldrb r0, [r2]
- strh r0, [r1]
- ldr r1, =gFieldCallback2
- ldr r0, =hm_add_c3_without_phase_2
- str r0, [r1]
- ldr r0, =CB2_ReturnToField
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9470
-
- thumb_func_start sub_81B94B0
-sub_81B94B0: @ 81B94B0
- push {lr}
- bl ScriptContext2_Enable
- movs r0, 0x1
- movs r1, 0
- bl FadeScreen
- ldr r0, =sub_81B94D0
- movs r1, 0xA
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B94B0
-
- thumb_func_start sub_81B94D0
-sub_81B94D0: @ 81B94D0
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _081B9508
- bl overworld_free_bg_tilemaps
- str r4, [sp]
- ldr r0, =sub_81B1370
- str r0, [sp, 0x4]
- ldr r0, =sub_81B9390
- str r0, [sp, 0x8]
- movs r0, 0x3
- movs r1, 0
- movs r2, 0xB
- movs r3, 0
- bl sub_81B0038
- adds r0, r5, 0
- bl DestroyTask
-_081B9508:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B94D0
-
- thumb_func_start sub_81B951C
-sub_81B951C: @ 81B951C
- push {lr}
- bl ScriptContext2_Enable
- movs r0, 0x1
- movs r1, 0
- bl FadeScreen
- ldr r0, =sub_81B953C
- movs r1, 0xA
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B951C
-
- thumb_func_start sub_81B953C
-sub_81B953C: @ 81B953C
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _081B9574
- bl overworld_free_bg_tilemaps
- str r4, [sp]
- ldr r0, =sub_81B1370
- str r0, [sp, 0x4]
- ldr r0, =sub_81B9588
- str r0, [sp, 0x8]
- movs r0, 0x7
- movs r1, 0
- movs r2, 0xB
- movs r3, 0
- bl sub_81B0038
- adds r0, r5, 0
- bl DestroyTask
-_081B9574:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B953C
-
- thumb_func_start sub_81B9588
-sub_81B9588: @ 81B9588
- push {r4,r5,lr}
- ldr r5, =gSpecialVar_0x8004
- bl GetCursorSelectionMonId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5]
- cmp r0, 0x5
- bls _081B95A4
- movs r0, 0xFF
- strh r0, [r5]
- b _081B95BA
- .pool
-_081B95A4:
- ldr r4, =gSpecialVar_0x8005
- ldrh r1, [r5]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- bl GetNumberOfRelearnableMoves
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
-_081B95BA:
- ldr r0, =gFieldCallback2
- ldr r1, =hm_add_c3_without_phase_2
- str r1, [r0]
- ldr r0, =CB2_ReturnToField
- bl SetMainCallback2
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9588
-
- thumb_func_start sub_81B95E0
-sub_81B95E0: @ 81B95E0
- push {r4,r5,lr}
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
- movs r4, 0
- adds r5, r1, 0
- b _081B95FA
- .pool
-_081B95F4:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_081B95FA:
- cmp r4, 0x2
- bhi _081B9614
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xC
- bl GetMonData
- cmp r0, 0
- beq _081B95F4
- movs r0, 0x1
- strh r0, [r5]
-_081B9614:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B95E0
-
- thumb_func_start sub_81B9620
-sub_81B9620: @ 81B9620
- push {lr}
- bl ScriptContext2_Enable
- movs r0, 0x1
- movs r1, 0
- bl FadeScreen
- ldr r0, =sub_81B9640
- movs r1, 0xA
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9620
-
- thumb_func_start sub_81B9640
-sub_81B9640: @ 81B9640
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _081B9678
- bl overworld_free_bg_tilemaps
- str r4, [sp]
- ldr r0, =sub_81B1370
- str r0, [sp, 0x4]
- ldr r0, =sub_81B9390
- str r0, [sp, 0x8]
- movs r0, 0xC
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_81B0038
- adds r0, r5, 0
- bl DestroyTask
-_081B9678:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9640
-
- thumb_func_start sub_81B968C
-sub_81B968C: @ 81B968C
- push {lr}
- sub sp, 0x4
- ldr r1, =gPlayerParty
- ldr r0, =gSpecialVar_0x8004
- ldrb r2, [r0]
- ldr r0, =gPlayerPartyCount
- ldrb r3, [r0]
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- ldr r0, =CB2_ReturnToField
- str r0, [sp]
- movs r0, 0x3
- bl ShowPokemonSummaryScreen
- ldr r1, =gFieldCallback
- ldr r0, =sub_80AF168
- str r0, [r1]
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B968C
-
- thumb_func_start sub_81B96D0
-sub_81B96D0: @ 81B96D0
- push {r4,r5,lr}
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
- movs r4, 0
- adds r5, r1, 0
-_081B96DC:
- ldr r0, =gSpecialVar_0x8004
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- adds r1, r4, 0
- adds r1, 0xD
- bl GetMonData
- cmp r0, 0
- beq _081B96FA
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
-_081B96FA:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _081B96DC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B96D0
-
- thumb_func_start sub_81B9718
-sub_81B9718: @ 81B9718
- push {r4,r5,lr}
- ldr r0, =gSpecialVar_0x8004
- ldrh r1, [r0]
- movs r0, 0x64
- adds r5, r1, 0
- muls r5, r0
- ldr r0, =gPlayerParty
- adds r5, r0
- ldr r0, =gSpecialVar_0x8005
- ldrh r1, [r0]
- adds r1, 0xD
- adds r0, r5, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r1, =gStringVar1
- adds r0, r5, 0
- bl GetMonNickname
- ldr r0, =gStringVar2
- movs r1, 0xD
- muls r1, r4
- ldr r2, =gMoveNames
- adds r1, r2
- bl StringCopy
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9718
-
- thumb_func_start sub_81B9770
-sub_81B9770: @ 81B9770
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r0, =gSpecialVar_0x8004
- mov r8, r0
- ldrh r0, [r0]
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gPlayerParty
- adds r0, r5
- ldr r4, =gSpecialVar_0x8005
- ldrb r2, [r4]
- movs r1, 0
- bl SetMonMoveSlot
- mov r1, r8
- ldrh r0, [r1]
- muls r0, r6
- adds r0, r5
- ldrb r1, [r4]
- bl RemoveMonPPBonus
- ldrh r4, [r4]
- cmp r4, 0x2
- bhi _081B97C4
-_081B97A2:
- ldr r0, =gSpecialVar_0x8004
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- lsls r1, r4, 24
- lsrs r1, 24
- adds r4, 0x1
- lsls r2, r4, 24
- lsrs r2, 24
- bl sub_81B97DC
- lsls r4, 16
- lsrs r4, 16
- cmp r4, 0x2
- bls _081B97A2
-_081B97C4:
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9770
-
- thumb_func_start sub_81B97DC
-sub_81B97DC: @ 81B97DC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- mov r8, r0
- adds r5, r1, 0
- adds r4, r2, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- adds r0, 0xD
- str r0, [sp, 0x8]
- mov r0, r8
- ldr r1, [sp, 0x8]
- bl GetMonData
- mov r1, sp
- adds r1, 0x2
- str r1, [sp, 0x14]
- strh r0, [r1]
- adds r3, r4, 0
- adds r3, 0xD
- str r3, [sp, 0xC]
- mov r0, r8
- adds r1, r3, 0
- bl GetMonData
- mov r1, sp
- strh r0, [r1]
- adds r7, r5, 0
- adds r7, 0x11
- str r7, [sp, 0x10]
- mov r0, r8
- adds r1, r7, 0
- bl GetMonData
- mov r1, sp
- adds r1, 0x5
- str r1, [sp, 0x18]
- strb r0, [r1]
- adds r3, r4, 0
- adds r3, 0x11
- str r3, [sp, 0x1C]
- mov r0, r8
- adds r1, r3, 0
- bl GetMonData
- add r7, sp, 0x4
- mov r10, r7
- strb r0, [r7]
- mov r0, r8
- movs r1, 0x15
- bl GetMonData
- mov r6, sp
- adds r6, 0x6
- strb r0, [r6]
- ldr r1, =gUnknown_08329D22
- adds r0, r5, r1
- ldrb r0, [r0]
- mov r9, r0
- ldrb r0, [r6]
- adds r2, r0, 0
- mov r3, r9
- ands r2, r3
- lsls r5, 1
- asrs r2, r5
- lsls r2, 24
- lsrs r2, 24
- adds r1, r4, r1
- ldrb r3, [r1]
- adds r1, r0, 0
- ands r1, r3
- lsls r4, 1
- asrs r1, r4
- lsls r1, 24
- lsrs r1, 24
- mov r7, r9
- bics r0, r7
- strb r0, [r6]
- ldrb r0, [r6]
- bics r0, r3
- strb r0, [r6]
- lsls r2, r4
- lsls r1, r5
- adds r2, r1
- ldrb r0, [r6]
- orrs r0, r2
- strb r0, [r6]
- mov r0, r8
- ldr r1, [sp, 0x8]
- mov r2, sp
- bl SetMonData
- mov r0, r8
- ldr r1, [sp, 0xC]
- ldr r2, [sp, 0x14]
- bl SetMonData
- mov r0, r8
- ldr r1, [sp, 0x10]
- mov r2, r10
- bl SetMonData
- mov r0, r8
- ldr r1, [sp, 0x1C]
- ldr r2, [sp, 0x18]
- bl SetMonData
- mov r0, r8
- movs r1, 0x15
- adds r2, r6, 0
- bl SetMonData
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B97DC
-
- thumb_func_start sub_81B98DC
-sub_81B98DC: @ 81B98DC
- push {lr}
- ldr r0, =gSpecialVar_0x8004
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2D
- bl GetMonData
- adds r1, r0, 0
- cmp r1, 0
- beq _081B990C
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
- b _081B9910
- .pool
-_081B990C:
- ldr r0, =gSpecialVar_Result
- strh r1, [r0]
-_081B9910:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B98DC
-
- thumb_func_start sub_81B9918
-sub_81B9918: @ 81B9918
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
- ldr r0, =gSpecialVar_0x8004
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gSpecialVar_0x8005
- ldrh r1, [r1]
- adds r1, 0xD
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r0, 0x39
- bne _081B999C
- movs r6, 0
- b _081B9980
- .pool
-_081B9958:
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r6, r0
- beq _081B997E
- movs r4, 0
- movs r0, 0x64
- adds r5, r6, 0
- muls r5, r0
- ldr r7, =gPlayerParty
-_081B996A:
- adds r1, r4, 0
- adds r1, 0xD
- adds r0, r5, r7
- bl GetMonData
- cmp r0, 0x39
- beq _081B999C
- adds r4, 0x1
- cmp r4, 0x3
- bls _081B996A
-_081B997E:
- adds r6, 0x1
-_081B9980:
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r0, 24
- cmp r6, r0
- bcc _081B9958
- mov r0, r8
- bl sub_80D23A8
- cmp r0, 0x1
- beq _081B999C
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
-_081B999C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9918
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s
deleted file mode 100644
index 3fefdd530..000000000
--- a/asm/pokemon_storage_system.s
+++ /dev/null
@@ -1,20963 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
-
-
-
- thumb_func_start sub_80C7D74
-sub_80C7D74: @ 80C7D74
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl ResetTasks
- ldr r0, =gUnknown_02039D0D
- strb r5, [r0]
- ldr r4, =gUnknown_02039D08
- ldr r0, =0x000062c4
- bl Alloc
- str r0, [r4]
- cmp r0, 0
- bne _080C7DA8
- ldr r0, =sub_80C7678
- bl SetMainCallback2
- b _080C7DD4
- .pool
-_080C7DA8:
- movs r2, 0
- strb r5, [r0, 0x1]
- ldr r0, [r4]
- strb r2, [r0, 0x3]
- ldr r0, =gUnknown_02039D12
- movs r1, 0
- strh r2, [r0]
- ldr r0, [r4]
- strb r1, [r0]
- ldr r0, =task_box_related_3
- movs r1, 0x3
- bl CreateTask
- ldr r1, [r4]
- strb r0, [r1, 0x4]
- bl StorageGetCurrentBox
- ldr r1, =gUnknown_02039D10
- strb r0, [r1]
- ldr r0, =c2_Box
- bl SetMainCallback2
-_080C7DD4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C7D74
-
- thumb_func_start c2_808CE60
-c2_808CE60: @ 80C7DEC
- push {r4,lr}
- bl ResetTasks
- ldr r4, =gUnknown_02039D08
- ldr r0, =0x000062c4
- bl Alloc
- adds r1, r0, 0
- str r1, [r4]
- cmp r1, 0
- bne _080C7E18
- ldr r0, =sub_80C7678
- bl SetMainCallback2
- b _080C7E3C
- .pool
-_080C7E18:
- ldr r0, =gUnknown_02039D0D
- ldrb r0, [r0]
- movs r2, 0
- strb r0, [r1, 0x1]
- ldr r1, [r4]
- movs r0, 0x1
- strb r0, [r1, 0x3]
- ldr r0, [r4]
- strb r2, [r0]
- ldr r0, =task_box_related_3
- movs r1, 0x3
- bl CreateTask
- ldr r1, [r4]
- strb r0, [r1, 0x4]
- ldr r0, =c2_Box
- bl SetMainCallback2
-_080C7E3C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_808CE60
-
- thumb_func_start sub_80C7E50
-sub_80C7E50: @ 80C7E50
- push {lr}
- movs r0, 0x10
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x16
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x18
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1C
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0
- bl SetGpuReg
- pop {r0}
- bx r0
- thumb_func_end sub_80C7E50
-
- thumb_func_start sub_80C7E98
-sub_80C7E98: @ 80C7E98
- push {r4,lr}
- sub sp, 0x4
- bl ResetPaletteFade
- bl ResetSpriteData
- bl FreeSpriteTileRanges
- bl FreeAllSpritePalettes
- bl ClearDma3Requests
- ldr r1, =gReservedSpriteTileCount
- movs r2, 0xA0
- lsls r2, 2
- adds r0, r2, 0
- strh r0, [r1]
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x8
- adds r1, 0x10
- movs r2, 0x8
- bl sub_80D2A90
- ldr r1, =gKeyRepeatStartDelay
- movs r0, 0x14
- strh r0, [r1]
- bl clear_scheduled_bg_copies_to_vram
- movs r0, 0x3
- bl sub_80D259C
- ldr r2, =gUnknown_0857239C
- movs r0, 0x4
- str r0, [sp]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0x8
- bl sub_80D2644
- movs r0, 0
- movs r1, 0x1
- movs r2, 0
- bl sub_80D2770
- ldr r0, [r4]
- ldr r1, =0x000002c7
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C7E98
-
- thumb_func_start sub_80C7F1C
-sub_80C7F1C: @ 80C7F1C
- push {lr}
- bl sub_80CDC0C
- ldr r2, =gUnknown_02039D0C
- movs r1, 0
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- bne _080C7F32
- movs r1, 0x1
-_080C7F32:
- strb r1, [r2]
- ldr r1, =gUnknown_02039D0E
- movs r0, 0
- strb r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C7F1C
-
- thumb_func_start sub_80C7F4C
-sub_80C7F4C: @ 80C7F4C
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080C7F6A
- movs r1, 0xFC
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, =0x00000b07
- movs r0, 0x52
- bl SetGpuReg
-_080C7F6A:
- movs r1, 0xFA
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C7F4C
-
- thumb_func_start add_to_c3_somehow
-add_to_c3_somehow: @ 80C7F80
- push {r4,lr}
- ldr r4, =gTasks
- ldr r1, =gUnknown_02039D08
- ldr r3, [r1]
- ldrb r2, [r3, 0x4]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r4
- str r0, [r1]
- movs r0, 0
- strb r0, [r3]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end add_to_c3_somehow
-
- thumb_func_start task_box_related_3
-task_box_related_3: @ 80C7FA8
- push {lr}
- sub sp, 0x4
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0xA
- bls _080C7FB8
- b _080C81A2
-_080C7FB8:
- lsls r0, 2
- ldr r1, =_080C7FCC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C7FCC:
- .4byte _080C7FF8
- .4byte _080C8050
- .4byte _080C805E
- .4byte _080C808C
- .4byte _080C80A8
- .4byte _080C80C6
- .4byte _080C80E6
- .4byte _080C80EC
- .4byte _080C80F2
- .4byte _080C8100
- .4byte _080C814A
-_080C7FF8:
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- bl sub_80C7E98
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- cmp r0, 0
- beq _080C8046
- ldr r0, =gUnknown_02039D0F
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080C8036
- cmp r0, 0x1
- bgt _080C8030
- cmp r0, 0
- beq _080C803C
- b _080C8046
- .pool
-_080C8030:
- cmp r0, 0x2
- beq _080C8042
- b _080C8046
-_080C8036:
- bl sub_80CE790
- b _080C8046
-_080C803C:
- bl sub_80CE8E4
- b _080C8046
-_080C8042:
- bl sub_80C9F6C
-_080C8046:
- bl sub_80CA044
- bl sub_80CA0C8
- b _080C8198
-_080C8050:
- bl sub_80CA0A4
- lsls r0, 24
- cmp r0, 0
- beq _080C805C
- b _080C8198
-_080C805C:
- b _080C80D0
-_080C805E:
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0x1
- bl ClearWindowTilemap
- movs r0, 0
- str r0, [sp]
- movs r1, 0xC0
- lsls r1, 19
- ldr r2, =0x05000080
- mov r0, sp
- bl CpuSet
- movs r0, 0x1
- movs r1, 0xB
- movs r2, 0xE0
- bl LoadUserWindowBorderGfx
- b _080C8198
- .pool
-_080C808C:
- bl sub_80C7E50
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- cmp r0, 0
- beq _080C809C
- b _080C8198
-_080C809C:
- bl sub_80C7F1C
- b _080C8198
- .pool
-_080C80A8:
- bl sub_80CAF04
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- cmp r0, 0
- bne _080C80C0
- bl sub_80CD36C
- b _080C8198
- .pool
-_080C80C0:
- bl sub_80CD3EC
- b _080C8198
-_080C80C6:
- bl sub_80D0164
- lsls r0, 24
- cmp r0, 0
- bne _080C80DC
-_080C80D0:
- ldr r0, =sub_80C9E50
- bl add_to_c3_somehow
- b _080C81A2
- .pool
-_080C80DC:
- bl sub_80C9FEC
- bl sub_80CAC1C
- b _080C8198
-_080C80E6:
- bl sub_80CA0D8
- b _080C8198
-_080C80EC:
- bl sub_80CA704
- b _080C8198
-_080C80F2:
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- bl sub_80CC32C
- b _080C8198
-_080C8100:
- bl sub_80CC35C
- lsls r0, 24
- cmp r0, 0
- bne _080C81A2
- ldr r0, =gUnknown_02039D08
- ldr r2, [r0]
- ldrb r0, [r2, 0x1]
- cmp r0, 0x3
- beq _080C8140
- ldr r1, =0x00000da4
- adds r0, r2, r1
- movs r1, 0xD
- strh r1, [r0]
- ldr r1, =0x00000da6
- adds r2, r1
- ldr r1, =0x0000dace
- strh r1, [r2]
- bl sub_811F90C
- bl sub_811FA90
- b _080C8198
- .pool
-_080C8140:
- bl sub_80D0C60
- bl sub_80CAEAC
- b _080C8198
-_080C814A:
- bl sub_80C7F4C
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- cmp r0, 0
- bne _080C8174
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldr r0, =sub_80C81AC
- bl add_to_c3_somehow
- b _080C8186
- .pool
-_080C8174:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldr r0, =box_related_2
- bl add_to_c3_somehow
-_080C8186:
- ldr r0, =sub_80C7D28
- bl SetVBlankCallback
- b _080C81A2
- .pool
-_080C8198:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080C81A2:
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_box_related_3
-
- thumb_func_start sub_80C81AC
-sub_80C81AC: @ 80C81AC
- push {r4,lr}
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C81C4
- cmp r0, 0x1
- beq _080C81DE
- b _080C81EE
- .pool
-_080C81C4:
- movs r0, 0x2
- bl PlaySE
- movs r0, 0x14
- movs r1, 0
- movs r2, 0x1
- bl sub_80F9BCC
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C81EE
-_080C81DE:
- bl sub_80F9C1C
- lsls r0, 24
- cmp r0, 0
- bne _080C81EE
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C81EE:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C81AC
-
- thumb_func_start box_related_2
-box_related_2: @ 80C81F8
- push {r4,lr}
- sub sp, 0x4
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080C8230
- cmp r0, 0x1
- bgt _080C8214
- cmp r0, 0
- beq _080C821E
- b _080C82A0
- .pool
-_080C8214:
- cmp r0, 0x2
- beq _080C8268
- cmp r0, 0x3
- beq _080C8290
- b _080C82A0
-_080C821E:
- movs r1, 0x1
- negs r1, r1
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _080C8282
-_080C8230:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080C82A0
- ldr r0, =gUnknown_02039D0F
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080C825C
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- cmp r0, 0
- beq _080C825C
- movs r0, 0x1C
- bl sub_80CAC58
- b _080C8282
- .pool
-_080C825C:
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
- b _080C82A0
- .pool
-_080C8268:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080C82A0
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _080C82A0
- bl sub_80CADC4
-_080C8282:
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C82A0
- .pool
-_080C8290:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080C82A0
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C82A0:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end box_related_2
-
- thumb_func_start task_pokemon_box_related
-task_pokemon_box_related: @ 80C82AC
- push {r4,r5,lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0xB
- bls _080C82BA
- b _080C879E
-_080C82BA:
- lsls r0, 2
- ldr r1, =_080C82CC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C82CC:
- .4byte _080C82FC
- .4byte _080C861C
- .4byte _080C865C
- .4byte _080C86B4
- .4byte _080C86D8
- .4byte _080C86E2
- .4byte _080C86FC
- .4byte _080C871C
- .4byte _080C8722
- .4byte _080C8738
- .4byte _080C8764
- .4byte _080C878C
-_080C82FC:
- bl sub_80CF9EC
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r0, 0x19
- bls _080C830C
- b _080C879E
-_080C830C:
- lsls r0, 2
- ldr r1, =_080C831C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C831C:
- .4byte _080C8384
- .4byte _080C879E
- .4byte _080C879E
- .4byte _080C8414
- .4byte _080C8398
- .4byte _080C83CC
- .4byte _080C842C
- .4byte _080C8440
- .4byte _080C844C
- .4byte _080C8484
- .4byte _080C84C8
- .4byte _080C854C
- .4byte _080C850C
- .4byte _080C851E
- .4byte _080C8560
- .4byte _080C8574
- .4byte _080C8588
- .4byte _080C859C
- .4byte _080C8420
- .4byte _080C85B0
- .4byte _080C85D0
- .4byte _080C85BA
- .4byte _080C85DA
- .4byte _080C8614
- .4byte _080C85DE
- .4byte _080C85F8
-_080C8384:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1]
- b _080C879E
- .pool
-_080C8398:
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _080C83BC
- movs r0, 0x10
- bl sub_80CAC58
- ldr r1, [r4]
- movs r0, 0x3
- strb r0, [r1]
- b _080C879E
- .pool
-_080C83BC:
- bl sub_80CDC0C
- ldr r0, =sub_80C87A8
- bl add_to_c3_somehow
- b _080C879E
- .pool
-_080C83CC:
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x2
- bne _080C8400
- bl sub_80CEAD0
- lsls r0, 24
- cmp r0, 0
- beq _080C8406
- ldr r0, [r4]
- ldr r1, =0x00000ce6
- adds r0, r1
- ldrh r0, [r0]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _080C83F4
- b _080C84E6
-_080C83F4:
- b _080C8406
- .pool
-_080C8400:
- cmp r0, 0x3
- beq _080C8406
- b _080C879E
-_080C8406:
- ldr r0, =sub_80C87E8
- bl add_to_c3_somehow
- b _080C879E
- .pool
-_080C8414:
- ldr r0, =sub_80C9BE8
- bl add_to_c3_somehow
- b _080C879E
- .pool
-_080C8420:
- ldr r0, =sub_80C9D1C
- bl add_to_c3_somehow
- b _080C879E
- .pool
-_080C842C:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =box_related
- bl add_to_c3_somehow
- b _080C879E
- .pool
-_080C8440:
- ldr r0, =sub_80C8864
- bl add_to_c3_somehow
- b _080C879E
- .pool
-_080C844C:
- movs r0, 0x5
- bl PlaySE
- bl StorageGetCurrentBox
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1
- ldr r2, =0x000002ca
- adds r1, r2
- strh r0, [r1]
- cmp r0, 0xD
- ble _080C846E
- movs r0, 0
- strh r0, [r1]
-_080C846E:
- ldr r1, [r4]
- ldrb r0, [r1, 0x1]
- cmp r0, 0x3
- beq _080C84BC
- adds r0, r1, r2
- b _080C8776
- .pool
-_080C8484:
- movs r0, 0x5
- bl PlaySE
- bl StorageGetCurrentBox
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- ldr r2, =0x000002ca
- adds r1, r2
- strh r0, [r1]
- cmp r0, 0
- bge _080C84A6
- movs r0, 0xD
- strh r0, [r1]
-_080C84A6:
- ldr r1, [r4]
- ldrb r0, [r1, 0x1]
- cmp r0, 0x3
- beq _080C84BC
- adds r0, r1, r2
- b _080C8776
- .pool
-_080C84BC:
- bl sub_80CFEA8
- ldr r1, [r4]
- movs r0, 0xA
- strb r0, [r1]
- b _080C879E
-_080C84C8:
- bl sub_80CEA30
- lsls r0, 24
- cmp r0, 0
- bne _080C8528
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldr r1, =0x00000ce6
- adds r0, r1
- ldrh r0, [r0]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _080C84F8
-_080C84E6:
- ldr r1, [r4]
- movs r0, 0x5
- strb r0, [r1]
- b _080C879E
- .pool
-_080C84F8:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =sub_80C8D78
- bl add_to_c3_somehow
- b _080C879E
- .pool
-_080C850C:
- bl sub_80CEA30
- lsls r0, 24
- cmp r0, 0
- bne _080C8528
- movs r0, 0x5
- bl PlaySE
- b _080C872C
-_080C851E:
- bl sub_80CEA6C
- lsls r0, 24
- cmp r0, 0
- bne _080C8538
-_080C8528:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x4
- strb r0, [r1]
- b _080C879E
- .pool
-_080C8538:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =c3_0808DC50
- bl add_to_c3_somehow
- b _080C879E
- .pool
-_080C854C:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =sub_80C8C90
- bl add_to_c3_somehow
- b _080C879E
- .pool
-_080C8560:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =sub_80C8BEC
- bl add_to_c3_somehow
- b _080C879E
- .pool
-_080C8574:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =sub_80C9128
- bl add_to_c3_somehow
- b _080C879E
- .pool
-_080C8588:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =sub_80C91DC
- bl add_to_c3_somehow
- b _080C879E
- .pool
-_080C859C:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =sub_80C93B0
- bl add_to_c3_somehow
- b _080C879E
- .pool
-_080C85B0:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- b _080C8600
-_080C85BA:
- movs r0, 0x1
- bl sub_80D01D0
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x8
- strb r0, [r1]
- b _080C879E
- .pool
-_080C85D0:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x2
- b _080C85E6
-_080C85DA:
- movs r0, 0x3
- b _080C8600
-_080C85DE:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x4
-_080C85E6:
- bl sub_80D01D0
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x9
- strb r0, [r1]
- b _080C879E
- .pool
-_080C85F8:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x5
-_080C8600:
- bl sub_80D01D0
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x7
- strb r0, [r1]
- b _080C879E
- .pool
-_080C8614:
- movs r0, 0x20
- bl PlaySE
- b _080C879E
-_080C861C:
- bl sub_80CD554
- lsls r0, 24
- cmp r0, 0
- beq _080C8628
- b _080C879E
-_080C8628:
- bl sub_80CEAF8
- lsls r0, 24
- cmp r0, 0
- beq _080C8638
- bl sub_80CA9C0
- b _080C863C
-_080C8638:
- bl sub_80CA9EC
-_080C863C:
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldr r1, =0x00000cea
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C864E
- bl BoxSetMosaic
-_080C864E:
- ldr r1, [r4]
- b _080C86C8
- .pool
-_080C865C:
- bl sub_80CC54C
- lsls r0, 24
- cmp r0, 0
- beq _080C8668
- b _080C879E
-_080C8668:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x000002ca
- adds r0, r1
- ldrb r0, [r0]
- bl SetCurrentBox
- ldr r0, =gUnknown_02039D0C
- ldrb r0, [r0]
- cmp r0, 0
- bne _080C8690
- bl sub_80CEAD0
- lsls r0, 24
- cmp r0, 0
- bne _080C8690
- bl sub_80CE00C
- bl BoxSetMosaic
-_080C8690:
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- ldrb r0, [r1, 0x1]
- cmp r0, 0x3
- bne _080C86C8
- bl sub_80CFECC
- ldr r1, [r4]
- movs r0, 0xB
- strb r0, [r1]
- b _080C879E
- .pool
-_080C86B4:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C879E
- bl sub_80CADC4
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
-_080C86C8:
- movs r0, 0
- strb r0, [r1]
- b _080C879E
- .pool
-_080C86D8:
- movs r0, 0x20
- bl PlaySE
- movs r0, 0xD
- b _080C86EA
-_080C86E2:
- movs r0, 0x20
- bl PlaySE
- movs r0, 0x16
-_080C86EA:
- bl sub_80CAC58
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x6
- strb r0, [r1]
- b _080C879E
- .pool
-_080C86FC:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C879E
- bl sub_80CADC4
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
- b _080C879E
- .pool
-_080C871C:
- bl sub_80D01E4
- b _080C8790
-_080C8722:
- bl sub_80D01E4
- lsls r0, 24
- cmp r0, 0
- bne _080C879E
-_080C872C:
- ldr r0, =sub_80C8B90
- bl add_to_c3_somehow
- b _080C879E
- .pool
-_080C8738:
- bl sub_80D01E4
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _080C879E
- ldr r5, =gUnknown_02039D08
- ldr r0, [r5]
- ldr r1, =0x00000cea
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C8756
- bl BoxSetMosaic
-_080C8756:
- ldr r0, [r5]
- strb r4, [r0]
- b _080C879E
- .pool
-_080C8764:
- bl sub_80D1218
- lsls r0, 24
- cmp r0, 0
- bne _080C879E
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldr r1, =0x000002ca
- adds r0, r1
-_080C8776:
- ldrb r0, [r0]
- bl sub_80CC464
- ldr r1, [r4]
- movs r0, 0x2
- strb r0, [r1]
- b _080C879E
- .pool
-_080C878C:
- bl sub_80D1218
-_080C8790:
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _080C879E
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- strb r1, [r0]
-_080C879E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_pokemon_box_related
-
- thumb_func_start sub_80C87A8
-sub_80C87A8: @ 80C87A8
- push {r4,lr}
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C87C0
- cmp r0, 0x1
- beq _080C87CE
- b _080C87DE
- .pool
-_080C87C0:
- bl sub_80CAB4C
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C87DE
-_080C87CE:
- bl sub_80CAB70
- lsls r0, 24
- cmp r0, 0
- bne _080C87DE
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C87DE:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C87A8
-
- thumb_func_start sub_80C87E8
-sub_80C87E8: @ 80C87E8
- push {r4,lr}
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080C8816
- cmp r0, 0x1
- bgt _080C8804
- cmp r0, 0
- beq _080C880A
- b _080C8856
- .pool
-_080C8804:
- cmp r0, 0x2
- beq _080C8836
- b _080C8856
-_080C880A:
- movs r0, 0x5
- bl PlaySE
- bl sub_80CA888
- b _080C882C
-_080C8816:
- bl sub_80CA8C8
- lsls r0, 24
- cmp r0, 0
- bne _080C8856
- bl sub_80CDC2C
- lsls r0, 24
- lsrs r0, 24
- bl sub_80CDBF8
-_080C882C:
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C8856
-_080C8836:
- bl sub_80CD554
- lsls r0, 24
- cmp r0, 0
- bne _080C8856
- ldr r0, [r4]
- ldr r1, =0x00000cea
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C8850
- bl BoxSetMosaic
-_080C8850:
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C8856:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C87E8
-
- thumb_func_start sub_80C8864
-sub_80C8864: @ 80C8864
- push {r4,lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x6
- bls _080C8872
- b _080C8B82
-_080C8872:
- lsls r0, 2
- ldr r1, =_080C8884
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C8884:
- .4byte _080C88A0
- .4byte _080C8904
- .4byte _080C8920
- .4byte _080C8B3C
- .4byte _080C8B50
- .4byte _080C8B46
- .4byte _080C8B6C
-_080C88A0:
- bl sub_80CA2B8
- lsls r0, 24
- cmp r0, 0
- beq _080C88AC
- b _080C8B82
-_080C88AC:
- movs r0, 0x5
- bl PlaySE
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- beq _080C88C8
- movs r0, 0x4
- bl sub_80CAC58
- b _080C88F2
- .pool
-_080C88C8:
- bl sub_80D127C
- lsls r0, 24
- cmp r0, 0
- bne _080C88DE
- ldr r0, [r4]
- ldr r1, =0x00000ce6
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- beq _080C88EC
-_080C88DE:
- movs r0, 0x17
- bl sub_80CAC58
- b _080C88F2
- .pool
-_080C88EC:
- movs r0, 0x18
- bl sub_80CAC58
-_080C88F2:
- bl sub_80CFFD0
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1]
- b _080C8B82
- .pool
-_080C8904:
- bl sub_80D00A8
- lsls r0, 24
- cmp r0, 0
- beq _080C8910
- b _080C8B82
-_080C8910:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x2
- strb r0, [r1]
- b _080C8B82
- .pool
-_080C8920:
- bl sub_80D00AC
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x12
- bls _080C8930
- b _080C8B82
-_080C8930:
- lsls r0, 2
- ldr r1, =_080C8940
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C8940:
- .4byte _080C898C
- .4byte _080C898C
- .4byte _080C8A0C
- .4byte _080C89F4
- .4byte _080C899C
- .4byte _080C89D4
- .4byte _080C89BC
- .4byte _080C8AAC
- .4byte _080C8A48
- .4byte _080C8AC0
- .4byte _080C8B82
- .4byte _080C8B82
- .4byte _080C8B82
- .4byte _080C8AD4
- .4byte _080C8AE8
- .4byte _080C8B1C
- .4byte _080C8B08
- .4byte _080C8AFC
- .4byte _080C8B30
-_080C898C:
- bl sub_80CADC4
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
- b _080C8B82
- .pool
-_080C899C:
- bl sub_80CEA30
- lsls r0, 24
- cmp r0, 0
- bne _080C8A52
- movs r0, 0x5
- bl PlaySE
- bl sub_80CADC4
- ldr r0, =sub_80C8B90
- bl add_to_c3_somehow
- b _080C8B82
- .pool
-_080C89BC:
- movs r0, 0x5
- bl PlaySE
- bl sub_80CADC4
- ldr r0, =sub_80C8BEC
- bl add_to_c3_somehow
- b _080C8B82
- .pool
-_080C89D4:
- bl sub_80CEA6C
- lsls r0, 24
- cmp r0, 0
- beq _080C8A52
- movs r0, 0x5
- bl PlaySE
- bl sub_80CADC4
- ldr r0, =c3_0808DC50
- bl add_to_c3_somehow
- b _080C8B82
- .pool
-_080C89F4:
- movs r0, 0x5
- bl PlaySE
- bl sub_80CADC4
- ldr r0, =sub_80C8C90
- bl add_to_c3_somehow
- b _080C8B82
- .pool
-_080C8A0C:
- bl sub_80CEA30
- lsls r0, 24
- cmp r0, 0
- bne _080C8A52
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldr r2, =0x00000ce6
- adds r0, r2
- ldrh r0, [r0]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- bne _080C8A8C
- movs r0, 0x5
- bl PlaySE
- bl sub_80CADC4
- ldr r0, =sub_80C8D78
- bl add_to_c3_somehow
- b _080C8B82
- .pool
-_080C8A48:
- bl sub_80CEA30
- lsls r0, 24
- cmp r0, 0
- beq _080C8A60
-_080C8A52:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x3
- strb r0, [r1]
- b _080C8B82
- .pool
-_080C8A60:
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- ldr r2, =0x00000ced
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C8A7C
- movs r0, 0x5
- strb r0, [r1]
- b _080C8B82
- .pool
-_080C8A7C:
- ldr r2, =0x00000ce6
- adds r0, r1, r2
- ldrh r0, [r0]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _080C8A98
-_080C8A8C:
- ldr r1, [r4]
- movs r0, 0x4
- strb r0, [r1]
- b _080C8B82
- .pool
-_080C8A98:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =sub_80C8EB4
- bl add_to_c3_somehow
- b _080C8B82
- .pool
-_080C8AAC:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =sub_80C9B28
- bl add_to_c3_somehow
- b _080C8B82
- .pool
-_080C8AC0:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =sub_80C90A4
- bl add_to_c3_somehow
- b _080C8B82
- .pool
-_080C8AD4:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =sub_80C9128
- bl add_to_c3_somehow
- b _080C8B82
- .pool
-_080C8AE8:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =sub_80C91DC
- bl add_to_c3_somehow
- b _080C8B82
- .pool
-_080C8AFC:
- ldr r0, =sub_80C9298
- bl add_to_c3_somehow
- b _080C8B82
- .pool
-_080C8B08:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =sub_80C93B0
- bl add_to_c3_somehow
- b _080C8B82
- .pool
-_080C8B1C:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =sub_80C9B88
- bl add_to_c3_somehow
- b _080C8B82
- .pool
-_080C8B30:
- ldr r0, =sub_80C9498
- bl add_to_c3_somehow
- b _080C8B82
- .pool
-_080C8B3C:
- movs r0, 0x20
- bl PlaySE
- movs r0, 0xD
- b _080C8B58
-_080C8B46:
- movs r0, 0x20
- bl PlaySE
- movs r0, 0x11
- b _080C8B58
-_080C8B50:
- movs r0, 0x20
- bl PlaySE
- movs r0, 0x16
-_080C8B58:
- bl sub_80CAC58
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x6
- strb r0, [r1]
- b _080C8B82
- .pool
-_080C8B6C:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C8B82
- bl sub_80CADC4
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C8B82:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C8864
-
- thumb_func_start sub_80C8B90
-sub_80C8B90: @ 80C8B90
- push {r4,lr}
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C8BA8
- cmp r0, 0x1
- beq _080C8BB8
- b _080C8BE2
- .pool
-_080C8BA8:
- movs r0, 0
- bl sub_80CDC38
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C8BE2
-_080C8BB8:
- bl sub_80CDCAC
- lsls r0, 24
- cmp r0, 0
- bne _080C8BE2
- ldr r0, =gUnknown_02039D0C
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C8BDC
- ldr r0, =sub_80C9670
- bl add_to_c3_somehow
- b _080C8BE2
- .pool
-_080C8BDC:
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C8BE2:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C8B90
-
- thumb_func_start sub_80C8BEC
-sub_80C8BEC: @ 80C8BEC
- push {r4,lr}
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C8C04
- cmp r0, 0x1
- beq _080C8C14
- b _080C8C3E
- .pool
-_080C8C04:
- movs r0, 0x1
- bl sub_80CDC38
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C8C3E
-_080C8C14:
- bl sub_80CDCAC
- lsls r0, 24
- cmp r0, 0
- bne _080C8C3E
- ldr r0, =gUnknown_02039D0C
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C8C38
- ldr r0, =sub_80C9670
- bl add_to_c3_somehow
- b _080C8C3E
- .pool
-_080C8C38:
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C8C3E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C8BEC
-
- thumb_func_start c3_0808DC50
-c3_0808DC50: @ 80C8C48
- push {r4,lr}
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C8C60
- cmp r0, 0x1
- beq _080C8C70
- b _080C8C84
- .pool
-_080C8C60:
- movs r0, 0x2
- bl sub_80CDC38
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C8C84
-_080C8C70:
- bl sub_80CDCAC
- lsls r0, 24
- cmp r0, 0
- bne _080C8C84
- bl BoxSetMosaic
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C8C84:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c3_0808DC50
-
- thumb_func_start sub_80C8C90
-sub_80C8C90: @ 80C8C90
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x5
- bhi _080C8D6E
- lsls r0, 2
- ldr r1, =_080C8CB0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C8CB0:
- .4byte _080C8CC8
- .4byte _080C8D00
- .4byte _080C8D20
- .4byte _080C8D36
- .4byte _080C8D48
- .4byte _080C8D68
-_080C8CC8:
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- bne _080C8CE8
- movs r0, 0xE
- bl sub_80CAC58
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1]
- b _080C8D6E
- .pool
-_080C8CE8:
- bl sub_80CDC18
- movs r0, 0
- bl sub_80CDC38
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x2
- strb r0, [r1]
- b _080C8D6E
- .pool
-_080C8D00:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C8D6E
- bl sub_80CADC4
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
- b _080C8D6E
- .pool
-_080C8D20:
- bl sub_80CDCAC
- lsls r0, 24
- cmp r0, 0
- bne _080C8D6E
- movs r0, 0x1
- bl sub_80CC0D4
- bl sub_80CAB4C
- b _080C8D56
-_080C8D36:
- bl sub_80CAB70
- lsls r0, 24
- cmp r0, 0
- bne _080C8D6E
- movs r0, 0x1
- bl sub_80CDC38
- b _080C8D56
-_080C8D48:
- bl sub_80CDCAC
- lsls r0, 24
- cmp r0, 0
- bne _080C8D6E
- bl sub_80CAB20
-_080C8D56:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C8D6E
- .pool
-_080C8D68:
- ldr r0, =sub_80C87E8
- bl add_to_c3_somehow
-_080C8D6E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C8C90
-
- thumb_func_start sub_80C8D78
-sub_80C8D78: @ 80C8D78
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x4
- bls _080C8D88
- b _080C8EA2
-_080C8D88:
- lsls r0, 2
- ldr r1, =_080C8D9C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C8D9C:
- .4byte _080C8DB0
- .4byte _080C8DEC
- .4byte _080C8E4C
- .4byte _080C8E64
- .4byte _080C8E88
-_080C8DB0:
- movs r0, 0x6
- bl sub_80CAC58
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldr r1, =0x00001e5c
- adds r0, r1
- ldr r2, =0x0000dac7
- movs r1, 0
- str r1, [sp]
- movs r1, 0xA
- movs r3, 0x3
- bl sub_80C77E8
- ldr r0, =gUnknown_02039D0E
- ldrb r0, [r0]
- bl sub_80C78D4
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- b _080C8EA0
- .pool
-_080C8DEC:
- bl sub_80C78F0
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- cmp r0, 0xC8
- beq _080C8EA2
- cmp r0, 0xC9
- bne _080C8E0C
- bl sub_80CADC4
- bl sub_80C78E4
- bl sub_80C7890
- b _080C8E7A
-_080C8E0C:
- adds r0, r4, 0
- bl sub_80CE19C
- lsls r0, 24
- cmp r0, 0
- beq _080C8E38
- ldr r0, =gUnknown_02039D0E
- strb r4, [r0]
- bl sub_80CADC4
- bl sub_80C78E4
- bl sub_80C7890
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x2
- b _080C8EA0
- .pool
-_080C8E38:
- movs r0, 0x8
- bl sub_80CAC58
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x4
- b _080C8EA0
- .pool
-_080C8E4C:
- bl CompactPartySlots
- bl sub_80CB950
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- b _080C8EA0
- .pool
-_080C8E64:
- bl sub_80CB9BC
- lsls r0, 24
- cmp r0, 0
- bne _080C8EA2
- bl sub_80CE22C
- bl BoxSetMosaic
- bl sub_80CAB20
-_080C8E7A:
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
- b _080C8EA2
- .pool
-_080C8E88:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C8EA2
- movs r0, 0x6
- bl sub_80CAC58
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x1
-_080C8EA0:
- strb r0, [r1]
-_080C8EA2:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C8D78
-
- thumb_func_start sub_80C8EB4
-sub_80C8EB4: @ 80C8EB4
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0xD
- bls _080C8EC2
- b _080C9096
-_080C8EC2:
- lsls r0, 2
- ldr r1, =_080C8ED4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C8ED4:
- .4byte _080C8F0C
- .4byte _080C8F22
- .4byte _080C8F5A
- .4byte _080C8F80
- .4byte _080C8F8C
- .4byte _080C8FA4
- .4byte _080C8FE0
- .4byte _080C8FF8
- .4byte _080C9004
- .4byte _080C9008
- .4byte _080C901C
- .4byte _080C9038
- .4byte _080C904A
- .4byte _080C9080
-_080C8F0C:
- movs r0, 0x9
- bl sub_80CAC58
- movs r0, 0x1
- bl sub_80CAD9C
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080C8F22:
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080C8F4C
- cmp r1, 0
- bgt _080C8F40
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080C8F46
- b _080C9096
- .pool
-_080C8F40:
- cmp r1, 0x1
- beq _080C8F46
- b _080C9096
-_080C8F46:
- bl sub_80CADC4
- b _080C8FF8
-_080C8F4C:
- bl sub_80CADC4
- bl sub_80CE3A0
- bl sub_80CE250
- b _080C905C
-_080C8F5A:
- bl sub_80CE580
- bl sub_80CE2A8
- lsls r0, 24
- cmp r0, 0
- beq _080C8F6A
- b _080C9096
-_080C8F6A:
- b _080C8F72
-_080C8F6C:
- cmp r0, 0
- bne _080C8F72
- b _080C9070
-_080C8F72:
- bl sub_80CE580
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _080C8F6C
- b _080C905C
-_080C8F80:
- bl sub_80CE2D8
- bl sub_80CA230
- movs r0, 0xA
- b _080C9058
-_080C8F8C:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- bne _080C8F9A
- b _080C9096
-_080C8F9A:
- movs r0, 0xB
- b _080C9058
- .pool
-_080C8FA4:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C9096
- bl sub_80CADC4
- ldr r0, =gUnknown_02039D0C
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C8FD0
- bl CompactPartySlots
- bl sub_80CB950
- b _080C905C
- .pool
-_080C8FD0:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x7
- strb r0, [r1]
- b _080C9096
- .pool
-_080C8FE0:
- bl sub_80CB9BC
- lsls r0, 24
- cmp r0, 0
- bne _080C9096
- bl sub_80CE00C
- bl BoxSetMosaic
- bl sub_80CAB20
- b _080C905C
-_080C8FF8:
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
- b _080C9096
- .pool
-_080C9004:
- movs r0, 0xA
- b _080C9058
-_080C9008:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C9096
- movs r0, 0x15
- b _080C9058
- .pool
-_080C901C:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C9096
- bl sub_80CADC4
- bl sub_80CC064
- b _080C905C
- .pool
-_080C9038:
- bl sub_80CC0A0
- lsls r0, 24
- cmp r0, 0
- bne _080C9096
- bl sub_80CE324
- movs r0, 0x13
- b _080C9058
-_080C904A:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C9096
- movs r0, 0x14
-_080C9058:
- bl sub_80CAC58
-_080C905C:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C9096
- .pool
-_080C9070:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x8
- strb r0, [r1]
- b _080C9096
- .pool
-_080C9080:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C9096
- bl sub_80CADC4
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C9096:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C8EB4
-
- thumb_func_start sub_80C90A4
-sub_80C90A4: @ 80C90A4
- push {r4,lr}
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C90BC
- cmp r0, 0x1
- beq _080C90F0
- b _080C9118
- .pool
-_080C90BC:
- movs r0, 0xC
- bl sub_80CAC58
- ldr r0, [r4]
- ldr r2, =0x00000ceb
- adds r1, r0, r2
- ldrb r1, [r1]
- ldr r3, =0x00000da8
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, r2
- ldrb r0, [r0]
- movs r1, 0xB0
- movs r2, 0x10
- bl sub_811FAA4
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C9118
- .pool
-_080C90F0:
- bl sub_811FBA4
- lsls r0, 24
- cmp r0, 0
- bne _080C9118
- bl sub_811FAF8
- bl sub_80CADC4
- ldr r0, [r4]
- ldr r1, =0x00000da8
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80CE9A8
- bl sub_80CA230
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C9118:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C90A4
-
- thumb_func_start sub_80C9128
-sub_80C9128: @ 80C9128
- push {r4,r5,lr}
- ldr r5, =gUnknown_02039D08
- ldr r0, [r5]
- ldrb r1, [r0]
- cmp r1, 0x1
- beq _080C9174
- cmp r1, 0x1
- bgt _080C9144
- cmp r1, 0
- beq _080C914E
- b _080C91D2
- .pool
-_080C9144:
- cmp r1, 0x2
- beq _080C919C
- cmp r1, 0x3
- beq _080C91C2
- b _080C91D2
-_080C914E:
- ldr r1, =0x00000ce6
- adds r0, r1
- ldrh r0, [r0]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- bne _080C9168
- bl sub_80CADC4
- b _080C91B8
- .pool
-_080C9168:
- ldr r0, =sub_80C96B8
- bl add_to_c3_somehow
- b _080C91D2
- .pool
-_080C9174:
- movs r0, 0x2
- bl sub_80CFE54
- ldr r0, =gUnknown_02039D0C
- ldrb r0, [r0]
- negs r4, r0
- orrs r4, r0
- lsrs r4, 31
- bl sub_80CFE08
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_80D0E90
- b _080C91B8
- .pool
-_080C919C:
- bl sub_80D1218
- lsls r0, 24
- cmp r0, 0
- bne _080C91D2
- movs r0, 0x3
- bl sub_80CFE54
- bl sub_80CADC4
- bl sub_80CE00C
- bl sub_80CA4FC
-_080C91B8:
- ldr r1, [r5]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C91D2
-_080C91C2:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080C91D2
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C91D2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C9128
-
- thumb_func_start sub_80C91DC
-sub_80C91DC: @ 80C91DC
- push {r4,lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x4
- bhi _080C928C
- lsls r0, 2
- ldr r1, =_080C91FC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C91FC:
- .4byte _080C9264
- .4byte _080C9210
- .4byte _080C9238
- .4byte _080C9258
- .4byte _080C927C
-_080C9210:
- movs r0, 0x2
- bl sub_80CFE54
- ldr r0, =gUnknown_02039D0C
- ldrb r0, [r0]
- negs r4, r0
- orrs r4, r0
- lsrs r4, 31
- bl sub_80CFE08
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_80D1080
- b _080C9268
- .pool
-_080C9238:
- bl sub_80D1218
- lsls r0, 24
- cmp r0, 0
- bne _080C928C
- movs r0, 0
- bl sub_80CFE54
- bl sub_80CE00C
- bl sub_80CA4FC
- movs r0, 0x1C
- bl sub_80CAC58
- b _080C9268
-_080C9258:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C928C
-_080C9264:
- bl sub_80CADC4
-_080C9268:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C928C
- .pool
-_080C927C:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080C928C
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C928C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C91DC
-
- thumb_func_start sub_80C9298
-sub_80C9298: @ 80C9298
- push {r4,r5,lr}
- ldr r1, =gUnknown_02039D08
- ldr r0, [r1]
- ldrb r0, [r0]
- adds r5, r1, 0
- cmp r0, 0x4
- bls _080C92A8
- b _080C93A2
-_080C92A8:
- lsls r0, 2
- ldr r1, =_080C92BC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C92BC:
- .4byte _080C92D0
- .4byte _080C9328
- .4byte _080C9348
- .4byte _080C938C
- .4byte _080C9374
-_080C92D0:
- ldr r0, [r5]
- ldr r1, =0x00000ce6
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- cmp r0, 0
- bne _080C92FC
- movs r0, 0x20
- bl PlaySE
- movs r0, 0x1A
- bl sub_80CAC58
- ldr r1, [r5]
- movs r0, 0x3
- strb r0, [r1]
- b _080C93A2
- .pool
-_080C92FC:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_02039D0C
- ldrb r0, [r0]
- negs r4, r0
- orrs r4, r0
- lsrs r4, 31
- bl sub_80CFE08
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_80D1114
- ldr r1, [r5]
- movs r0, 0x1
- strb r0, [r1]
- b _080C93A2
- .pool
-_080C9328:
- bl sub_80D1218
- lsls r0, 24
- cmp r0, 0
- bne _080C93A2
- movs r0, 0x19
- bl sub_80CAC58
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x2
- strb r0, [r1]
- b _080C93A2
- .pool
-_080C9348:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C93A2
- bl sub_80CADC4
- bl sub_80CE00C
- bl sub_80CA4FC
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x4
- strb r0, [r1]
- b _080C93A2
- .pool
-_080C9374:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080C93A2
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
- b _080C93A2
- .pool
-_080C938C:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C93A2
- bl sub_80CADC4
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C93A2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C9298
-
- thumb_func_start sub_80C93B0
-sub_80C93B0: @ 80C93B0
- push {r4,lr}
- ldr r1, =gUnknown_02039D08
- ldr r0, [r1]
- ldrb r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x4
- bhi _080C948C
- lsls r0, 2
- ldr r1, =_080C93D0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C93D0:
- .4byte _080C93E4
- .4byte _080C9410
- .4byte _080C9438
- .4byte _080C9458
- .4byte _080C947C
-_080C93E4:
- ldr r0, [r4]
- ldr r1, =0x00000ce6
- adds r0, r1
- ldrh r0, [r0]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- bne _080C9404
- bl sub_80CADC4
- ldr r1, [r4]
- b _080C946C
- .pool
-_080C9404:
- ldr r0, =sub_80C96B8
- bl add_to_c3_somehow
- b _080C948C
- .pool
-_080C9410:
- movs r0, 0x2
- bl sub_80CFE54
- ldr r0, =gUnknown_02039D0C
- ldrb r0, [r0]
- negs r4, r0
- orrs r4, r0
- lsrs r4, 31
- bl sub_80CFE08
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_80D0FAC
- b _080C9468
- .pool
-_080C9438:
- bl sub_80D1218
- lsls r0, 24
- cmp r0, 0
- bne _080C948C
- movs r0, 0x3
- bl sub_80CFE54
- bl sub_80CE00C
- bl sub_80CA4FC
- movs r0, 0x1D
- bl sub_80CAC58
- b _080C9468
-_080C9458:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C948C
- bl sub_80CADC4
-_080C9468:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
-_080C946C:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C948C
- .pool
-_080C947C:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080C948C
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C948C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C93B0
-
- thumb_func_start sub_80C9498
-sub_80C9498: @ 80C9498
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x6
- bhi _080C9544
- lsls r0, 2
- ldr r1, =_080C94B8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C94B8:
- .4byte _080C94D4
- .4byte _080C94DA
- .4byte _080C94F4
- .4byte _080C94FA
- .4byte _080C9500
- .4byte _080C9518
- .4byte _080C9534
-_080C94D4:
- bl sub_80CADC4
- b _080C9522
-_080C94DA:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080C9544
- movs r0, 0x6
- bl PlaySE
- bl sub_80D17B4
- bl sub_80D1818
- b _080C9522
-_080C94F4:
- bl sub_80D184C
- b _080C951C
-_080C94FA:
- bl IsDma3ManagerBusyWithBgCopy
- b _080C951C
-_080C9500:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C9544
- movs r0, 0x6
- bl PlaySE
- b _080C9522
- .pool
-_080C9518:
- bl sub_80D18E4
-_080C951C:
- lsls r0, 24
- cmp r0, 0
- bne _080C9544
-_080C9522:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C9544
- .pool
-_080C9534:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080C9544
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C9544:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C9498
-
- thumb_func_start sub_80C954C
-sub_80C954C: @ 80C954C
- push {r4,lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x5
- bls _080C955A
- b _080C9664
-_080C955A:
- lsls r0, 2
- ldr r1, =_080C956C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C956C:
- .4byte _080C9584
- .4byte _080C95A4
- .4byte _080C9602
- .4byte _080C9624
- .4byte _080C9638
- .4byte _080C9654
-_080C9584:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1B
- bl sub_80CAC58
- movs r0, 0
- bl sub_80CAD9C
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1]
- b _080C9664
- .pool
-_080C95A4:
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080C95C8
- cmp r1, 0
- bgt _080C95BE
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080C95C2
- b _080C9664
-_080C95BE:
- cmp r1, 0x1
- bne _080C9664
-_080C95C2:
- bl sub_80CADC4
- b _080C9648
-_080C95C8:
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldr r1, =0x00002234
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C95F4
- bl sub_80CADC4
- ldr r1, [r4]
- movs r0, 0x3
- strb r0, [r1]
- b _080C9664
- .pool
-_080C95F4:
- movs r0, 0x1A
- bl sub_80CAC58
- ldr r1, [r4]
- movs r0, 0x2
- strb r0, [r1]
- b _080C9664
-_080C9602:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C9664
- bl sub_80CADC4
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x5
- strb r0, [r1]
- b _080C9664
- .pool
-_080C9624:
- bl sub_80D1194
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x4
- strb r0, [r1]
- b _080C9664
- .pool
-_080C9638:
- bl sub_80D1218
- lsls r0, 24
- cmp r0, 0
- bne _080C9664
- movs r0, 0
- bl sub_80CFE54
-_080C9648:
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
- b _080C9664
- .pool
-_080C9654:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080C9664
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C9664:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C954C
-
- thumb_func_start sub_80C9670
-sub_80C9670: @ 80C9670
- push {r4,lr}
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C9688
- cmp r0, 0x1
- beq _080C969A
- b _080C96AE
- .pool
-_080C9688:
- bl CompactPartySlots
- bl sub_80CB950
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C96AE
-_080C969A:
- bl sub_80CB9BC
- lsls r0, 24
- cmp r0, 0
- bne _080C96AE
- bl sub_80CAB20
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C96AE:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C9670
-
- thumb_func_start sub_80C96B8
-sub_80C96B8: @ 80C96B8
- push {r4,lr}
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080C96E6
- cmp r0, 0x1
- bgt _080C96D4
- cmp r0, 0
- beq _080C96DE
- b _080C9720
- .pool
-_080C96D4:
- cmp r0, 0x2
- beq _080C96F2
- cmp r0, 0x3
- beq _080C9710
- b _080C9720
-_080C96DE:
- movs r0, 0x1E
- bl sub_80CAC58
- b _080C9702
-_080C96E6:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080C9720
- b _080C9702
-_080C96F2:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C9720
- bl sub_80CADC4
-_080C9702:
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C9720
- .pool
-_080C9710:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080C9720
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C9720:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C96B8
-
- thumb_func_start box_related
-box_related: @ 80C972C
- push {r4,lr}
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080C9762
- cmp r0, 0x1
- bgt _080C9748
- cmp r0, 0
- beq _080C974E
- b _080C9818
- .pool
-_080C9748:
- cmp r0, 0x2
- beq _080C9774
- b _080C9818
-_080C974E:
- movs r0, 0x1
- bl sub_80CAC58
- bl sub_80CFFD0
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C9818
-_080C9762:
- bl sub_80D00A8
- lsls r0, 24
- cmp r0, 0
- bne _080C9818
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080C9774:
- bl sub_80D00AC
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC
- bhi _080C9818
- lsls r0, 2
- ldr r1, =_080C9790
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C9790:
- .4byte _080C97C4
- .4byte _080C97C4
- .4byte _080C9818
- .4byte _080C9818
- .4byte _080C9818
- .4byte _080C9818
- .4byte _080C9818
- .4byte _080C9818
- .4byte _080C9818
- .4byte _080C9818
- .4byte _080C9808
- .4byte _080C97F0
- .4byte _080C97DC
-_080C97C4:
- movs r0, 0x1
- bl sub_80CD1A8
- bl sub_80CADC4
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
- b _080C9818
- .pool
-_080C97DC:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =sub_80C9AC8
- bl add_to_c3_somehow
- b _080C9818
- .pool
-_080C97F0:
- movs r0, 0x5
- bl PlaySE
- bl sub_80CADC4
- ldr r0, =sub_80C9824
- bl add_to_c3_somehow
- b _080C9818
- .pool
-_080C9808:
- movs r0, 0x5
- bl PlaySE
- bl sub_80CADC4
- ldr r0, =sub_80C99D8
- bl add_to_c3_somehow
-_080C9818:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end box_related
-
- thumb_func_start sub_80C9824
-sub_80C9824: @ 80C9824
- push {r4,r5,lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x6
- bls _080C9832
- b _080C99CC
-_080C9832:
- lsls r0, 2
- ldr r1, =_080C9844
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C9844:
- .4byte _080C9860
- .4byte _080C9878
- .4byte _080C9894
- .4byte _080C990C
- .4byte _080C993C
- .4byte _080C9990
- .4byte _080C99AC
-_080C9860:
- bl sub_80CADD8
- movs r0, 0x2
- bl sub_80CAC58
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- b _080C99CA
- .pool
-_080C9878:
- bl sub_80D00A8
- lsls r0, 24
- cmp r0, 0
- beq _080C9884
- b _080C99CC
-_080C9884:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- b _080C99CA
- .pool
-_080C9894:
- bl sub_80D00AC
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- ldr r5, =0x0000078e
- adds r1, r5
- strh r0, [r1]
- movs r0, 0
- ldrsh r1, [r1, r0]
- cmp r1, 0x15
- bgt _080C98C0
- cmp r1, 0x12
- bge _080C98D2
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080C98C6
- b _080C99CC
- .pool
-_080C98C0:
- cmp r1, 0x16
- beq _080C98EC
- b _080C99CC
-_080C98C6:
- movs r0, 0x1
- bl sub_80CD1A8
- bl sub_80CADC4
- b _080C99A0
-_080C98D2:
- movs r0, 0x5
- bl PlaySE
- bl sub_80D013C
- ldr r1, [r4]
- adds r2, r1, r5
- ldrh r0, [r2]
- subs r0, 0x12
- strh r0, [r2]
- ldrb r0, [r1]
- adds r0, 0x1
- b _080C99CA
-_080C98EC:
- movs r0, 0x5
- bl PlaySE
- ldr r0, [r4]
- movs r1, 0xF2
- lsls r1, 3
- adds r0, r1
- movs r1, 0x10
- strh r1, [r0]
- bl sub_80D013C
- bl sub_80CADC4
- ldr r1, [r4]
- movs r0, 0x6
- b _080C99CA
-_080C990C:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080C99CC
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldr r1, =0x0000078e
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80CAE0C
- movs r0, 0x3
- bl sub_80CAC58
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- b _080C99CA
- .pool
-_080C993C:
- bl sub_80D00AC
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- movs r5, 0xF2
- lsls r5, 3
- adds r1, r5
- strh r0, [r1]
- movs r0, 0
- ldrsh r1, [r1, r0]
- movs r0, 0x2
- negs r0, r0
- cmp r1, r0
- beq _080C99CC
- adds r0, 0x1
- cmp r1, r0
- bne _080C996C
- bl sub_80CADC4
- ldr r1, [r4]
- movs r0, 0
- b _080C99CA
- .pool
-_080C996C:
- movs r0, 0x5
- bl PlaySE
- bl sub_80CADC4
- ldr r1, [r4]
- adds r1, r5
- ldrh r0, [r1]
- subs r0, 0x17
- strh r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80CC680
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- b _080C99CA
-_080C9990:
- bl sub_80CC6B0
- lsls r0, 24
- cmp r0, 0
- bne _080C99CC
- movs r0, 0x1
- bl sub_80CD1A8
-_080C99A0:
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
- b _080C99CC
- .pool
-_080C99AC:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080C99CC
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- movs r1, 0xF2
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80CC680
- ldr r1, [r4]
- movs r0, 0x5
-_080C99CA:
- strb r0, [r1]
-_080C99CC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C9824
-
- thumb_func_start sub_80C99D8
-sub_80C99D8: @ 80C99D8
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, =gUnknown_02039D08
- ldr r0, [r5]
- ldrb r4, [r0]
- cmp r4, 0x1
- beq _080C9A2C
- cmp r4, 0x1
- bgt _080C99F4
- cmp r4, 0
- beq _080C99FE
- b _080C9AB8
- .pool
-_080C99F4:
- cmp r4, 0x2
- beq _080C9A84
- cmp r4, 0x3
- beq _080C9A9C
- b _080C9AB8
-_080C99FE:
- movs r0, 0x5
- bl sub_80CAC58
- ldr r0, [r5]
- ldr r1, =0x00001e5c
- adds r0, r1
- ldr r2, =0x0000dac7
- str r4, [sp]
- movs r1, 0xA
- movs r3, 0x3
- bl sub_80C77E8
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- bl sub_80C78D4
- b _080C9A8E
- .pool
-_080C9A2C:
- bl sub_80C78F0
- ldr r1, [r5]
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =0x000002ca
- adds r1, r2
- strh r0, [r1]
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0xC8
- beq _080C9AB8
- bl sub_80CADC4
- bl sub_80C78E4
- bl sub_80C7890
- ldr r0, [r5]
- ldr r2, =0x000002ca
- adds r1, r0, r2
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0xC9
- beq _080C9A6C
- adds r4, r0, 0
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _080C9A8E
-_080C9A6C:
- movs r0, 0x1
- bl sub_80CD1A8
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
- b _080C9AB8
- .pool
-_080C9A84:
- ldr r1, =0x000002ca
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80CC464
-_080C9A8E:
- ldr r1, [r5]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C9AB8
- .pool
-_080C9A9C:
- bl sub_80CC54C
- lsls r0, 24
- cmp r0, 0
- bne _080C9AB8
- ldr r0, [r5]
- ldr r2, =0x000002ca
- adds r0, r2
- ldrb r0, [r0]
- bl SetCurrentBox
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
-_080C9AB8:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C99D8
-
- thumb_func_start sub_80C9AC8
-sub_80C9AC8: @ 80C9AC8
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, =gUnknown_02039D08
- ldr r0, [r5]
- ldrb r4, [r0]
- cmp r4, 0
- beq _080C9AE0
- cmp r4, 0x1
- beq _080C9AFE
- b _080C9B18
- .pool
-_080C9AE0:
- bl sub_80CE760
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, [r5]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C9B18
-_080C9AFE:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080C9B18
- ldr r0, =gUnknown_02039D0F
- strb r4, [r0]
- ldr r1, [r5]
- movs r0, 0x2
- strb r0, [r1, 0x2]
- ldr r0, =sub_80C9E50
- bl add_to_c3_somehow
-_080C9B18:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C9AC8
-
- thumb_func_start sub_80C9B28
-sub_80C9B28: @ 80C9B28
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, =gUnknown_02039D08
- ldr r0, [r5]
- ldrb r4, [r0]
- cmp r4, 0
- beq _080C9B40
- cmp r4, 0x1
- beq _080C9B5E
- b _080C9B78
- .pool
-_080C9B40:
- bl sub_80CE7E8
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, [r5]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C9B78
-_080C9B5E:
- bl UpdatePaletteFade
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _080C9B78
- ldr r0, =gUnknown_02039D0F
- strb r1, [r0]
- ldr r0, [r5]
- strb r4, [r0, 0x2]
- ldr r0, =sub_80C9E50
- bl add_to_c3_somehow
-_080C9B78:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C9B28
-
- thumb_func_start sub_80C9B88
-sub_80C9B88: @ 80C9B88
- push {r4,lr}
- sub sp, 0x4
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldrb r1, [r0]
- cmp r1, 0
- beq _080C9BA0
- cmp r1, 0x1
- beq _080C9BBA
- b _080C9BD6
- .pool
-_080C9BA0:
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C9BD6
-_080C9BBA:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080C9BD6
- ldr r1, =gUnknown_02039D0F
- movs r0, 0x2
- strb r0, [r1]
- ldr r1, [r4]
- movs r0, 0x3
- strb r0, [r1, 0x2]
- ldr r0, =sub_80C9E50
- bl add_to_c3_somehow
-_080C9BD6:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C9B88
-
- thumb_func_start sub_80C9BE8
-sub_80C9BE8: @ 80C9BE8
- push {r4,lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x4
- bls _080C9BF6
- b _080C9D08
-_080C9BF6:
- lsls r0, 2
- ldr r1, =_080C9C08
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C9C08:
- .4byte _080C9C1C
- .4byte _080C9C78
- .4byte _080C9C8C
- .4byte _080C9CC8
- .4byte _080C9CE4
-_080C9C1C:
- bl sub_80CEAD0
- lsls r0, 24
- cmp r0, 0
- beq _080C9C40
- movs r0, 0x20
- bl PlaySE
- movs r0, 0xF
- bl sub_80CAC58
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1]
- b _080C9D08
- .pool
-_080C9C40:
- bl sub_80D127C
- lsls r0, 24
- cmp r0, 0
- beq _080C9C58
- ldr r0, =sub_80C954C
- bl add_to_c3_somehow
- b _080C9D08
- .pool
-_080C9C58:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- bl sub_80CAC58
- movs r0, 0
- bl sub_80CAD9C
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x2
- strb r0, [r1]
- b _080C9D08
- .pool
-_080C9C78:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C9D08
- b _080C9CAA
- .pool
-_080C9C8C:
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080C9CBC
- cmp r1, 0
- bgt _080C9CA6
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080C9CAA
- b _080C9D08
-_080C9CA6:
- cmp r1, 0x1
- bne _080C9D08
-_080C9CAA:
- bl sub_80CADC4
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
- b _080C9D08
- .pool
-_080C9CBC:
- movs r0, 0x3
- bl PlaySE
- bl sub_80CADC4
- b _080C9CD2
-_080C9CC8:
- movs r0, 0x14
- movs r1, 0
- movs r2, 0x1
- bl sub_80F9BF4
-_080C9CD2:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C9D08
- .pool
-_080C9CE4:
- bl sub_80F9C30
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _080C9D08
- bl sub_80CABE0
- bl CalculatePlayerPartyCount
- ldr r1, =gPlayerPartyCount
- strb r0, [r1]
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- strb r4, [r0, 0x2]
- ldr r0, =sub_80C9E50
- bl add_to_c3_somehow
-_080C9D08:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C9BE8
-
- thumb_func_start sub_80C9D1C
-sub_80C9D1C: @ 80C9D1C
- push {r4,lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x4
- bls _080C9D2A
- b _080C9E3C
-_080C9D2A:
- lsls r0, 2
- ldr r1, =_080C9D3C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C9D3C:
- .4byte _080C9D50
- .4byte _080C9DAC
- .4byte _080C9DC0
- .4byte _080C9DFC
- .4byte _080C9E18
-_080C9D50:
- bl sub_80CEAD0
- lsls r0, 24
- cmp r0, 0
- beq _080C9D74
- movs r0, 0x20
- bl PlaySE
- movs r0, 0xF
- bl sub_80CAC58
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1]
- b _080C9E3C
- .pool
-_080C9D74:
- bl sub_80D127C
- lsls r0, 24
- cmp r0, 0
- beq _080C9D8C
- ldr r0, =sub_80C954C
- bl add_to_c3_somehow
- b _080C9E3C
- .pool
-_080C9D8C:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x12
- bl sub_80CAC58
- movs r0, 0
- bl sub_80CAD9C
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0x2
- strb r0, [r1]
- b _080C9E3C
- .pool
-_080C9DAC:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _080C9E3C
- b _080C9DE0
- .pool
-_080C9DC0:
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080C9DE0
- cmp r1, 0
- bgt _080C9DDA
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080C9DF0
- b _080C9E3C
-_080C9DDA:
- cmp r1, 0x1
- beq _080C9DF0
- b _080C9E3C
-_080C9DE0:
- bl sub_80CADC4
- ldr r0, =task_pokemon_box_related
- bl add_to_c3_somehow
- b _080C9E3C
- .pool
-_080C9DF0:
- movs r0, 0x3
- bl PlaySE
- bl sub_80CADC4
- b _080C9E06
-_080C9DFC:
- movs r0, 0x14
- movs r1, 0
- movs r2, 0
- bl sub_80F9BF4
-_080C9E06:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C9E3C
- .pool
-_080C9E18:
- bl sub_80F9C30
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _080C9E3C
- bl sub_80CABE0
- bl CalculatePlayerPartyCount
- ldr r1, =gPlayerPartyCount
- strb r0, [r1]
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- strb r4, [r0, 0x2]
- ldr r0, =sub_80C9E50
- bl add_to_c3_somehow
-_080C9E3C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C9D1C
-
- thumb_func_start sub_80C9E50
-sub_80C9E50: @ 80C9E50
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r4, [r0, 0x2]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080C9E88
- bl sub_80D127C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C9E88
- bl sub_80D12D4
- ldr r1, =gUnknown_02039D12
- b _080C9E8C
- .pool
-_080C9E88:
- ldr r1, =gUnknown_02039D12
- movs r0, 0
-_080C9E8C:
- strh r0, [r1]
- cmp r4, 0x1
- beq _080C9EB4
- cmp r4, 0x1
- ble _080C9E9E
- cmp r4, 0x2
- beq _080C9F1C
- cmp r4, 0x3
- beq _080C9F48
-_080C9E9E:
- bl sub_80C9FC8
- ldr r0, =sub_80C7678
- bl SetMainCallback2
- b _080C9F56
- .pool
-_080C9EB4:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r2, =0x0000218c
- adds r0, r1, r2
- ldr r4, [r0]
- subs r2, 0x5
- adds r0, r1, r2
- ldrb r7, [r0]
- subs r2, 0x1
- adds r0, r1, r2
- ldrb r6, [r0]
- ldr r0, =0x00002188
- adds r1, r0
- ldrb r5, [r1]
- bl sub_80C9FC8
- cmp r5, 0
- bne _080C9F04
- ldr r0, =gUnknown_02039D14
- cmp r4, r0
- bne _080C9F04
- ldr r0, =c2_808CE60
- str r0, [sp]
- movs r0, 0
- adds r1, r4, 0
- adds r2, r7, 0
- adds r3, r6, 0
- bl ShowPokemonSummaryScreenSet40EF
- b _080C9F56
- .pool
-_080C9F04:
- ldr r0, =c2_808CE60
- str r0, [sp]
- adds r0, r5, 0
- adds r1, r4, 0
- adds r2, r7, 0
- adds r3, r6, 0
- bl ShowPokemonSummaryScreen
- b _080C9F56
- .pool
-_080C9F1C:
- bl sub_80C9FC8
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- bl GetBoxNamePtr
- adds r1, r0, 0
- movs r0, 0
- str r0, [sp]
- ldr r0, =c2_808CE60
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl DoNamingScreen
- b _080C9F56
- .pool
-_080C9F48:
- bl sub_80C9FC8
- ldr r2, =c2_808CE60
- movs r0, 0xB
- movs r1, 0
- bl GoToBagMenu
-_080C9F56:
- mov r0, r8
- bl DestroyTask
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C9E50
-
- thumb_func_start sub_80C9F6C
-sub_80C9F6C: @ 80C9F6C
- push {lr}
- sub sp, 0x4
- ldr r0, =gSpecialVar_ItemId
- ldrh r1, [r0]
- mov r0, sp
- strh r1, [r0]
- cmp r1, 0
- beq _080C9FC0
- bl sub_80CFE08
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, =gUnknown_02039D0C
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C9FAC
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
- b _080C9FB6
- .pool
-_080C9FAC:
- adds r0, r1, 0
- movs r1, 0xC
- mov r2, sp
- bl SetBoxMonDataFromSelectedBox
-_080C9FB6:
- mov r0, sp
- ldrh r0, [r0]
- movs r1, 0x1
- bl RemoveBagItem
-_080C9FC0:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80C9F6C
-
- thumb_func_start sub_80C9FC8
-sub_80C9FC8: @ 80C9FC8
- push {r4,lr}
- bl sub_80D25F0
- bl sub_80D01B8
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- bl Free
- movs r0, 0
- str r0, [r4]
- bl FreeAllWindowBuffers
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C9FC8
-
- thumb_func_start sub_80C9FEC
-sub_80C9FEC: @ 80C9FEC
- push {lr}
- sub sp, 0x4
- ldr r1, =0x00001f0f
- movs r0, 0xE
- bl SetGpuReg
- ldr r1, =gUnknown_085720DC
- movs r0, 0
- str r0, [sp]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl DecompressAndLoadBgGfxUsingHeap
- ldr r0, =gUnknown_08572174
- ldr r1, =0x0600f800
- bl LZ77UnCompVram
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C9FEC
-
- thumb_func_start sub_80CA028
-sub_80CA028: @ 80CA028
- push {lr}
- movs r0, 0x3
- movs r1, 0x80
- movs r2, 0x1
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0x80
- movs r2, 0x2
- bl ChangeBgY
- pop {r0}
- bx r0
- thumb_func_end sub_80CA028
-
- thumb_func_start sub_80CA044
-sub_80CA044: @ 80CA044
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r1, =gUnknown_08572734
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- ldr r1, =gPSSMenu_Gfx
- movs r0, 0
- str r0, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl DecompressAndLoadBgGfxUsingHeap
- ldr r0, =gUnknown_085722A0
- ldr r5, =gUnknown_02039D08
- ldr r1, [r5]
- ldr r4, =0x00005ac4
- adds r1, r4
- bl LZ77UnCompWram
- ldr r1, [r5]
- adds r1, r4
- movs r0, 0x1
- bl SetBgTilemapBuffer
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CA044
-
- thumb_func_start sub_80CA0A4
-sub_80CA0A4: @ 80CA0A4
- push {lr}
- ldr r0, =gUnknown_08572714
- bl InitWindows
- lsls r0, 16
- cmp r0, 0
- beq _080CA0C0
- bl DeactivateAllTextPrinters
- movs r0, 0x1
- b _080CA0C2
- .pool
-_080CA0C0:
- movs r0, 0
-_080CA0C2:
- pop {r1}
- bx r1
- thumb_func_end sub_80CA0A4
-
- thumb_func_start sub_80CA0C8
-sub_80CA0C8: @ 80CA0C8
- push {lr}
- ldr r0, =gWaveformSpritePalette
- bl LoadSpritePalette
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CA0C8
-
- thumb_func_start sub_80CA0D8
-sub_80CA0D8: @ 80CA0D8
- push {lr}
- ldr r0, =gUnknown_085723DC
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_085723FC
- movs r1, 0x20
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_085726F4
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- beq _080CA124
- ldr r0, =gUnknown_0857241C
- movs r1, 0x30
- movs r2, 0x20
- bl LoadPalette
- b _080CA12E
- .pool
-_080CA124:
- ldr r0, =gUnknown_0857243C
- movs r1, 0x30
- movs r2, 0x20
- bl LoadPalette
-_080CA12E:
- ldr r1, =0x00001e05
- movs r0, 0xA
- bl SetGpuReg
- bl sub_80CA318
- bl sub_80CA154
- bl sub_80CA1C4
- bl sub_80CA230
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CA0D8
-
- thumb_func_start sub_80CA154
-sub_80CA154: @ 80CA154
- push {r4,lr}
- ldr r1, =0x0000dac8
- movs r0, 0x10
- movs r2, 0
- bl sub_811FFB4
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- ldr r3, =0x00000d94
- adds r1, r3
- str r0, [r1]
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0, 0x5]
- ldr r0, [r4]
- adds r0, r3
- ldr r0, [r0]
- adds r0, 0x43
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, r3
- ldr r2, [r0]
- movs r1, 0x28
- strh r1, [r2, 0x20]
- ldr r1, [r0]
- movs r0, 0x96
- strh r0, [r1, 0x22]
- movs r0, 0x10
- bl GetSpriteTileStartByTag
- ldr r1, [r4]
- movs r2, 0xDA
- lsls r2, 4
- adds r1, r2
- lsls r0, 16
- lsrs r0, 11
- ldr r2, =0x06010000
- adds r0, r2
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CA154
-
- thumb_func_start sub_80CA1C4
-sub_80CA1C4: @ 80CA1C4
- push {r4,lr}
- sub sp, 0x8
- ldr r0, =gWaveformSpriteSheet
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- mov r0, sp
- bl LoadSpriteSheet
- movs r4, 0
-_080CA1DA:
- lsls r1, r4, 6
- subs r1, r4
- adds r1, 0x8
- lsls r1, 16
- asrs r1, 16
- ldr r0, =gUnknown_085728BC
- movs r2, 0x9
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_02039D08
- ldr r2, [r1]
- lsls r1, r4, 2
- ldr r3, =0x00000d98
- adds r2, r3
- adds r2, r1
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- str r1, [r2]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _080CA1DA
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CA1C4
-
- thumb_func_start sub_80CA230
-sub_80CA230: @ 80CA230
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r2, =0x00000ce4
- adds r0, r1, r2
- ldrh r0, [r0]
- subs r2, 0x4
- adds r1, r2
- ldr r1, [r1]
- bl sub_80CA44C
- bl sub_80CA4FC
- bl sub_80CA65C
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CA230
-
- thumb_func_start BoxSetMosaic
-BoxSetMosaic: @ 80CA260
- push {lr}
- bl sub_80CA230
- ldr r3, =gUnknown_02039D08
- ldr r0, [r3]
- movs r1, 0x89
- lsls r1, 6
- adds r0, r1
- ldr r2, [r0]
- cmp r2, 0
- beq _080CA2AC
- ldrb r0, [r2, 0x1]
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r2, 0x1]
- ldr r1, [r3]
- movs r0, 0x89
- lsls r0, 6
- adds r1, r0
- ldr r2, [r1]
- movs r0, 0xA
- strh r0, [r2, 0x2E]
- ldr r2, [r1]
- movs r0, 0x1
- strh r0, [r2, 0x30]
- ldr r2, [r1]
- ldr r0, =BoxSetMosaic2
- str r0, [r2, 0x1C]
- ldr r0, [r1]
- ldrh r0, [r0, 0x2E]
- lsls r1, r0, 12
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x4C
- bl SetGpuReg
-_080CA2AC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end BoxSetMosaic
-
- thumb_func_start sub_80CA2B8
-sub_80CA2B8: @ 80CA2B8
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- movs r1, 0x89
- lsls r1, 6
- adds r0, r1
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- lsls r0, 27
- lsrs r0, 31
- bx lr
- .pool
- thumb_func_end sub_80CA2B8
-
- thumb_func_start BoxSetMosaic2
-BoxSetMosaic2: @ 80CA2D0
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- ldrh r1, [r4, 0x30]
- subs r0, r1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bge _080CA2E6
- movs r0, 0
- strh r0, [r4, 0x2E]
-_080CA2E6:
- ldrh r0, [r4, 0x2E]
- lsls r1, r0, 12
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x4C
- bl SetGpuReg
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080CA30E
- ldrb r0, [r4, 0x1]
- movs r1, 0x11
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x1]
- ldr r0, =SpriteCallbackDummy
- str r0, [r4, 0x1C]
-_080CA30E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end BoxSetMosaic2
-
- thumb_func_start sub_80CA318
-sub_80CA318: @ 80CA318
- push {r4-r7,lr}
- sub sp, 0x28
- ldr r0, =gUnknown_02039D08
- mov r12, r0
- ldr r1, [r0]
- ldr r4, =0x000022c4
- adds r0, r1, r4
- str r0, [sp, 0x18]
- add r3, sp, 0x18
- movs r0, 0x82
- lsls r0, 10
- str r0, [r3, 0x4]
- ldr r5, =0x00002244
- adds r1, r5
- str r1, [sp, 0x20]
- ldr r0, =0x0000dac6
- add r2, sp, 0x20
- str r0, [r2, 0x4]
- mov r1, sp
- ldr r0, =gUnknown_08572754
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- movs r6, 0
- adds r7, r2, 0
- mov r5, r12
- movs r2, 0
- ldr r1, =0x000007ff
-_080CA352:
- ldr r0, [r5]
- adds r0, r4
- adds r0, r6
- strb r2, [r0]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, r1
- bls _080CA352
- movs r6, 0
- ldr r5, =gUnknown_02039D08
- ldr r4, =0x00002244
- movs r2, 0
-_080CA36C:
- ldr r0, [r5]
- lsls r1, r6, 1
- adds r0, r4
- adds r0, r1
- strh r2, [r0]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0xF
- bls _080CA36C
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- movs r6, 0x89
- lsls r6, 6
- adds r0, r6
- movs r1, 0
- str r1, [r0]
- adds r0, r3, 0
- bl LoadSpriteSheet
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- beq _080CA420
- adds r0, r7, 0
- bl LoadSpritePalette
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xFF
- beq _080CA420
- b _080CA40C
- .pool
-_080CA3C4:
- ldr r0, =gUnknown_02039D08
- ldr r2, [r0]
- movs r7, 0x89
- lsls r7, 6
- adds r3, r2, r7
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- str r0, [r3]
- lsls r0, r4, 4
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- ldr r3, =0x0000223a
- adds r1, r2, r3
- strh r0, [r1]
- ldr r6, =0x0000223c
- adds r2, r6
- lsls r0, r5, 5
- ldr r7, =0x06010000
- adds r0, r7
- str r0, [r2]
- b _080CA420
- .pool
-_080CA40C:
- mov r0, sp
- movs r1, 0x28
- movs r2, 0x30
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- bne _080CA3C4
-_080CA420:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- movs r1, 0x89
- lsls r1, 6
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- bne _080CA43C
- movs r0, 0x2
- bl FreeSpriteTilesByTag
- ldr r0, =0x0000dac6
- bl FreeSpritePaletteByTag
-_080CA43C:
- add sp, 0x28
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CA318
-
- thumb_func_start sub_80CA44C
-sub_80CA44C: @ 80CA44C
- push {r4-r7,lr}
- sub sp, 0x4
- adds r3, r1, 0
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r6, =gUnknown_02039D08
- ldr r2, [r6]
- movs r7, 0x89
- lsls r7, 6
- adds r0, r2, r7
- ldr r0, [r0]
- cmp r0, 0
- beq _080CA4F2
- cmp r4, 0
- beq _080CA4E8
- lsls r0, r4, 3
- ldr r1, =gMonFrontPicTable
- adds r0, r1
- ldr r5, =0x000022c4
- adds r1, r2, r5
- movs r2, 0x1
- str r2, [sp]
- adds r2, r4, 0
- bl LoadSpecialPokePic
- ldr r1, [r6]
- ldr r2, =0x00000cdc
- adds r0, r1, r2
- ldr r0, [r0]
- ldr r4, =0x00002244
- adds r1, r4
- bl LZ77UnCompWram
- ldr r0, [r6]
- adds r5, r0, r5
- ldr r1, =0x0000223c
- adds r0, r1
- ldr r1, [r0]
- ldr r2, =0x04000200
- adds r0, r5, 0
- bl CpuSet
- ldr r0, [r6]
- adds r4, r0, r4
- ldr r2, =0x0000223a
- adds r0, r2
- ldrh r1, [r0]
- adds r0, r4, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, [r6]
- adds r0, r7
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- b _080CA4F2
- .pool
-_080CA4E8:
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080CA4F2:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80CA44C
-
- thumb_func_start sub_80CA4FC
-sub_80CA4FC: @ 80CA4FC
- push {r4-r6,lr}
- sub sp, 0xC
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r6, =gUnknown_02039D08
- ldr r2, [r6]
- ldrb r0, [r2, 0x1]
- cmp r0, 0x3
- beq _080CA588
- ldr r0, =0x00000cf9
- adds r2, r0
- movs r4, 0
- str r4, [sp]
- movs r5, 0xFF
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0x6
- bl AddTextPrinterParameterized
- ldr r2, [r6]
- ldr r1, =0x00000d1d
- adds r2, r1
- movs r0, 0xF
- str r0, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r1, 0x2
- movs r3, 0x6
- bl AddTextPrinterParameterized
- ldr r2, [r6]
- ldr r0, =0x00000d41
- adds r2, r0
- movs r0, 0x1D
- str r0, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r1, 0x2
- movs r3, 0xA
- bl AddTextPrinterParameterized
- ldr r2, [r6]
- ldr r1, =0x00000d65
- adds r2, r1
- movs r0, 0x2B
- str r0, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r3, 0x6
- bl AddTextPrinterParameterized
- b _080CA5E8
- .pool
-_080CA588:
- ldr r0, =0x00000d65
- adds r2, r0
- movs r4, 0
- str r4, [sp]
- movs r5, 0xFF
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r3, 0x6
- bl AddTextPrinterParameterized
- ldr r2, [r6]
- ldr r1, =0x00000cf9
- adds r2, r1
- movs r0, 0xD
- str r0, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0x6
- bl AddTextPrinterParameterized
- ldr r2, [r6]
- ldr r0, =0x00000d1d
- adds r2, r0
- movs r0, 0x1C
- str r0, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r1, 0x2
- movs r3, 0x6
- bl AddTextPrinterParameterized
- ldr r2, [r6]
- ldr r1, =0x00000d41
- adds r2, r1
- movs r0, 0x2A
- str r0, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r1, 0x2
- movs r3, 0xA
- bl AddTextPrinterParameterized
-_080CA5E8:
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- ldr r2, =0x00000ce4
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, 0
- beq _080CA640
- adds r2, 0x7
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, 0xB5
- adds r1, r2
- ldr r1, [r1]
- bl sub_8120084
- ldr r0, [r4]
- ldr r1, =0x00000d94
- adds r0, r1
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- b _080CA64E
- .pool
-_080CA640:
- ldr r2, =0x00000d94
- adds r0, r1, r2
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
-_080CA64E:
- strb r0, [r1]
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CA4FC
-
- thumb_func_start sub_80CA65C
-sub_80CA65C: @ 80CA65C
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00000ce4
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- beq _080CA6B4
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x8
- bl sub_80D27AC
- movs r4, 0
-_080CA680:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- lsls r1, r4, 2
- ldr r2, =0x00000d98
- adds r0, r2
- adds r0, r1
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAnimIfDifferent
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _080CA680
- b _080CA6E6
- .pool
-_080CA6B4:
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0
- movs r1, 0
- movs r2, 0x2
- movs r3, 0x8
- bl sub_80D27AC
- movs r4, 0
-_080CA6C6:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- lsls r1, r4, 2
- ldr r2, =0x00000d98
- adds r0, r2
- adds r0, r1
- ldr r0, [r0]
- lsls r1, r4, 25
- lsrs r1, 24
- bl StartSpriteAnim
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _080CA6C6
-_080CA6E6:
- movs r0, 0
- bl sub_80D2918
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CA65C
-
- thumb_func_start sub_80CA704
-sub_80CA704: @ 80CA704
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =gUnknown_08DD36C8
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- adds r1, 0xB0
- bl LZ77UnCompWram
- ldr r0, =gPSSMenu_Pal
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
- ldr r2, [r4]
- adds r2, 0xB0
- movs r0, 0x16
- str r0, [sp]
- movs r0, 0x1
- movs r1, 0x1
- movs r3, 0xC
- bl sub_80D2644
- ldr r2, =gUnknown_0857245C
- movs r0, 0x4
- str r0, [sp]
- movs r0, 0x2
- movs r1, 0x1
- movs r3, 0x9
- bl sub_80D2644
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0
- bl sub_80D2770
- movs r0, 0x2
- movs r1, 0x15
- movs r2, 0
- bl sub_80D2770
- bl sub_80CAA74
- ldr r0, =gUnknown_02039D0C
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CA790
- movs r0, 0x1
- bl sub_80CA984
- movs r0, 0x1
- bl sub_80CB7E8
- movs r0, 0x2
- bl sub_80D2918
- movs r0, 0x1
- bl sub_80D2918
- b _080CA7B2
- .pool
-_080CA790:
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0x14
- movs r3, 0xC
- bl sub_80D27AC
- movs r0, 0x1
- bl sub_80CA984
- movs r0, 0x1
- bl sub_80D2918
- movs r0, 0x2
- bl sub_80D2918
-_080CA7B2:
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x000002c7
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CA704
-
- thumb_func_start sub_80CA7D4
-sub_80CA7D4: @ 80CA7D4
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r0, 0xB0
- lsls r0, 2
- adds r2, r1, r0
- movs r3, 0
- movs r0, 0x14
- strh r0, [r2]
- ldr r0, =0x000002c2
- adds r2, r1, r0
- movs r0, 0x2
- strh r0, [r2]
- ldr r0, =0x000002c5
- adds r1, r0
- strb r3, [r1]
- movs r0, 0
- bl sub_80CB7E8
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CA7D4
-
- thumb_func_start sub_80CA80C
-sub_80CA80C: @ 80CA80C
- push {r4,lr}
- ldr r4, =gUnknown_02039D08
- ldr r2, [r4]
- ldr r1, =0x000002c5
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x14
- beq _080CA87A
- movs r0, 0xB0
- lsls r0, 2
- adds r1, r2, r0
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- ldr r0, =0x000002c2
- adds r1, r2, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0x1
- bl sub_80D27F4
- movs r0, 0x1
- bl sub_80D2918
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x8
- bl sub_80CBAF0
- ldr r1, [r4]
- ldr r0, =0x000002c5
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x14
- beq _080CA874
- movs r0, 0x1
- b _080CA87C
- .pool
-_080CA874:
- ldr r1, =gUnknown_02039D0C
- movs r0, 0x1
- strb r0, [r1]
-_080CA87A:
- movs r0, 0
-_080CA87C:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80CA80C
-
- thumb_func_start sub_80CA888
-sub_80CA888: @ 80CA888
- push {r4,lr}
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- movs r0, 0xB0
- lsls r0, 2
- adds r2, r1, r0
- movs r3, 0
- movs r0, 0
- strh r0, [r2]
- ldr r0, =0x000002c2
- adds r2, r1, r0
- movs r0, 0x16
- strh r0, [r2]
- ldr r0, =0x000002c5
- adds r1, r0
- strb r3, [r1]
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080CA8B4
- bl sub_80D11CC
-_080CA8B4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CA888
-
- thumb_func_start sub_80CA8C8
-sub_80CA8C8: @ 80CA8C8
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r5, =gUnknown_02039D08
- ldr r2, [r5]
- ldr r1, =0x000002c5
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x14
- beq _080CA974
- movs r0, 0xB0
- lsls r0, 2
- adds r1, r2, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- ldr r4, =0x000002c2
- adds r1, r2, r4
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x1
- movs r1, 0x3
- bl sub_80D27F4
- movs r0, 0x1
- bl sub_80D2918
- movs r1, 0x80
- lsls r1, 1
- ldr r0, [r5]
- adds r0, r4
- ldrb r3, [r0]
- movs r0, 0xC
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r2, 0xA
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0x8
- negs r0, r0
- bl sub_80CBAF0
- ldr r1, [r5]
- ldr r0, =0x000002c5
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x14
- beq _080CA94C
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x1
- b _080CA976
- .pool
-_080CA94C:
- ldr r0, =gUnknown_02039D0C
- movs r1, 0
- strb r1, [r0]
- bl sub_80CBB9C
- bl CompactPartySlots
- movs r0, 0x2
- str r0, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x9
- bl sub_80D27AC
- movs r0, 0x2
- bl sub_80D2918
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
-_080CA974:
- movs r0, 0
-_080CA976:
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80CA8C8
-
- thumb_func_start sub_80CA984
-sub_80CA984: @ 80CA984
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- cmp r0, 0
- beq _080CA99E
- movs r0, 0x2
- str r0, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x9
- bl sub_80D27AC
- b _080CA9AC
-_080CA99E:
- movs r0, 0x2
- str r0, [sp]
- movs r1, 0
- movs r2, 0x2
- movs r3, 0x9
- bl sub_80D27AC
-_080CA9AC:
- movs r0, 0x2
- bl sub_80D2918
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80CA984
-
- thumb_func_start sub_80CA9C0
-sub_80CA9C0: @ 80CA9C0
- ldr r2, =gUnknown_02039D08
- ldr r0, [r2]
- ldr r1, =0x000002c7
- adds r0, r1
- movs r3, 0x1
- strb r3, [r0]
- ldr r0, [r2]
- adds r1, 0x1
- adds r0, r1
- movs r1, 0x1E
- strb r1, [r0]
- ldr r0, [r2]
- ldr r1, =0x000002c9
- adds r0, r1
- strb r3, [r0]
- bx lr
- .pool
- thumb_func_end sub_80CA9C0
-
- thumb_func_start sub_80CA9EC
-sub_80CA9EC: @ 80CA9EC
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r2, =0x000002c7
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- beq _080CAA06
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x1
- bl sub_80CA984
-_080CAA06:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CA9EC
-
- thumb_func_start sub_80CAA14
-sub_80CAA14: @ 80CAA14
- push {r4,lr}
- ldr r3, =gUnknown_02039D08
- ldr r1, [r3]
- ldr r2, =0x000002c7
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CAA60
- movs r0, 0xB2
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1E
- bls _080CAA60
- ldr r0, [r3]
- movs r1, 0xB2
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r3]
- movs r2, 0
- ldr r4, =0x000002c9
- adds r1, r0, r4
- ldrb r0, [r1]
- cmp r0, 0
- bne _080CAA54
- movs r2, 0x1
-_080CAA54:
- strb r2, [r1]
- ldr r0, [r3]
- adds r0, r4
- ldrb r0, [r0]
- bl sub_80CA984
-_080CAA60:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CAA14
-
- thumb_func_start sub_80CAA74
-sub_80CAA74: @ 80CAA74
- push {r4,lr}
- movs r4, 0x1
-_080CAA78:
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- negs r1, r0
- orrs r1, r0
- lsrs r1, 31
- adds r0, r4, 0
- bl sub_80CAAA8
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _080CAA78
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CAA74
-
- thumb_func_start sub_80CAAA8
-sub_80CAAA8: @ 80CAAA8
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- ldr r7, =gUnknown_085724BC
- cmp r1, 0
- beq _080CAAB8
- ldr r7, =gUnknown_085724A4
-_080CAAB8:
- subs r0, 0x1
- lsls r1, r0, 1
- adds r1, r0
- adds r1, 0x1
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 18
- movs r1, 0xE0
- lsls r1, 11
- adds r0, r1
- lsrs r3, r0, 16
- movs r0, 0
- ldr r1, =gUnknown_02039D08
- mov r12, r1
-_080CAAD4:
- movs r2, 0
- adds r4, r7, 0
- adds r4, 0x8
- adds r5, r3, 0
- adds r5, 0xC
- adds r6, r0, 0x1
-_080CAAE0:
- mov r0, r12
- ldr r1, [r0]
- adds r0, r3, r2
- lsls r0, 1
- adds r1, 0xB0
- adds r1, r0
- lsls r0, r2, 1
- adds r0, r7
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x3
- bls _080CAAE0
- adds r7, r4, 0
- lsls r0, r5, 16
- lsrs r3, r0, 16
- lsls r0, r6, 16
- lsrs r0, 16
- cmp r0, 0x2
- bls _080CAAD4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CAAA8
-
- thumb_func_start sub_80CAB20
-sub_80CAB20: @ 80CAB20
- push {lr}
- sub sp, 0x4
- bl sub_80CAA74
- movs r0, 0x16
- str r0, [sp]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0xC
- bl sub_80D27AC
- movs r0, 0x1
- bl sub_80D2918
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80CAB20
-
- thumb_func_start sub_80CAB4C
-sub_80CAB4C: @ 80CAB4C
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x000002c6
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x6
- bl PlaySE
- bl sub_80CA7D4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CAB4C
-
- thumb_func_start sub_80CAB70
-sub_80CAB70: @ 80CAB70
- push {r4,r5,lr}
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldr r5, =0x000002c6
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080CABAA
- cmp r0, 0x1
- bgt _080CAB94
- cmp r0, 0
- beq _080CAB9A
- b _080CABD8
- .pool
-_080CAB94:
- cmp r0, 0x2
- beq _080CABD4
- b _080CABD8
-_080CAB9A:
- bl sub_80CA80C
- lsls r0, 24
- cmp r0, 0
- bne _080CABD8
- bl sub_80CDBA0
- b _080CABC4
-_080CABAA:
- bl sub_80CD554
- lsls r0, 24
- cmp r0, 0
- bne _080CABD8
- ldr r0, [r4]
- ldr r1, =0x00000cea
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CABC4
- bl BoxSetMosaic
-_080CABC4:
- ldr r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080CABD8
- .pool
-_080CABD4:
- movs r0, 0
- b _080CABDA
-_080CABD8:
- movs r0, 0x1
-_080CABDA:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80CAB70
-
- thumb_func_start sub_80CABE0
-sub_80CABE0: @ 80CABE0
- push {r4,lr}
- ldr r4, =gUnknown_02039D10
- bl StorageGetCurrentBox
- ldrb r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- beq _080CAC0A
- ldr r0, =0x000008d7
- bl FlagClear
- ldr r4, =0x00004036
- bl StorageGetCurrentBox
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl VarSet
-_080CAC0A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CABE0
-
- thumb_func_start sub_80CAC1C
-sub_80CAC1C: @ 80CAC1C
- push {lr}
- sub sp, 0xC
- movs r1, 0xE8
- lsls r1, 5
- movs r0, 0x8
- bl SetGpuReg
- movs r0, 0x1
- movs r1, 0x2
- movs r2, 0xD0
- bl LoadUserWindowBorderGfx
- movs r0, 0x20
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0xC
- pop {r0}
- bx r0
- thumb_func_end sub_80CAC1C
-
- thumb_func_start sub_80CAC58
-sub_80CAC58: @ 80CAC58
- push {r4-r6,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r6, r0, 24
- bl DynamicPlaceholderTextUtil_Reset
- ldr r1, =gUnknown_0857276C
- lsls r0, r6, 3
- adds r0, r1
- ldrb r0, [r0, 0x4]
- cmp r0, 0x7
- bhi _080CAD30
- lsls r0, 2
- ldr r1, =_080CAC84
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080CAC84:
- .4byte _080CAD30
- .4byte _080CACA4
- .4byte _080CACA4
- .4byte _080CACA4
- .4byte _080CACB8
- .4byte _080CACB8
- .4byte _080CACB8
- .4byte _080CACD0
-_080CACA4:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r0, =0x00000cee
- adds r1, r0
- b _080CACC0
- .pool
-_080CACB8:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r2, =0x000021e0
- adds r1, r2
-_080CACC0:
- movs r0, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- b _080CAD30
- .pool
-_080CACD0:
- bl sub_80D127C
- lsls r0, 24
- cmp r0, 0
- beq _080CACF4
- ldr r0, =gUnknown_02039D08
- ldr r4, [r0]
- ldr r0, =0x000021eb
- adds r4, r0
- bl sub_80D12B8
- adds r1, r0, 0
- adds r0, r4, 0
- b _080CAD00
- .pool
-_080CACF4:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r2, =0x000021eb
- adds r0, r1, r2
- ldr r2, =0x00000d65
- adds r1, r2
-_080CAD00:
- bl StringCopy
- adds r2, r0, 0
- b _080CAD16
- .pool
-_080CAD14:
- adds r2, r1, 0
-_080CAD16:
- subs r1, r2, 0x1
- ldrb r0, [r1]
- cmp r0, 0
- beq _080CAD14
- movs r0, 0xFF
- strb r0, [r2]
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r0, =0x000021eb
- adds r1, r0
- movs r0, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
-_080CAD30:
- ldr r5, =gUnknown_02039D08
- ldr r0, [r5]
- ldr r4, =0x00002190
- adds r0, r4
- ldr r2, =gUnknown_0857276C
- lsls r1, r6, 3
- adds r1, r2
- ldr r1, [r1]
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- movs r0, 0x1
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r2, [r5]
- adds r2, r4
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- movs r0, 0x1
- movs r1, 0x2
- movs r2, 0xE
- bl sub_8098858
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CAC58
-
- thumb_func_start sub_80CAD9C
-sub_80CAD9C: @ 80CAD9C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gUnknown_08572864
- movs r1, 0xB
- movs r2, 0xE
- movs r3, 0
- bl CreateYesNoMenu
- lsls r4, 24
- asrs r4, 24
- adds r0, r4, 0
- bl MoveMenuCursorNoWrapAround
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CAD9C
-
- thumb_func_start sub_80CADC4
-sub_80CADC4: @ 80CADC4
- push {lr}
- movs r0, 0x1
- movs r1, 0
- bl sub_8198070
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- pop {r0}
- bx r0
- thumb_func_end sub_80CADC4
-
- thumb_func_start sub_80CADD8
-sub_80CADD8: @ 80CADD8
- push {lr}
- bl sub_80CFEF0
- movs r0, 0x12
- bl sub_80CFF34
- movs r0, 0x13
- bl sub_80CFF34
- movs r0, 0x14
- bl sub_80CFF34
- movs r0, 0x15
- bl sub_80CFF34
- bl IsWaldaWallpaperUnlocked
- cmp r0, 0
- beq _080CAE04
- movs r0, 0x16
- bl sub_80CFF34
-_080CAE04:
- bl sub_80CFFD0
- pop {r0}
- bx r0
- thumb_func_end sub_80CADD8
-
- thumb_func_start sub_80CAE0C
-sub_80CAE0C: @ 80CAE0C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- bl sub_80CFEF0
- cmp r4, 0x1
- beq _080CAE4A
- cmp r4, 0x1
- bgt _080CAE26
- cmp r4, 0
- beq _080CAE30
- b _080CAE96
-_080CAE26:
- cmp r5, 0x2
- beq _080CAE64
- cmp r5, 0x3
- beq _080CAE7E
- b _080CAE96
-_080CAE30:
- movs r0, 0x17
- bl sub_80CFF34
- movs r0, 0x18
- bl sub_80CFF34
- movs r0, 0x19
- bl sub_80CFF34
- movs r0, 0x1A
- bl sub_80CFF34
- b _080CAE96
-_080CAE4A:
- movs r0, 0x1B
- bl sub_80CFF34
- movs r0, 0x1C
- bl sub_80CFF34
- movs r0, 0x1D
- bl sub_80CFF34
- movs r0, 0x1E
- bl sub_80CFF34
- b _080CAE96
-_080CAE64:
- movs r0, 0x1F
- bl sub_80CFF34
- movs r0, 0x20
- bl sub_80CFF34
- movs r0, 0x21
- bl sub_80CFF34
- movs r0, 0x22
- bl sub_80CFF34
- b _080CAE96
-_080CAE7E:
- movs r0, 0x23
- bl sub_80CFF34
- movs r0, 0x24
- bl sub_80CFF34
- movs r0, 0x25
- bl sub_80CFF34
- movs r0, 0x26
- bl sub_80CFF34
-_080CAE96:
- bl sub_80CFFD0
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80CAE0C
-
- thumb_func_start sub_80CAEA0
-sub_80CAEA0: @ 80CAEA0
- ldr r0, =gUnknown_02039D0D
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80CAEA0
-
- thumb_func_start sub_80CAEAC
-sub_80CAEAC: @ 80CAEAC
- push {lr}
- bl sub_80CEADC
- lsls r0, 24
- cmp r0, 0
- bne _080CAEE8
- ldr r0, =gUnknown_02039D0C
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CAED8
- bl sub_80CFE08
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x1
- bl sub_80D0D8C
- b _080CAEE8
- .pool
-_080CAED8:
- bl sub_80CFE08
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- bl sub_80D0D8C
-_080CAEE8:
- ldr r1, =gUnknown_02039D12
- ldrh r0, [r1]
- cmp r0, 0
- beq _080CAEFA
- bl sub_80D0F38
- movs r0, 0x3
- bl sub_80CFE54
-_080CAEFA:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CAEAC
-
- thumb_func_start sub_80CAF04
-sub_80CAF04: @ 80CAF04
- push {r4-r6,lr}
- bl LoadMonIconPalettes
- movs r2, 0
- ldr r3, =gUnknown_02039D08
- ldr r5, =0x00000b08
- movs r4, 0
- adds r6, r3, 0
-_080CAF14:
- ldr r0, [r3]
- lsls r1, r2, 1
- adds r0, r5
- adds r0, r1
- strh r4, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x27
- bls _080CAF14
- movs r2, 0
- ldr r5, =gUnknown_02039D08
- ldr r4, =0x00000b58
- movs r3, 0
-_080CAF30:
- ldr r0, [r5]
- lsls r1, r2, 1
- adds r0, r4
- adds r0, r1
- strh r3, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x27
- bls _080CAF30
- movs r2, 0
- ldr r5, =gUnknown_02039D08
- movs r4, 0xA7
- lsls r4, 4
- movs r3, 0
-_080CAF4E:
- ldr r0, [r5]
- lsls r1, r2, 2
- adds r0, r4
- adds r0, r1
- str r3, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x5
- bls _080CAF4E
- movs r2, 0
- ldr r5, =gUnknown_02039D08
- ldr r4, =0x00000a88
- movs r3, 0
-_080CAF6A:
- ldr r0, [r5]
- lsls r1, r2, 2
- adds r0, r4
- adds r0, r1
- str r3, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x1D
- bls _080CAF6A
- ldr r0, [r6]
- ldr r2, =0x00000a6c
- adds r1, r0, r2
- movs r2, 0
- str r2, [r1]
- ldr r1, =0x0000078c
- adds r0, r1
- strh r2, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CAF04
-
- thumb_func_start sub_80CAFAC
-sub_80CAFAC: @ 80CAFAC
- push {lr}
- bl sub_80CEB24
- lsls r0, 24
- movs r1, 0x1
- cmp r0, 0
- beq _080CAFBC
- movs r1, 0x2
-_080CAFBC:
- adds r0, r1, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80CAFAC
-
- thumb_func_start sub_80CAFC4
-sub_80CAFC4: @ 80CAFC4
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r5, =gUnknown_02039D08
- ldr r0, [r5]
- ldr r4, =0x000020a4
- adds r0, r4
- movs r1, 0
- bl GetMonData
- adds r6, r0, 0
- ldr r0, [r5]
- adds r0, r4
- movs r1, 0x41
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- bl sub_80CAFAC
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- movs r0, 0x7
- str r0, [sp, 0x4]
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0
- bl sub_80CC230
- ldr r1, [r5]
- ldr r2, =0x00000a6c
- adds r1, r2
- str r0, [r1]
- ldr r1, =sub_80CC100
- str r1, [r0, 0x1C]
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CAFC4
-
- thumb_func_start sub_80CB028
-sub_80CB028: @ 80CB028
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r0, 0
- mov r8, r0
- movs r6, 0
- movs r7, 0
-_080CB042:
- movs r5, 0
- adds r1, r7, 0x1
- mov r10, r1
-_080CB048:
- mov r0, r9
- adds r1, r6, 0
- movs r2, 0x41
- bl GetBoxMonDataFromAnyBox
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _080CB0B0
- mov r0, r9
- adds r1, r6, 0
- movs r2, 0
- bl GetBoxMonDataFromAnyBox
- adds r1, r0, 0
- lsls r2, r5, 1
- adds r2, r5
- lsls r2, 19
- movs r3, 0xC8
- lsls r3, 15
- adds r2, r3
- asrs r2, 16
- lsls r3, r7, 1
- adds r3, r7
- lsls r3, 19
- movs r0, 0xB0
- lsls r0, 14
- adds r3, r0
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x13
- subs r0, r5
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- adds r0, r4, 0
- asrs r3, 16
- bl sub_80CC230
- ldr r1, =gUnknown_02039D08
- ldr r1, [r1]
- mov r3, r8
- lsls r2, r3, 2
- ldr r3, =0x00000a88
- adds r1, r3
- adds r1, r2
- str r0, [r1]
- b _080CB0C0
- .pool
-_080CB0B0:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- mov r2, r8
- lsls r1, r2, 2
- ldr r3, =0x00000a88
- adds r0, r3
- adds r0, r1
- str r4, [r0]
-_080CB0C0:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _080CB048
- mov r1, r10
- lsls r0, r1, 16
- lsrs r7, r0, 16
- cmp r7, 0x4
- bls _080CB042
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080CB126
- movs r6, 0
- movs r2, 0xD
- negs r2, r2
- adds r4, r2, 0
-_080CB0F6:
- mov r0, r9
- adds r1, r6, 0
- movs r2, 0xC
- bl GetBoxMonDataFromAnyBox
- cmp r0, 0
- bne _080CB11C
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r3, =0x00000a88
- adds r0, r3
- adds r0, r1
- ldr r2, [r0]
- ldrb r0, [r2, 0x1]
- ands r0, r4
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x1]
-_080CB11C:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x1D
- bls _080CB0F6
-_080CB126:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CB028
-
- thumb_func_start sub_80CB140
-sub_80CB140: @ 80CB140
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r7, 0
- movs r1, 0x41
- bl GetBoxMonDataFromSelectedBox
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r0, 0
- beq _080CB1DA
- adds r0, r7, 0
- movs r1, 0x6
- bl __umodsi3
- adds r6, r0, 0
- lsls r0, r6, 24
- lsrs r0, 24
- lsls r5, r0, 1
- adds r5, r0
- lsls r5, 19
- movs r0, 0xC8
- lsls r0, 15
- adds r5, r0
- lsrs r5, 16
- adds r0, r7, 0
- movs r1, 0x6
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 1
- adds r4, r0
- lsls r4, 19
- movs r0, 0xB0
- lsls r0, 14
- adds r4, r0
- lsrs r4, 16
- adds r0, r7, 0
- movs r1, 0
- bl GetBoxMonDataFromSelectedBox
- adds r1, r0, 0
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x13
- subs r0, r6
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- mov r0, r8
- adds r2, r5, 0
- adds r3, r4, 0
- bl sub_80CC230
- adds r3, r0, 0
- ldr r0, =gUnknown_02039D08
- ldr r2, [r0]
- lsls r1, r7, 2
- ldr r4, =0x00000a88
- adds r0, r2, r4
- adds r0, r1
- str r3, [r0]
- ldrb r0, [r2, 0x1]
- cmp r0, 0x3
- bne _080CB1DA
- ldrb r0, [r3, 0x1]
- movs r1, 0xD
- negs r1, r1
- ands r1, r0
- movs r0, 0x4
- orrs r1, r0
- strb r1, [r3, 0x1]
-_080CB1DA:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CB140
-
- thumb_func_start sub_80CB1F0
-sub_80CB1F0: @ 80CB1F0
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- movs r2, 0
- ldr r7, =gUnknown_02039D08
- ldr r6, =0x00000a88
- movs r5, 0x1
- ldr r4, =sub_80CB278
-_080CB200:
- ldr r0, [r7]
- lsls r1, r2, 2
- adds r0, r6
- adds r1, r0, r1
- ldr r0, [r1]
- cmp r0, 0
- beq _080CB218
- strh r3, [r0, 0x32]
- ldr r0, [r1]
- strh r5, [r0, 0x36]
- ldr r0, [r1]
- str r4, [r0, 0x1C]
-_080CB218:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x1D
- bls _080CB200
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CB1F0
-
- thumb_func_start sub_80CB234
-sub_80CB234: @ 80CB234
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x30]
- movs r3, 0x30
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _080CB250
- subs r0, r1, 0x1
- strh r0, [r2, 0x30]
- ldrh r0, [r2, 0x32]
- ldrh r1, [r2, 0x20]
- adds r0, r1
- strh r0, [r2, 0x20]
- b _080CB266
-_080CB250:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r3, =0x00000c66
- adds r1, r3
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- ldrh r0, [r2, 0x34]
- strh r0, [r2, 0x20]
- ldr r0, =SpriteCallbackDummy
- str r0, [r2, 0x1C]
-_080CB266:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CB234
-
- thumb_func_start sub_80CB278
-sub_80CB278: @ 80CB278
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x36]
- movs r3, 0x36
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _080CB28C
- subs r0, r1, 0x1
- strh r0, [r2, 0x36]
- b _080CB2A8
-_080CB28C:
- ldrh r0, [r2, 0x32]
- ldrh r1, [r2, 0x20]
- adds r0, r1
- strh r0, [r2, 0x20]
- ldrh r1, [r2, 0x24]
- adds r0, r1
- strh r0, [r2, 0x38]
- subs r0, 0x45
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xB6
- bls _080CB2A8
- ldr r0, =SpriteCallbackDummy
- str r0, [r2, 0x1C]
-_080CB2A8:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CB278
-
- thumb_func_start sub_80CB2B0
-sub_80CB2B0: @ 80CB2B0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0
- ldr r7, =gUnknown_02039D08
-_080CB2BA:
- ldr r0, [r7]
- lsls r4, r5, 2
- ldr r1, =0x00000a88
- adds r0, r1
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- beq _080CB2DA
- bl sub_80CC314
- ldr r0, [r7]
- ldr r1, =0x00000a88
- adds r0, r1
- adds r0, r4
- movs r1, 0
- str r1, [r0]
-_080CB2DA:
- adds r0, r5, 0x6
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x4
- bls _080CB2BA
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CB2B0
-
- thumb_func_start sub_80CB2F8
-sub_80CB2F8: @ 80CB2F8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp, 0x8]
- lsls r2, 16
- movs r1, 0x2C
- mov r8, r1
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 19
- movs r3, 0xC8
- lsls r3, 15
- adds r1, r3
- lsrs r1, 16
- str r1, [sp, 0x10]
- ldr r1, [sp, 0x8]
- adds r1, 0x1
- lsrs r6, r2, 16
- str r6, [sp, 0xC]
- asrs r2, 16
- muls r1, r2
- ldr r2, [sp, 0x10]
- subs r1, r2, r1
- lsls r1, 16
- lsrs r2, r1, 16
- movs r1, 0x13
- subs r1, r0
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x14]
- movs r3, 0
- mov r9, r3
- adds r5, r0, 0
- ldr r1, =gUnknown_02039D08
- ldr r0, [r1]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- beq _080CB3F0
- movs r7, 0x4
- lsls r2, 16
- mov r10, r2
-_080CB358:
- ldr r6, =gUnknown_02039D08
- ldr r2, [r6]
- lsls r0, r5, 1
- ldr r3, =0x00000ba8
- adds r1, r2, r3
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- beq _080CB3C2
- lsls r4, r5, 2
- ldr r6, =0x00000be4
- adds r1, r2, r6
- adds r1, r4
- ldr r1, [r1]
- mov r2, r8
- lsls r3, r2, 16
- asrs r3, 16
- movs r2, 0x2
- str r2, [sp]
- ldr r6, [sp, 0x14]
- str r6, [sp, 0x4]
- mov r6, r10
- asrs r2, r6, 16
- bl sub_80CC230
- adds r2, r0, 0
- ldr r1, =gUnknown_02039D08
- ldr r0, [r1]
- ldr r3, =0x00000a88
- adds r0, r3
- adds r1, r0, r4
- str r2, [r1]
- cmp r2, 0
- beq _080CB3C2
- mov r6, sp
- ldrh r6, [r6, 0x8]
- strh r6, [r2, 0x30]
- ldr r0, [r1]
- mov r2, sp
- ldrh r2, [r2, 0xC]
- strh r2, [r0, 0x32]
- ldr r0, [r1]
- mov r3, sp
- ldrh r3, [r3, 0x10]
- strh r3, [r0, 0x34]
- ldr r1, [r1]
- ldr r0, =sub_80CB234
- str r0, [r1, 0x1C]
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
-_080CB3C2:
- adds r0, r5, 0x6
- lsls r0, 24
- lsrs r5, r0, 24
- mov r0, r8
- adds r0, 0x18
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- subs r7, 0x1
- cmp r7, 0
- bge _080CB358
- b _080CB4A6
- .pool
-_080CB3F0:
- mov r10, r1
- movs r7, 0x4
- lsls r2, 16
- str r2, [sp, 0x18]
-_080CB3F8:
- mov r6, r10
- ldr r2, [r6]
- lsls r0, r5, 1
- ldr r3, =0x00000ba8
- adds r1, r2, r3
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- beq _080CB490
- lsls r4, r5, 2
- ldr r6, =0x00000be4
- adds r1, r2, r6
- adds r1, r4
- ldr r1, [r1]
- mov r2, r8
- lsls r3, r2, 16
- asrs r3, 16
- movs r2, 0x2
- str r2, [sp]
- ldr r6, [sp, 0x14]
- str r6, [sp, 0x4]
- ldr r6, [sp, 0x18]
- asrs r2, r6, 16
- bl sub_80CC230
- adds r2, r0, 0
- mov r0, r10
- ldr r3, [r0]
- ldr r1, =0x00000a88
- adds r0, r3, r1
- adds r1, r0, r4
- str r2, [r1]
- cmp r2, 0
- beq _080CB490
- mov r6, sp
- ldrh r6, [r6, 0x8]
- strh r6, [r2, 0x30]
- ldr r0, [r1]
- mov r2, sp
- ldrh r2, [r2, 0xC]
- strh r2, [r0, 0x32]
- ldr r0, [r1]
- mov r6, sp
- ldrh r6, [r6, 0x10]
- strh r6, [r0, 0x34]
- ldr r1, [r1]
- ldr r0, =sub_80CB234
- str r0, [r1, 0x1C]
- ldr r1, =0x00000c5c
- adds r0, r3, r1
- ldrb r0, [r0]
- adds r1, r5, 0
- movs r2, 0xC
- bl GetBoxMonDataFromAnyBox
- cmp r0, 0
- bne _080CB486
- mov r2, r10
- ldr r0, [r2]
- ldr r3, =0x00000a88
- adds r0, r3
- adds r0, r4
- ldr r2, [r0]
- ldrb r1, [r2, 0x1]
- movs r6, 0xD
- negs r6, r6
- adds r0, r6, 0
- ands r1, r0
- movs r0, 0x4
- orrs r1, r0
- strb r1, [r2, 0x1]
-_080CB486:
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
-_080CB490:
- adds r0, r5, 0x6
- lsls r0, 24
- lsrs r5, r0, 24
- mov r0, r8
- adds r0, 0x18
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- subs r7, 0x1
- cmp r7, 0
- bge _080CB3F8
-_080CB4A6:
- mov r0, r9
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80CB2F8
-
- thumb_func_start sub_80CB4CC
-sub_80CB4CC: @ 80CB4CC
- push {r4-r7,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r6, =gUnknown_02039D08
- ldr r1, [r6]
- ldr r2, =0x00000c6a
- adds r1, r2
- movs r5, 0
- strb r5, [r1]
- ldr r1, [r6]
- ldr r3, =0x00000c6b
- adds r1, r3
- strb r0, [r1]
- ldr r1, [r6]
- ldr r7, =0x00000c69
- adds r1, r7
- strb r4, [r1]
- ldr r3, [r6]
- movs r1, 0xC6
- lsls r1, 4
- adds r2, r3, r1
- movs r1, 0x20
- strh r1, [r2]
- lsls r4, 24
- asrs r4, 24
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 1
- negs r1, r1
- subs r7, 0x5
- adds r2, r3, r7
- strh r1, [r2]
- ldr r1, =0x00000c66
- adds r3, r1
- strh r5, [r3]
- bl sub_80CB6F0
- cmp r4, 0
- ble _080CB544
- ldr r0, [r6]
- ldr r2, =0x00000c68
- adds r0, r2
- movs r1, 0
- b _080CB54C
- .pool
-_080CB544:
- ldr r0, [r6]
- ldr r3, =0x00000c68
- adds r0, r3
- movs r1, 0x5
-_080CB54C:
- strb r1, [r0]
- ldr r0, =gUnknown_02039D08
- ldr r2, [r0]
- ldr r7, =0x00000c68
- adds r0, r2, r7
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, 0x64
- ldr r3, =0x00000c62
- adds r1, r2, r3
- strh r0, [r1]
- subs r7, 0x4
- adds r2, r7
- movs r1, 0
- ldrsh r0, [r2, r1]
- bl sub_80CB1F0
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CB4CC
-
- thumb_func_start sub_80CB584
-sub_80CB584: @ 80CB584
- push {r4-r6,lr}
- ldr r5, =gUnknown_02039D08
- ldr r0, [r5]
- movs r4, 0xC6
- lsls r4, 4
- adds r1, r0, r4
- ldrh r0, [r1]
- cmp r0, 0
- beq _080CB59A
- subs r0, 0x1
- strh r0, [r1]
-_080CB59A:
- ldr r3, [r5]
- ldr r6, =0x00000c6a
- adds r0, r3, r6
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080CB61C
- cmp r0, 0x1
- bgt _080CB5B8
- cmp r0, 0
- beq _080CB5C0
- b _080CB6DE
- .pool
-_080CB5B8:
- cmp r0, 0x2
- bne _080CB5BE
- b _080CB6CC
-_080CB5BE:
- b _080CB6DE
-_080CB5C0:
- ldr r0, =0x00000c62
- adds r1, r3, r0
- ldr r2, =0x00000c64
- adds r0, r3, r2
- ldrh r0, [r0]
- ldrh r2, [r1]
- adds r0, r2
- strh r0, [r1]
- subs r0, 0x41
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xBA
- bhi _080CB5DC
- b _080CB6E8
-_080CB5DC:
- ldr r1, =0x00000c68
- adds r0, r3, r1
- ldrb r0, [r0]
- bl sub_80CB2B0
- ldr r2, [r5]
- ldr r0, =0x00000c62
- adds r3, r2, r0
- ldr r1, =0x00000c69
- adds r0, r2, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- ldrh r1, [r3]
- adds r0, r1
- strh r0, [r3]
- adds r2, r6
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- b _080CB6E8
- .pool
-_080CB61C:
- ldr r2, =0x00000c62
- adds r1, r3, r2
- ldr r6, =0x00000c64
- adds r2, r3, r6
- ldrh r0, [r2]
- ldrh r6, [r1]
- adds r0, r6
- strh r0, [r1]
- ldr r6, =0x00000c68
- adds r0, r3, r6
- ldrb r0, [r0]
- adds r1, r3, r4
- ldrh r1, [r1]
- movs r3, 0
- ldrsh r2, [r2, r3]
- bl sub_80CB2F8
- ldr r2, [r5]
- ldr r3, =0x00000c66
- adds r1, r2, r3
- lsls r0, 24
- lsrs r0, 24
- ldrh r3, [r1]
- adds r0, r3
- strh r0, [r1]
- ldr r1, =0x00000c69
- adds r0, r2, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- cmp r1, 0
- ble _080CB662
- adds r0, r2, r6
- ldrb r0, [r0]
- cmp r0, 0x5
- beq _080CB66E
-_080CB662:
- cmp r1, 0
- bge _080CB69C
- adds r0, r2, r6
- ldrb r0, [r0]
- cmp r0, 0
- bne _080CB69C
-_080CB66E:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r2, =0x00000c6a
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080CB6E8
- .pool
-_080CB69C:
- ldr r3, =gUnknown_02039D08
- ldr r0, [r3]
- ldr r6, =0x00000c68
- adds r1, r0, r6
- ldr r2, =0x00000c69
- adds r0, r2
- ldrb r0, [r0]
- ldrb r6, [r1]
- adds r0, r6
- movs r2, 0
- strb r0, [r1]
- ldr r0, [r3]
- ldr r1, =0x00000c6a
- adds r0, r1
- strb r2, [r0]
- b _080CB6E8
- .pool
-_080CB6CC:
- ldr r2, =0x00000c66
- adds r0, r3, r2
- ldrh r0, [r0]
- cmp r0, 0
- bne _080CB6E8
- adds r1, r3, r4
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080CB6DE:
- movs r0, 0
- b _080CB6EA
- .pool
-_080CB6E8:
- movs r0, 0x1
-_080CB6EA:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80CB584
-
- thumb_func_start sub_80CB6F0
-sub_80CB6F0: @ 80CB6F0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- movs r0, 0
- ldr r1, =gUnknown_02039D08
- mov r9, r1
-_080CB704:
- adds r0, 0x1
- mov r8, r0
- movs r7, 0x5
-_080CB70A:
- lsls r0, r5, 24
- lsrs r4, r0, 24
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0x41
- bl GetBoxMonDataFromAnyBox
- mov r2, r9
- ldr r1, [r2]
- lsls r2, r5, 1
- ldr r3, =0x00000ba8
- adds r1, r3
- adds r1, r2
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- beq _080CB744
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0
- bl GetBoxMonDataFromAnyBox
- mov r2, r9
- ldr r1, [r2]
- lsls r2, r5, 2
- ldr r3, =0x00000be4
- adds r1, r3
- adds r1, r2
- str r0, [r1]
-_080CB744:
- adds r5, 0x1
- subs r7, 0x1
- cmp r7, 0
- bge _080CB70A
- mov r0, r8
- cmp r0, 0x4
- ble _080CB704
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00000c5c
- adds r0, r1
- strb r6, [r0]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CB6F0
-
- thumb_func_start sub_80CB778
-sub_80CB778: @ 80CB778
- push {r4,r5,lr}
- lsls r0, 24
- ldr r5, =gUnknown_02039D08
- ldr r1, [r5]
- lsrs r4, r0, 22
- ldr r0, =0x00000a88
- adds r1, r0
- adds r1, r4
- ldr r0, [r1]
- cmp r0, 0
- beq _080CB79E
- bl sub_80CC314
- ldr r0, [r5]
- ldr r1, =0x00000a88
- adds r0, r1
- adds r0, r4
- movs r1, 0
- str r1, [r0]
-_080CB79E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CB778
-
- thumb_func_start sub_80CB7AC
-sub_80CB7AC: @ 80CB7AC
- push {lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r2, r1, 24
- ldr r1, =gUnknown_02039D08
- ldr r1, [r1]
- lsrs r0, 22
- ldr r3, =0x00000a88
- adds r1, r3
- adds r1, r0
- ldr r3, [r1]
- cmp r3, 0
- beq _080CB7DA
- movs r0, 0x3
- adds r1, r2, 0
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x1]
-_080CB7DA:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CB7AC
-
- thumb_func_start sub_80CB7E8
-sub_80CB7E8: @ 80CB7E8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r4, =gPlayerParty
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- adds r1, r0, 0
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xC
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r2, 0x68
- movs r3, 0x40
- bl sub_80CC230
- ldr r1, =gUnknown_02039D08
- ldr r1, [r1]
- movs r2, 0xA7
- lsls r2, 4
- adds r1, r2
- str r0, [r1]
- movs r7, 0x1
- movs r6, 0x1
-_080CB830:
- movs r0, 0x64
- adds r1, r6, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- beq _080CB894
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- adds r1, r0, 0
- subs r0, r6, 0x1
- lsls r3, r0, 1
- adds r3, r0
- lsls r3, 19
- movs r0, 0x80
- lsls r0, 13
- adds r3, r0
- asrs r3, 16
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xC
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r2, 0x98
- bl sub_80CC230
- ldr r1, =gUnknown_02039D08
- ldr r1, [r1]
- lsls r2, r6, 2
- movs r3, 0xA7
- lsls r3, 4
- adds r1, r3
- adds r1, r2
- str r0, [r1]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- b _080CB8A4
- .pool
-_080CB894:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- lsls r1, r6, 2
- movs r2, 0xA7
- lsls r2, 4
- adds r0, r2
- adds r0, r1
- str r5, [r0]
-_080CB8A4:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x5
- bls _080CB830
- ldr r3, =gUnknown_02039D08
- mov r0, r8
- cmp r0, 0
- bne _080CB8EA
- movs r6, 0
- cmp r6, r7
- bcs _080CB8EA
- mov r12, r3
- movs r5, 0xA7
- lsls r5, 4
- movs r4, 0x4
-_080CB8C4:
- mov r2, r12
- ldr r1, [r2]
- lsls r0, r6, 2
- adds r1, r5
- adds r1, r0
- ldr r2, [r1]
- ldrh r0, [r2, 0x22]
- subs r0, 0xA0
- strh r0, [r2, 0x22]
- ldr r1, [r1]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r4
- strb r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, r7
- bcc _080CB8C4
-_080CB8EA:
- ldr r0, [r3]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080CB93C
- movs r6, 0
- adds r7, r3, 0
- movs r5, 0xA7
- lsls r5, 4
-_080CB8FA:
- ldr r0, [r7]
- lsls r4, r6, 2
- adds r0, r5
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- beq _080CB932
- movs r0, 0x64
- muls r0, r6
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xC
- bl GetMonData
- cmp r0, 0
- bne _080CB932
- ldr r0, [r7]
- adds r0, r5
- adds r0, r4
- ldr r2, [r0]
- ldrb r1, [r2, 0x1]
- movs r3, 0xD
- negs r3, r3
- adds r0, r3, 0
- ands r1, r0
- movs r0, 0x4
- orrs r1, r0
- strb r1, [r2, 0x1]
-_080CB932:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x5
- bls _080CB8FA
-_080CB93C:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CB7E8
-
- thumb_func_start sub_80CB950
-sub_80CB950: @ 80CB950
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r2, =0x00000c5e
- adds r1, r2
- movs r2, 0
- strb r2, [r1]
- movs r5, 0
- movs r6, 0
- adds r3, r0, 0
- movs r7, 0xA7
- lsls r7, 4
-_080CB96A:
- ldr r0, [r3]
- lsls r4, r5, 2
- adds r0, r7
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- beq _080CB9A0
- cmp r5, r6
- beq _080CB99A
- adds r1, r6, 0
- str r3, [sp]
- bl sub_80CB9D0
- ldr r3, [sp]
- ldr r2, [r3]
- adds r0, r2, r7
- adds r0, r4
- movs r1, 0
- str r1, [r0]
- ldr r0, =0x00000c5e
- adds r2, r0
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
-_080CB99A:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_080CB9A0:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _080CB96A
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CB950
-
- thumb_func_start sub_80CB9BC
-sub_80CB9BC: @ 80CB9BC
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00000c5e
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80CB9BC
-
- thumb_func_start sub_80CB9D0
-sub_80CB9D0: @ 80CB9D0
- push {r4,lr}
- adds r2, r0, 0
- lsls r1, 16
- lsrs r1, 16
- strh r1, [r2, 0x30]
- cmp r1, 0
- bne _080CB9E4
- movs r3, 0x68
- movs r4, 0x40
- b _080CB9F6
-_080CB9E4:
- movs r3, 0x98
- subs r1, 0x1
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 19
- movs r1, 0x80
- lsls r1, 13
- adds r0, r1
- lsrs r4, r0, 16
-_080CB9F6:
- ldrh r0, [r2, 0x20]
- lsls r0, 3
- strh r0, [r2, 0x32]
- ldrh r0, [r2, 0x22]
- lsls r0, 3
- strh r0, [r2, 0x34]
- lsls r1, r3, 3
- movs r3, 0x32
- ldrsh r0, [r2, r3]
- subs r0, r1, r0
- cmp r0, 0
- bge _080CBA10
- adds r0, 0x7
-_080CBA10:
- asrs r0, 3
- strh r0, [r2, 0x36]
- lsls r0, r4, 16
- asrs r0, 13
- movs r3, 0x34
- ldrsh r1, [r2, r3]
- subs r0, r1
- cmp r0, 0
- bge _080CBA24
- adds r0, 0x7
-_080CBA24:
- asrs r0, 3
- strh r0, [r2, 0x38]
- movs r0, 0x8
- strh r0, [r2, 0x3A]
- ldr r0, =sub_80CBA3C
- str r0, [r2, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CB9D0
-
- thumb_func_start sub_80CBA3C
-sub_80CBA3C: @ 80CBA3C
- push {r4,lr}
- adds r3, r0, 0
- ldrh r2, [r3, 0x3A]
- movs r1, 0x3A
- ldrsh r0, [r3, r1]
- cmp r0, 0
- beq _080CBA6C
- ldrh r0, [r3, 0x36]
- ldrh r4, [r3, 0x32]
- adds r0, r4
- strh r0, [r3, 0x32]
- ldrh r1, [r3, 0x38]
- ldrh r4, [r3, 0x34]
- adds r1, r4
- strh r1, [r3, 0x34]
- lsls r0, 16
- asrs r0, 19
- strh r0, [r3, 0x20]
- lsls r1, 16
- asrs r1, 19
- strh r1, [r3, 0x22]
- subs r0, r2, 0x1
- strh r0, [r3, 0x3A]
- b _080CBAB2
-_080CBA6C:
- movs r1, 0x30
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _080CBA7C
- movs r0, 0x68
- strh r0, [r3, 0x20]
- movs r0, 0x40
- b _080CBA8E
-_080CBA7C:
- movs r0, 0x98
- strh r0, [r3, 0x20]
- movs r4, 0x30
- ldrsh r1, [r3, r4]
- subs r1, 0x1
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, 0x10
-_080CBA8E:
- strh r0, [r3, 0x22]
- ldr r0, =SpriteCallbackDummy
- str r0, [r3, 0x1C]
- ldr r0, =gUnknown_02039D08
- ldr r2, [r0]
- movs r0, 0x30
- ldrsh r1, [r3, r0]
- lsls r1, 2
- movs r4, 0xA7
- lsls r4, 4
- adds r0, r2, r4
- adds r0, r1
- str r3, [r0]
- ldr r0, =0x00000c5e
- adds r2, r0
- ldrb r0, [r2]
- subs r0, 0x1
- strb r0, [r2]
-_080CBAB2:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CBA3C
-
- thumb_func_start sub_80CBAC4
-sub_80CBAC4: @ 80CBAC4
- push {r4,lr}
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldr r1, =0x00000a6c
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _080CBAE2
- bl sub_80CC314
- ldr r0, [r4]
- ldr r1, =0x00000a6c
- adds r0, r1
- movs r1, 0
- str r1, [r0]
-_080CBAE2:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CBAC4
-
- thumb_func_start sub_80CBAF0
-sub_80CBAF0: @ 80CBAF0
- push {r4-r6,lr}
- movs r3, 0
- ldr r6, =gUnknown_02039D08
- lsls r0, 16
- asrs r4, r0, 16
- movs r5, 0x5
- negs r5, r5
-_080CBAFE:
- ldr r0, [r6]
- lsls r1, r3, 2
- movs r2, 0xA7
- lsls r2, 4
- adds r0, r2
- adds r2, r0, r1
- ldr r1, [r2]
- cmp r1, 0
- beq _080CBB56
- ldrh r0, [r1, 0x22]
- adds r0, r4, r0
- strh r0, [r1, 0x22]
- ldr r2, [r2]
- ldrh r1, [r2, 0x26]
- ldrh r0, [r2, 0x22]
- adds r1, r0
- adds r0, r2, 0
- adds r0, 0x29
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r0, r1
- lsls r0, 16
- movs r1, 0x80
- lsls r1, 13
- adds r0, r1
- lsrs r0, 16
- cmp r0, 0xC0
- bls _080CBB4C
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _080CBB56
- .pool
-_080CBB4C:
- adds r2, 0x3E
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- strb r0, [r2]
-_080CBB56:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x5
- bls _080CBAFE
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80CBAF0
-
- thumb_func_start sub_80CBB68
-sub_80CBB68: @ 80CBB68
- push {r4,r5,lr}
- lsls r0, 24
- ldr r5, =gUnknown_02039D08
- ldr r1, [r5]
- lsrs r4, r0, 22
- movs r0, 0xA7
- lsls r0, 4
- adds r1, r0
- adds r1, r4
- ldr r0, [r1]
- cmp r0, 0
- beq _080CBB92
- bl sub_80CC314
- ldr r0, [r5]
- movs r1, 0xA7
- lsls r1, 4
- adds r0, r1
- adds r0, r4
- movs r1, 0
- str r1, [r0]
-_080CBB92:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CBB68
-
- thumb_func_start sub_80CBB9C
-sub_80CBB9C: @ 80CBB9C
- push {r4-r6,lr}
- movs r5, 0
- ldr r6, =gUnknown_02039D08
-_080CBBA2:
- ldr r0, [r6]
- lsls r4, r5, 2
- movs r1, 0xA7
- lsls r1, 4
- adds r0, r1
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- beq _080CBBC6
- bl sub_80CC314
- ldr r0, [r6]
- movs r1, 0xA7
- lsls r1, 4
- adds r0, r1
- adds r0, r4
- movs r1, 0
- str r1, [r0]
-_080CBBC6:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _080CBBA2
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CBB9C
-
- thumb_func_start sub_80CBBDC
-sub_80CBBDC: @ 80CBBDC
- push {lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r2, r1, 24
- ldr r1, =gUnknown_02039D08
- ldr r1, [r1]
- lsrs r0, 22
- movs r3, 0xA7
- lsls r3, 4
- adds r1, r3
- adds r1, r0
- ldr r3, [r1]
- cmp r3, 0
- beq _080CBC0C
- movs r0, 0x3
- adds r1, r2, 0
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x1]
-_080CBC0C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CBBDC
-
- thumb_func_start sub_80CBC14
-sub_80CBC14: @ 80CBC14
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r1, 24
- adds r5, r1, 0
- cmp r4, 0
- bne _080CBC44
- ldr r3, =gUnknown_02039D08
- ldr r0, [r3]
- ldr r5, =0x00000a6c
- adds r2, r0, r5
- lsls r1, 2
- adds r5, 0x4
- adds r0, r5
- adds r0, r1
- ldr r1, [r0]
- str r1, [r2]
- str r4, [r0]
- b _080CBC60
- .pool
-_080CBC44:
- cmp r4, 0x1
- bne _080CBC96
- ldr r3, =gUnknown_02039D08
- ldr r0, [r3]
- ldr r1, =0x00000a6c
- adds r2, r0, r1
- lsls r1, r5, 2
- ldr r4, =0x00000a88
- adds r0, r4
- adds r0, r1
- ldr r1, [r0]
- str r1, [r2]
- movs r1, 0
- str r1, [r0]
-_080CBC60:
- adds r5, r3, 0
- ldr r0, [r5]
- ldr r4, =0x00000a6c
- adds r0, r4
- ldr r1, [r0]
- ldr r0, =sub_80CC100
- str r0, [r1, 0x1C]
- bl sub_80CAFAC
- ldr r1, [r5]
- adds r1, r4
- ldr r3, [r1]
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x5]
- ldr r0, [r5]
- adds r0, r4
- ldr r0, [r0]
- adds r0, 0x43
- movs r1, 0x7
- strb r1, [r0]
-_080CBC96:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CBC14
-
- thumb_func_start sub_80CBCAC
-sub_80CBCAC: @ 80CBCAC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- cmp r0, 0xE
- bne _080CBCF8
- ldr r3, =gUnknown_02039D08
- ldr r1, [r3]
- lsls r5, r6, 2
- movs r4, 0xA7
- lsls r4, 4
- adds r0, r1, r4
- adds r0, r5
- ldr r2, =0x00000a6c
- adds r1, r2
- ldr r2, [r1]
- str r2, [r0]
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r0, [r3]
- adds r0, r4
- adds r0, r5
- ldr r0, [r0]
- adds r0, 0x43
- movs r1, 0xC
- strb r1, [r0]
- b _080CBD34
- .pool
-_080CBCF8:
- ldr r5, =gUnknown_02039D08
- ldr r1, [r5]
- lsls r4, r6, 2
- ldr r3, =0x00000a88
- adds r0, r1, r3
- adds r0, r4
- ldr r2, =0x00000a6c
- adds r1, r2
- ldr r2, [r1]
- str r2, [r0]
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r0, [r5]
- adds r0, r3
- adds r0, r4
- ldr r4, [r0]
- adds r0, r6, 0
- movs r1, 0x6
- bl __umodsi3
- movs r1, 0x13
- subs r1, r0
- adds r4, 0x43
- strb r1, [r4]
- adds r3, r5, 0
-_080CBD34:
- ldr r1, [r3]
- ldr r0, =0x00000a6c
- adds r1, r0
- ldr r2, [r1]
- ldr r0, =SpriteCallbackDummy
- str r0, [r2, 0x1C]
- movs r0, 0
- str r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CBCAC
-
- thumb_func_start sub_80CBD5C
-sub_80CBD5C: @ 80CBD5C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r0, 0xE
- bne _080CBD80
- ldr r3, =gUnknown_02039D08
- ldr r1, [r3]
- movs r0, 0xB0
- lsls r0, 4
- adds r2, r1, r0
- lsls r0, r4, 2
- movs r4, 0xA7
- lsls r4, 4
- b _080CBD8E
- .pool
-_080CBD80:
- ldr r3, =gUnknown_02039D08
- ldr r1, [r3]
- movs r0, 0xB0
- lsls r0, 4
- adds r2, r1, r0
- lsls r0, r4, 2
- ldr r4, =0x00000a88
-_080CBD8E:
- adds r0, r4
- adds r1, r0
- str r1, [r2]
- ldr r1, [r3]
- ldr r2, =0x00000a6c
- adds r0, r1, r2
- ldr r2, [r0]
- ldr r0, =SpriteCallbackDummy
- str r0, [r2, 0x1C]
- ldr r4, =0x00000c5d
- adds r1, r4
- movs r0, 0
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CBD5C
-
- thumb_func_start sub_80CBDC4
-sub_80CBDC4: @ 80CBDC4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r6, =gUnknown_02039D08
- ldr r0, [r6]
- ldr r1, =0x00000c5d
- mov r9, r1
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0x10
- bne _080CBDE8
- movs r0, 0
- b _080CBEF4
- .pool
-_080CBDE8:
- adds r0, 0x1
- strb r0, [r1]
- ldr r2, [r6]
- ldr r5, =0x00000c5d
- adds r0, r2, r5
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080CBE18
- movs r1, 0xB0
- lsls r1, 4
- adds r0, r2, r1
- ldr r0, [r0]
- ldr r1, [r0]
- ldrh r0, [r1, 0x22]
- subs r0, 0x1
- strh r0, [r1, 0x22]
- ldr r5, =0x00000a6c
- adds r0, r2, r5
- ldr r1, [r0]
- ldrh r0, [r1, 0x22]
- adds r0, 0x1
- strh r0, [r1, 0x22]
-_080CBE18:
- ldr r3, [r6]
- movs r7, 0xB0
- lsls r7, 4
- adds r4, r3, r7
- ldr r0, [r4]
- ldr r0, [r0]
- mov r8, r0
- ldr r5, =gSineTable
- mov r0, r9
- adds r1, r3, r0
- ldrb r0, [r1]
- lsls r0, 4
- adds r0, r5
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bge _080CBE3C
- adds r0, 0xF
-_080CBE3C:
- asrs r0, 4
- mov r2, r8
- strh r0, [r2, 0x24]
- ldr r0, =0x00000a6c
- mov r8, r0
- add r3, r8
- ldr r2, [r3]
- ldrb r0, [r1]
- lsls r0, 4
- adds r0, r5
- movs r5, 0
- ldrsh r0, [r0, r5]
- cmp r0, 0
- bge _080CBE5A
- adds r0, 0xF
-_080CBE5A:
- asrs r0, 4
- negs r0, r0
- strh r0, [r2, 0x24]
- ldrb r0, [r1]
- cmp r0, 0x8
- bne _080CBEBE
- ldr r3, [r3]
- ldr r0, [r4]
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- movs r5, 0x3
- movs r1, 0xC
- ands r1, r0
- ldrb r2, [r3, 0x5]
- movs r4, 0xD
- negs r4, r4
- adds r0, r4, 0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x5]
- ldr r0, [r6]
- mov r2, r8
- adds r1, r0, r2
- ldr r1, [r1]
- adds r0, r7
- ldr r0, [r0]
- ldr r0, [r0]
- adds r0, 0x43
- ldrb r0, [r0]
- adds r1, 0x43
- strb r0, [r1]
- bl sub_80CAFAC
- ldr r1, [r6]
- adds r1, r7
- ldr r1, [r1]
- ldr r1, [r1]
- ands r5, r0
- lsls r5, 2
- ldrb r0, [r1, 0x5]
- ands r4, r0
- orrs r4, r5
- strb r4, [r1, 0x5]
- ldr r0, [r6]
- adds r0, r7
- ldr r0, [r0]
- ldr r0, [r0]
- adds r0, 0x43
- movs r1, 0x7
- strb r1, [r0]
-_080CBEBE:
- ldr r1, [r6]
- mov r5, r9
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, 0x10
- bne _080CBEF2
- mov r0, r8
- adds r2, r1, r0
- ldr r3, [r2]
- adds r1, r7
- ldr r0, [r1]
- ldr r0, [r0]
- str r0, [r2]
- ldr r0, [r1]
- str r3, [r0]
- ldr r1, [r6]
- mov r2, r8
- adds r0, r1, r2
- ldr r2, [r0]
- ldr r0, =sub_80CC100
- str r0, [r2, 0x1C]
- adds r1, r7
- ldr r0, [r1]
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- str r0, [r1, 0x1C]
-_080CBEF2:
- movs r0, 0x1
-_080CBEF4:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80CBDC4
-
- thumb_func_start sub_80CBF14
-sub_80CBF14: @ 80CBF14
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r2, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r0, 0x1
- beq _080CBF4C
- cmp r0, 0x1
- bgt _080CBF2E
- cmp r0, 0
- beq _080CBF34
- b _080CBFC0
-_080CBF2E:
- cmp r2, 0x2
- beq _080CBF70
- b _080CBFC0
-_080CBF34:
- ldr r3, =gUnknown_02039D08
- ldr r1, [r3]
- ldr r0, =0x00000b04
- adds r2, r1, r0
- lsls r0, r4, 2
- movs r4, 0xA7
- lsls r4, 4
- b _080CBF58
- .pool
-_080CBF4C:
- ldr r3, =gUnknown_02039D08
- ldr r1, [r3]
- ldr r0, =0x00000b04
- adds r2, r1, r0
- lsls r0, r4, 2
- ldr r4, =0x00000a88
-_080CBF58:
- adds r0, r4
- adds r1, r0
- str r1, [r2]
- adds r4, r3, 0
- b _080CBF80
- .pool
-_080CBF70:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r3, =0x00000b04
- adds r2, r1, r3
- ldr r4, =0x00000a6c
- adds r1, r4
- str r1, [r2]
- adds r4, r0, 0
-_080CBF80:
- ldr r0, [r4]
- ldr r1, =0x00000b04
- adds r0, r1
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0
- beq _080CBFC0
- bl InitSpriteAffineAnim
- ldr r0, [r4]
- ldr r3, =0x00000b04
- adds r0, r3
- ldr r0, [r0]
- ldr r2, [r0]
- ldrb r1, [r2, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x1]
- ldr r1, [r4]
- adds r1, r3
- ldr r0, [r1]
- ldr r2, [r0]
- ldr r0, =gSpriteAffineAnimTable_857291C
- str r0, [r2, 0x10]
- ldr r0, [r1]
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAffineAnim
-_080CBFC0:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CBF14
-
- thumb_func_start sub_80CBFD8
-sub_80CBFD8: @ 80CBFD8
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00000b04
- adds r0, r1
- ldr r0, [r0]
- ldr r1, [r0]
- cmp r1, 0
- beq _080CBFF8
- adds r3, r1, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- movs r0, 0x4
- ands r0, r2
- cmp r0, 0
- beq _080CC004
-_080CBFF8:
- movs r0, 0
- b _080CC01A
- .pool
-_080CC004:
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080CC018
- movs r0, 0x4
- orrs r0, r2
- strb r0, [r3]
-_080CC018:
- movs r0, 0x1
-_080CC01A:
- pop {r1}
- bx r1
- thumb_func_end sub_80CBFD8
-
- thumb_func_start sub_80CC020
-sub_80CC020: @ 80CC020
- push {r4,lr}
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldr r1, =0x00000b04
- adds r0, r1
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0
- beq _080CC056
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldr r0, [r4]
- ldr r1, =0x00000b04
- adds r0, r1
- ldr r0, [r0]
- ldr r0, [r0]
- bl sub_80CC314
- ldr r0, [r4]
- ldr r1, =0x00000b04
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0
- str r0, [r1]
-_080CC056:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CC020
-
- thumb_func_start sub_80CC064
-sub_80CC064: @ 80CC064
- push {lr}
- ldr r3, =gUnknown_02039D08
- ldr r0, [r3]
- ldr r1, =0x00000b04
- adds r0, r1
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0
- beq _080CC094
- adds r2, r0, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldr r0, [r3]
- ldr r1, =0x00000b04
- adds r0, r1
- ldr r0, [r0]
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_080CC094:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CC064
-
- thumb_func_start sub_80CC0A0
-sub_80CC0A0: @ 80CC0A0
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00000b04
- adds r2, r0, r1
- ldr r0, [r2]
- cmp r0, 0
- bne _080CC0BC
- movs r0, 0
- b _080CC0D0
- .pool
-_080CC0BC:
- ldr r0, [r0]
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080CC0CE
- movs r0, 0
- str r0, [r2]
-_080CC0CE:
- movs r0, 0x1
-_080CC0D0:
- pop {r1}
- bx r1
- thumb_func_end sub_80CC0A0
-
- thumb_func_start sub_80CC0D4
-sub_80CC0D4: @ 80CC0D4
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_02039D08
- ldr r1, [r1]
- ldr r2, =0x00000a6c
- adds r1, r2
- ldr r3, [r1]
- movs r1, 0x3
- ands r0, r1
- lsls r0, 2
- ldrb r2, [r3, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x5]
- bx lr
- .pool
- thumb_func_end sub_80CC0D4
-
- thumb_func_start sub_80CC100
-sub_80CC100: @ 80CC100
- ldr r1, =gUnknown_02039D08
- ldr r1, [r1]
- ldr r2, =0x00000cb4
- adds r1, r2
- ldr r2, [r1]
- ldrh r2, [r2, 0x20]
- strh r2, [r0, 0x20]
- ldr r2, [r1]
- ldrh r1, [r2, 0x26]
- ldrh r2, [r2, 0x22]
- adds r1, r2
- adds r1, 0x4
- strh r1, [r0, 0x22]
- bx lr
- .pool
- thumb_func_end sub_80CC100
-
- thumb_func_start sub_80CC124
-sub_80CC124: @ 80CC124
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- movs r4, 0
- ldr r1, =gUnknown_02039D08
- ldr r0, [r1]
- ldr r2, =0x00000b58
- adds r0, r2
- ldrh r0, [r0]
- adds r2, r1, 0
- cmp r0, r3
- beq _080CC158
- adds r6, r2, 0
- ldr r5, =0x00000b58
-_080CC140:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x27
- bhi _080CC158
- ldr r0, [r6]
- lsls r1, r4, 1
- adds r0, r5
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r3
- bne _080CC140
-_080CC158:
- cmp r4, 0x28
- bne _080CC198
- movs r4, 0
- ldr r0, [r2]
- ldr r5, =0x00000b58
- adds r0, r5
- ldrh r0, [r0]
- cmp r0, 0
- beq _080CC184
- adds r6, r2, 0
-_080CC16C:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x27
- bhi _080CC184
- ldr r0, [r6]
- lsls r1, r4, 1
- adds r0, r5
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- bne _080CC16C
-_080CC184:
- cmp r4, 0x28
- bne _080CC198
- ldr r0, =0x0000ffff
- b _080CC1CA
- .pool
-_080CC198:
- ldr r1, [r2]
- lsls r2, r4, 1
- ldr r5, =0x00000b58
- adds r0, r1, r5
- adds r0, r2
- strh r3, [r0]
- ldr r0, =0x00000b08
- adds r1, r0
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r4, 20
- lsrs r4, 16
- adds r0, r3, 0
- movs r1, 0x1
- bl GetMonIconTiles
- lsls r1, r4, 5
- ldr r2, =0x06010000
- adds r1, r2
- ldr r2, =0x04000080
- bl CpuSet
- adds r0, r4, 0
-_080CC1CA:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80CC124
-
- thumb_func_start sub_80CC1E0
-sub_80CC1E0: @ 80CC1E0
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- movs r3, 0
- ldr r6, =gUnknown_02039D08
-_080CC1EA:
- ldr r1, [r6]
- lsls r2, r3, 1
- ldr r4, =0x00000b58
- adds r0, r1, r4
- adds r4, r0, r2
- ldrh r0, [r4]
- cmp r0, r5
- bne _080CC220
- ldr r0, =0x00000b08
- adds r1, r0
- adds r1, r2
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _080CC22A
- strh r0, [r4]
- b _080CC22A
- .pool
-_080CC220:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x27
- bls _080CC1EA
-_080CC22A:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80CC1E0
-
- thumb_func_start sub_80CC230
-sub_80CC230: @ 80CC230
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- ldr r4, [sp, 0x3C]
- ldr r5, [sp, 0x40]
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp, 0x18]
- lsls r3, 16
- lsrs r3, 16
- mov r8, r3
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- mov r9, r5
- mov r2, sp
- ldr r0, =gUnknown_085728D4
- ldm r0!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldm r0!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- adds r0, r6, 0
- bl mon_icon_convert_unown_species_id
- mov r10, r0
- mov r6, r10
- mov r2, sp
- ldr r1, =gMonIconPaletteIndices
- adds r1, r6, r1
- ldr r3, =0x0000dac0
- adds r0, r3, 0
- ldrb r1, [r1]
- adds r0, r1
- strh r0, [r2, 0x2]
- adds r0, r6, 0
- bl sub_80CC124
- lsls r0, 16
- lsrs r0, 16
- adds r5, r0, 0
- ldr r0, =0x0000ffff
- cmp r5, r0
- beq _080CC302
- ldr r7, [sp, 0x18]
- lsls r1, r7, 16
- asrs r1, 16
- mov r0, r8
- lsls r2, r0, 16
- asrs r2, 16
- mov r0, sp
- mov r3, r9
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _080CC2FC
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldr r2, =0x000003ff
- ands r2, r5
- ldrh r3, [r0, 0x4]
- ldr r1, =0xfffffc00
- ands r1, r3
- orrs r1, r2
- strh r1, [r0, 0x4]
- movs r1, 0x3
- ands r4, r1
- lsls r3, r4, 2
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- orrs r1, r3
- strb r1, [r0, 0x5]
- mov r1, r10
- strh r1, [r0, 0x2E]
- b _080CC304
- .pool
-_080CC2FC:
- adds r0, r6, 0
- bl sub_80CC1E0
-_080CC302:
- movs r0, 0
-_080CC304:
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80CC230
-
- thumb_func_start sub_80CC314
-sub_80CC314: @ 80CC314
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- bl sub_80CC1E0
- adds r0, r4, 0
- bl DestroySprite
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80CC314
-
- thumb_func_start sub_80CC32C
-sub_80CC32C: @ 80CC32C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =sub_80CC370
- movs r1, 0x2
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0xC]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CC32C
-
- thumb_func_start sub_80CC35C
-sub_80CC35C: @ 80CC35C
- push {lr}
- ldr r0, =sub_80CC370
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80CC35C
-
- thumb_func_start sub_80CC370
-sub_80CC370: @ 80CC370
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bhi _080CC454
- lsls r0, 2
- ldr r1, =_080CC39C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080CC39C:
- .4byte _080CC3B0
- .4byte _080CC3E8
- .4byte _080CC41C
- .4byte _080CC426
- .4byte _080CC44C
-_080CC3B0:
- ldr r1, =gUnknown_02039D08
- ldr r0, [r1]
- ldr r2, =0x000002d2
- adds r0, r2
- movs r2, 0
- strb r2, [r0]
- ldr r1, [r1]
- movs r3, 0xB3
- lsls r3, 2
- adds r0, r1, r3
- strh r2, [r0]
- ldr r0, =0x00004ac4
- adds r1, r0
- movs r2, 0x80
- lsls r2, 5
- movs r0, 0
- movs r3, 0x1
- bl RequestDma3Fill
- strh r0, [r4, 0xA]
- b _080CC458
- .pool
-_080CC3E8:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- bl CheckForSpaceForDma3Request
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _080CC45E
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r2, =0x00004ac4
- adds r1, r2
- movs r0, 0x2
- bl SetBgTilemapBuffer
- movs r0, 0x2
- bl ShowBg
- b _080CC458
- .pool
-_080CC41C:
- ldrb r0, [r4, 0xC]
- movs r1, 0
- bl sub_80CC7A0
- b _080CC458
-_080CC426:
- bl sub_80CCA00
- cmp r0, 0
- beq _080CC45E
- ldrb r0, [r4, 0xC]
- bl sub_80CCB50
- bl sub_80CD02C
- ldrb r0, [r4, 0xC]
- bl sub_80CB028
- ldr r1, =0x00005b0a
- movs r0, 0xC
- bl SetGpuReg
- b _080CC458
- .pool
-_080CC44C:
- adds r0, r2, 0
- bl DestroyTask
- b _080CC458
-_080CC454:
- movs r0, 0
- b _080CC45C
-_080CC458:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
-_080CC45C:
- strh r0, [r4, 0x8]
-_080CC45E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80CC370
-
- thumb_func_start sub_80CC464
-sub_80CC464: @ 80CC464
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r4, r0, 24
- mov r8, r4
- adds r0, r4, 0
- bl sub_80CC644
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- ldr r5, =gUnknown_02039D08
- ldr r2, [r5]
- lsls r0, r6, 24
- asrs r3, r0, 24
- movs r0, 0x6
- negs r0, r0
- adds r1, r0, 0
- cmp r3, 0
- ble _080CC490
- movs r1, 0x6
-_080CC490:
- ldr r7, =0x000002ce
- adds r0, r2, r7
- strh r1, [r0]
- movs r1, 0x2
- cmp r3, 0
- ble _080CC49E
- movs r1, 0x1
-_080CC49E:
- ldr r7, =0x000002d3
- adds r0, r2, r7
- strb r1, [r0]
- ldr r2, [r5]
- movs r0, 0xB4
- lsls r0, 2
- adds r1, r2, r0
- movs r0, 0x20
- strh r0, [r1]
- movs r1, 0xB5
- lsls r1, 2
- adds r0, r2, r1
- strb r4, [r0]
- ldr r2, [r5]
- movs r1, 0
- cmp r3, 0
- bgt _080CC4C2
- movs r1, 0x5
-_080CC4C2:
- ldr r4, =0x000002d6
- adds r0, r2, r4
- strh r1, [r0]
- movs r7, 0xB6
- lsls r7, 2
- adds r0, r2, r7
- strh r3, [r0]
- movs r1, 0x38
- cmp r3, 0
- ble _080CC4DC
- movs r0, 0x84
- lsls r0, 1
- adds r1, r0, 0
-_080CC4DC:
- ldr r4, =0x000002da
- adds r0, r2, r4
- strh r1, [r0]
- movs r1, 0
- cmp r3, 0
- bgt _080CC4EA
- movs r1, 0x5
-_080CC4EA:
- movs r7, 0xB7
- lsls r7, 2
- adds r0, r2, r7
- strh r1, [r0]
- ldr r0, =0x000002de
- adds r1, r2, r0
- movs r0, 0
- strh r0, [r1]
- movs r3, 0xB8
- lsls r3, 2
- adds r1, r2, r3
- movs r0, 0x2
- strh r0, [r1]
- ldr r4, =0x00000a64
- adds r0, r2, r4
- mov r7, r8
- strb r7, [r0]
- ldr r0, [r5]
- ldr r1, =0x00000a65
- adds r0, r1
- strb r6, [r0]
- ldr r0, [r5]
- ldr r3, =0x00000a63
- adds r0, r3
- movs r1, 0
- strb r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CC464
-
- thumb_func_start sub_80CC54C
-sub_80CC54C: @ 80CC54C
- push {r4-r6,lr}
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- ldr r5, =0x00000a63
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080CC594
- cmp r0, 0x1
- bgt _080CC570
- cmp r0, 0
- beq _080CC576
- b _080CC624
- .pool
-_080CC570:
- cmp r0, 0x2
- beq _080CC5E4
- b _080CC624
-_080CC576:
- ldr r2, =0x00000a64
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, 0x1
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- bl sub_80CC7A0
- ldr r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080CC594:
- bl sub_80CCA00
- cmp r0, 0
- beq _080CC632
- ldr r6, =gUnknown_02039D08
- ldr r1, [r6]
- ldr r4, =0x00000a64
- adds r0, r1, r4
- ldrb r0, [r0]
- ldr r5, =0x00000a65
- adds r1, r5
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- bl sub_80CB4CC
- ldr r1, [r6]
- adds r4, r1, r4
- ldrb r0, [r4]
- adds r1, r5
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- bl sub_80CCCFC
- ldr r0, [r6]
- adds r0, r5
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- bl sub_80CD0B8
- b _080CC624
- .pool
-_080CC5E4:
- bl sub_80CB584
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, [r4]
- movs r4, 0xB4
- lsls r4, 2
- adds r3, r2, r4
- ldrh r0, [r3]
- cmp r0, 0
- beq _080CC620
- movs r0, 0xB3
- lsls r0, 2
- adds r1, r2, r0
- subs r4, 0x2
- adds r0, r2, r4
- ldrh r0, [r0]
- ldrh r2, [r1]
- adds r0, r2
- strh r0, [r1]
- ldrh r0, [r3]
- subs r0, 0x1
- strh r0, [r3]
- lsls r0, 16
- cmp r0, 0
- bne _080CC632
- bl sub_80CCEE0
- bl sub_80CD158
-_080CC620:
- adds r0, r5, 0
- b _080CC634
-_080CC624:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r4, =0x00000a63
- adds r1, r4
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080CC632:
- movs r0, 0x1
-_080CC634:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80CC54C
-
- thumb_func_start sub_80CC644
-sub_80CC644: @ 80CC644
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0
- cmp r1, r4
- beq _080CC66E
-_080CC658:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xD
- bls _080CC664
- movs r1, 0
-_080CC664:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r1, r4
- bne _080CC658
-_080CC66E:
- movs r0, 0x1
- negs r0, r0
- cmp r2, 0x6
- bhi _080CC678
- movs r0, 0x1
-_080CC678:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80CC644
-
- thumb_func_start sub_80CC680
-sub_80CC680: @ 80CC680
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- bl SetBoxWallpaper
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00000a62
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CC680
-
- thumb_func_start sub_80CC6B0
-sub_80CC6B0: @ 80CC6B0
- push {r4,lr}
- sub sp, 0x4
- ldr r1, =gUnknown_02039D08
- ldr r0, [r1]
- ldr r2, =0x00000a62
- adds r0, r2
- ldrb r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x4
- bhi _080CC794
- lsls r0, 2
- ldr r1, =_080CC6DC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080CC6DC:
- .4byte _080CC6F0
- .4byte _080CC718
- .4byte _080CC732
- .4byte _080CC76C
- .4byte _080CC790
-_080CC6F0:
- ldr r0, [r4]
- movs r1, 0xE7
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- ldr r1, =0x0000ffff
- str r1, [sp]
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, [r4]
- ldr r2, =0x00000a62
- adds r1, r2
- b _080CC77E
- .pool
-_080CC718:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080CC794
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_80CC7A0
- b _080CC776
-_080CC732:
- bl sub_80CCA00
- cmp r0, 0x1
- bne _080CC794
- bl sub_80CCF9C
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- movs r1, 0xE7
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- ldr r1, =0x0000ffff
- str r1, [sp]
- movs r1, 0x1
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, [r4]
- ldr r2, =0x00000a62
- adds r1, r2
- b _080CC77E
- .pool
-_080CC76C:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080CC794
-_080CC776:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r0, =0x00000a62
- adds r1, r0
-_080CC77E:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080CC794
- .pool
-_080CC790:
- movs r0, 0
- b _080CC796
-_080CC794:
- movs r0, 0x1
-_080CC796:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80CC6B0
-
- thumb_func_start sub_80CC7A0
-sub_80CC7A0: @ 80CC7A0
- push {r4-r7,lr}
- sub sp, 0x8
- ldr r4, =gUnknown_02039D08
- ldr r2, [r4]
- ldr r3, =0x000006f9
- adds r2, r3
- movs r3, 0
- strb r3, [r2]
- ldr r2, [r4]
- ldr r3, =0x000006fa
- adds r2, r3
- strb r0, [r2]
- ldr r0, [r4]
- ldr r2, =0x000006fb
- adds r0, r2
- strb r1, [r0]
- ldr r1, [r4]
- adds r2, r1, r2
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r0, 0
- beq _080CC7E6
- movs r3, 0
- ldr r0, =0x000002d2
- adds r2, r1, r0
- ldrb r0, [r2]
- cmp r0, 0
- bne _080CC7DA
- movs r3, 0x1
-_080CC7DA:
- strb r3, [r2]
- ldr r0, [r4]
- ldr r1, =0x00004ac4
- adds r0, r1
- bl sub_80CCAE0
-_080CC7E6:
- ldr r7, =gUnknown_02039D08
- ldr r0, [r7]
- ldr r2, =0x000006fa
- adds r0, r2
- ldrb r0, [r0]
- bl sub_80D20F8
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x10
- beq _080CC8C4
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, =gWallpaperTable
- adds r6, r0, r1
- ldr r0, [r6, 0x4]
- ldr r1, [r7]
- ldr r5, =0x00000792
- adds r1, r5
- bl LZ77UnCompWram
- ldr r0, [r7]
- adds r5, r0, r5
- ldr r4, =0x000006fb
- adds r1, r0, r4
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- ldr r3, =0x000002d2
- adds r0, r3
- ldrb r2, [r0]
- adds r0, r5, 0
- bl sub_80CCA3C
- ldr r1, [r7]
- adds r4, r1, r4
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0
- beq _080CC874
- ldr r0, [r6, 0x8]
- ldr r2, =0x000002d2
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 21
- movs r3, 0x80
- lsls r3, 15
- adds r1, r3
- lsrs r1, 16
- movs r2, 0x40
- bl LoadPalette
- b _080CC888
- .pool
-_080CC874:
- ldr r0, [r6, 0x8]
- ldr r2, =0x000002d2
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 6
- ldr r2, =gPlttBufferUnfaded + 0x80
- adds r1, r2
- movs r2, 0x20
- bl CpuSet
-_080CC888:
- ldr r0, [r6]
- mov r1, sp
- bl malloc_and_decompress
- adds r1, r0, 0
- ldr r0, =gUnknown_02039D08
- ldr r3, [r0]
- ldr r2, =0x00000a68
- adds r0, r3, r2
- str r1, [r0]
- ldr r2, [sp]
- lsls r2, 16
- lsrs r2, 16
- ldr r0, =0x000002d2
- adds r3, r0
- ldrb r3, [r3]
- lsls r3, 8
- movs r0, 0x2
- bl LoadBgTiles
- b _080CC9DA
- .pool
-_080CC8C4:
- bl GetWaldaWallpaperPatternId
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- ldr r0, =gUnknown_0857AF44
- adds r6, r1, r0
- ldr r0, [r6, 0x4]
- ldr r1, [r7]
- ldr r4, =0x00000792
- adds r1, r4
- bl LZ77UnCompWram
- ldr r2, [r7]
- adds r0, r2, r4
- ldr r5, =0x000006fb
- adds r1, r2, r5
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- ldr r3, =0x000002d2
- adds r2, r3
- ldrb r2, [r2]
- bl sub_80CCA3C
- ldr r0, [r6, 0x8]
- ldr r1, [r7]
- adds r1, r4
- movs r2, 0x20
- bl CpuSet
- bl GetWaldaWallpaperColorsPtr
- ldr r1, [r7]
- ldr r2, =0x00000794
- adds r1, r2
- movs r2, 0x2
- bl CpuSet
- bl GetWaldaWallpaperColorsPtr
- ldr r1, [r7]
- ldr r3, =0x000007b4
- adds r1, r3
- movs r2, 0x2
- bl CpuSet
- ldr r1, [r7]
- adds r5, r1, r5
- movs r0, 0
- ldrsb r0, [r5, r0]
- cmp r0, 0
- beq _080CC960
- adds r0, r1, r4
- ldr r2, =0x000002d2
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 21
- movs r3, 0x80
- lsls r3, 15
- adds r1, r3
- lsrs r1, 16
- movs r2, 0x40
- bl LoadPalette
- b _080CC976
- .pool
-_080CC960:
- ldr r2, =0x00000792
- adds r0, r1, r2
- ldr r3, =0x000002d2
- adds r1, r3
- ldrb r1, [r1]
- lsls r1, 6
- ldr r2, =gPlttBufferUnfaded + 0x80
- adds r1, r2
- movs r2, 0x20
- bl CpuSet
-_080CC976:
- ldr r0, [r6]
- mov r1, sp
- bl malloc_and_decompress
- ldr r6, =gUnknown_02039D08
- ldr r1, [r6]
- ldr r5, =0x00000a68
- adds r1, r5
- str r0, [r1]
- ldr r4, =gUnknown_0857B004
- bl GetWaldaWallpaperIconId
- lsls r0, 2
- adds r0, r4
- ldr r0, [r0]
- add r1, sp, 0x4
- bl malloc_and_decompress
- adds r4, r0, 0
- ldr r0, [r6]
- adds r0, r5
- ldr r1, [r0]
- movs r0, 0x80
- lsls r0, 4
- adds r1, r0
- ldr r2, [sp, 0x4]
- lsls r2, 9
- lsrs r2, 11
- movs r0, 0x80
- lsls r0, 19
- orrs r2, r0
- adds r0, r4, 0
- bl CpuSet
- adds r0, r4, 0
- bl Free
- ldr r0, [r6]
- adds r5, r0, r5
- ldr r1, [r5]
- ldr r2, [sp]
- lsls r2, 16
- lsrs r2, 16
- ldr r3, =0x000002d2
- adds r0, r3
- ldrb r3, [r0]
- lsls r3, 8
- movs r0, 0x2
- bl LoadBgTiles
-_080CC9DA:
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CC7A0
-
- thumb_func_start sub_80CCA00
-sub_80CCA00: @ 80CCA00
- push {r4,r5,lr}
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _080CCA12
- movs r0, 0
- b _080CCA2E
-_080CCA12:
- ldr r5, =gUnknown_02039D08
- ldr r0, [r5]
- ldr r1, =0x00000a68
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _080CCA2C
- bl Free
- ldr r0, [r5]
- ldr r1, =0x00000a68
- adds r0, r1
- str r4, [r0]
-_080CCA2C:
- movs r0, 0x1
-_080CCA2E:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80CCA00
-
- thumb_func_start sub_80CCA3C
-sub_80CCA3C: @ 80CCA3C
- push {r4-r7,lr}
- sub sp, 0x24
- adds r5, r0, 0
- lsls r2, 24
- lsrs r2, 24
- lsls r4, r2, 17
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- movs r3, 0xB3
- lsls r3, 2
- adds r0, r3
- ldrh r3, [r0]
- lsrs r3, 3
- adds r3, 0xA
- lsls r1, 24
- asrs r7, r1, 24
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 3
- adds r6, r3, r0
- movs r0, 0x3F
- ands r6, r0
- movs r3, 0x14
- str r3, [sp]
- movs r1, 0x12
- str r1, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0x2
- str r0, [sp, 0xC]
- str r3, [sp, 0x10]
- str r1, [sp, 0x14]
- movs r0, 0x11
- str r0, [sp, 0x18]
- lsls r2, 24
- asrs r2, 16
- str r2, [sp, 0x1C]
- movs r0, 0xC0
- lsls r0, 10
- adds r4, r0
- asrs r4, 16
- str r4, [sp, 0x20]
- movs r0, 0x2
- adds r1, r5, 0
- movs r2, 0
- movs r3, 0
- bl CopyRectToBgTilemapBufferRect
- cmp r7, 0
- beq _080CCAD2
- cmp r7, 0
- ble _080CCAB0
- lsls r0, r6, 16
- movs r1, 0xA0
- lsls r1, 13
- adds r0, r1
- b _080CCAB6
- .pool
-_080CCAB0:
- lsls r0, r6, 16
- ldr r3, =0xfffc0000
- adds r0, r3
-_080CCAB6:
- lsrs r6, r0, 16
- lsls r2, r6, 24
- lsrs r2, 24
- movs r0, 0x4
- str r0, [sp]
- movs r0, 0x12
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0
- movs r3, 0x2
- bl FillBgTilemapBufferRect
-_080CCAD2:
- add sp, 0x24
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CCA3C
-
- thumb_func_start sub_80CCAE0
-sub_80CCAE0: @ 80CCAE0
- push {r4-r6,lr}
- adds r2, r0, 0
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- movs r1, 0xB3
- lsls r1, 2
- adds r0, r1
- ldrh r0, [r0]
- lsrs r0, 3
- adds r3, r0, 0
- adds r3, 0x1E
- movs r0, 0x3F
- ands r3, r0
- adds r0, r3, 0
- cmp r0, 0x1F
- bgt _080CCB10
- lsls r0, 1
- movs r6, 0x98
- lsls r6, 3
- adds r0, r6
- b _080CCB18
- .pool
-_080CCB10:
- lsls r0, 1
- movs r1, 0xC8
- lsls r1, 4
- adds r0, r1
-_080CCB18:
- adds r2, r0
- movs r0, 0
- movs r5, 0
- movs r4, 0x3F
-_080CCB20:
- strh r5, [r2]
- adds r2, 0x2
- adds r3, 0x1
- ands r3, r4
- adds r1, r3, 0
- cmp r1, 0
- bne _080CCB32
- ldr r6, =0xfffff7c0
- adds r2, r6
-_080CCB32:
- cmp r1, 0x20
- bne _080CCB3C
- movs r1, 0xF8
- lsls r1, 3
- adds r2, r1
-_080CCB3C:
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2B
- bls _080CCB20
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CCAE0
-
- thumb_func_start sub_80CCB50
-sub_80CCB50: @ 80CCB50
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x30
- mov r8, r0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r1, =gUnknown_02039D08
- mov r10, r1
- ldr r1, [r1]
- movs r2, 0xBE
- lsls r2, 2
- adds r0, r1, r2
- str r0, [sp, 0x24]
- mov r3, sp
- adds r3, 0x24
- str r3, [sp, 0x2C]
- ldr r0, =0x00030200
- str r0, [r3, 0x4]
- ldr r4, =0x000006fc
- adds r1, r4
- str r1, [sp, 0x14]
- add r0, sp, 0x18
- ldr r7, =0x0000dac9
- strh r7, [r0]
- add r0, sp, 0x1C
- movs r1, 0
- movs r2, 0x8
- bl memset
- add r1, sp, 0x14
- add r0, sp, 0x4
- movs r2, 0x10
- bl memcpy
- mov r0, r8
- bl sub_80D20F8
- lsls r0, 24
- mov r5, r10
- ldr r4, [r5]
- ldr r2, =gUnknown_08577574
- lsrs r0, 22
- adds r1, r0, r2
- ldrh r3, [r1]
- movs r5, 0xE3
- lsls r5, 3
- adds r1, r4, r5
- strh r3, [r1]
- adds r2, 0x2
- adds r0, r2
- ldrh r0, [r0]
- ldr r1, =0x0000071a
- adds r4, r1
- strh r0, [r4]
- add r0, sp, 0x4
- bl LoadSpritePalettes
- mov r2, r10
- ldr r0, [r2]
- movs r6, 0xE7
- lsls r6, 3
- adds r0, r6
- movs r1, 0xFC
- lsls r1, 2
- str r1, [r0]
- adds r0, r7, 0
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- mov r4, r10
- ldr r3, [r4]
- lsls r1, r0, 4
- movs r5, 0x87
- lsls r5, 1
- mov r9, r5
- add r1, r9
- ldr r4, =0x0000071c
- adds r2, r3, r4
- strh r1, [r2]
- adds r3, r6
- movs r5, 0x80
- lsls r5, 9
- adds r1, r5, 0
- lsls r1, r0
- ldr r0, [r3]
- orrs r0, r1
- str r0, [r3]
- adds r0, r7, 0
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- mov r1, r10
- ldr r4, [r1]
- lsls r1, r0, 4
- add r1, r9
- ldr r3, =0x0000071e
- adds r2, r4, r3
- strh r1, [r2]
- adds r6, r4, r6
- lsls r5, r0
- ldr r0, [r6]
- orrs r0, r5
- str r0, [r6]
- ldr r5, =0x000021b8
- adds r4, r5
- mov r0, r8
- bl GetBoxNamePtr
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x8
- bl StringCopyPadded
- mov r4, r10
- ldr r1, [r4]
- adds r5, r1, r5
- movs r0, 0xBE
- lsls r0, 2
- adds r1, r0
- movs r0, 0x2
- str r0, [sp]
- adds r0, r5, 0
- movs r2, 0
- movs r3, 0
- bl sub_80C6D80
- ldr r0, [sp, 0x2C]
- bl LoadSpriteSheet
- mov r0, r8
- bl GetBoxNamePtr
- bl sub_80CD00C
- movs r4, 0
- lsls r0, 16
- asrs r6, r0, 16
-_080CCC70:
- lsls r1, r4, 5
- adds r1, r6, r1
- lsls r1, 16
- asrs r1, 16
- ldr r0, =gSpriteTemplate_857B0A8
- movs r2, 0x1C
- movs r3, 0x18
- bl CreateSprite
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r5, =gUnknown_02039D08
- ldr r2, [r5]
- lsls r0, r4, 2
- movs r3, 0xE4
- lsls r3, 3
- adds r2, r3
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- str r0, [r2]
- lsls r1, r4, 24
- lsrs r1, 24
- bl StartSpriteAnim
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _080CCC70
- ldr r0, [r5]
- movs r4, 0xDF
- lsls r4, 3
- adds r0, r4
- movs r1, 0
- strb r1, [r0]
- add sp, 0x30
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CCB50
-
- thumb_func_start sub_80CCCFC
-sub_80CCCFC: @ 80CCCFC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x28]
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- ldr r4, =gUnknown_02039D08
- ldr r2, [r4]
- movs r1, 0xBE
- lsls r1, 2
- adds r0, r2, r1
- str r0, [sp, 0x1C]
- add r3, sp, 0x1C
- ldr r5, =0x0000ffff
- mov r12, r5
- movs r6, 0xC0
- lsls r6, 10
- mov r9, r6
- ldr r0, =0x00030200
- str r0, [r3, 0x4]
- add r1, sp, 0x4
- ldr r0, =gSpriteTemplate_857B0A8
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- movs r1, 0
- movs r5, 0xDF
- lsls r5, 3
- adds r2, r5
- ldrb r0, [r2]
- mov r8, r4
- adds r6, r3, 0
- cmp r0, 0
- bne _080CCD50
- movs r1, 0x1
-_080CCD50:
- strb r1, [r2]
- mov r7, r8
- ldr r0, [r7]
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0
- bne _080CCD8C
- ldr r0, [r6, 0x4]
- mov r1, r12
- ands r0, r1
- mov r3, r9
- orrs r0, r3
- str r0, [r6, 0x4]
- ldr r0, [r7]
- ldr r5, =0x0000071c
- adds r0, r5
- ldrh r0, [r0]
- mov r9, r0
- b _080CCDB0
- .pool
-_080CCD8C:
- ldr r0, [r6, 0x4]
- mov r7, r12
- ands r0, r7
- movs r1, 0x80
- lsls r1, 11
- orrs r0, r1
- str r0, [r6, 0x4]
- mov r1, r8
- ldr r0, [r1]
- ldr r3, =0x0000071c
- adds r0, r3
- ldrh r0, [r0]
- mov r9, r0
- add r1, sp, 0x4
- movs r0, 0x4
- strh r0, [r1]
- ldr r0, =0x0000dac9
- strh r0, [r1, 0x2]
-_080CCDB0:
- mov r5, r8
- ldr r4, [r5]
- ldr r5, =0x000021b8
- adds r4, r5
- ldr r0, [sp, 0x28]
- bl GetBoxNamePtr
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x8
- bl StringCopyPadded
- mov r7, r8
- ldr r1, [r7]
- adds r5, r1, r5
- movs r0, 0xBE
- lsls r0, 2
- adds r1, r0
- movs r0, 0x2
- str r0, [sp]
- adds r0, r5, 0
- movs r2, 0
- movs r3, 0
- bl sub_80C6D80
- adds r0, r6, 0
- bl LoadSpriteSheet
- ldr r0, [sp, 0x28]
- bl sub_80D20F8
- lsls r0, 24
- lsrs r0, 22
- ldr r1, =gUnknown_08577574
- adds r0, r1
- mov r1, r9
- movs r2, 0x4
- bl LoadPalette
- ldr r0, [sp, 0x28]
- bl GetBoxNamePtr
- bl sub_80CD00C
- lsls r0, 16
- mov r1, r10
- lsls r2, r1, 24
- asrs r2, 24
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 6
- lsrs r3, r0, 16
- str r3, [sp, 0x24]
- asrs r0, 16
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- movs r7, 0
- mov r9, r8
- negs r2, r2
- mov r8, r2
-_080CCE2E:
- lsls r6, r7, 5
- mov r5, r10
- lsls r1, r5, 16
- asrs r1, 16
- adds r1, r6
- lsls r1, 16
- asrs r1, 16
- add r0, sp, 0x4
- movs r2, 0x1C
- movs r3, 0x18
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- mov r1, r9
- ldr r2, [r1]
- lsls r5, r7, 2
- movs r3, 0xE5
- lsls r3, 3
- adds r2, r3
- adds r2, r5
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- str r1, [r2]
- mov r0, r8
- lsls r4, r0, 1
- add r4, r8
- lsls r4, 1
- strh r4, [r1, 0x2E]
- ldr r1, [r2]
- ldr r3, [sp, 0x24]
- lsls r0, r3, 16
- asrs r0, 16
- adds r0, r6
- strh r0, [r1, 0x30]
- ldr r0, [r2]
- movs r6, 0
- strh r6, [r0, 0x32]
- ldr r0, [r2]
- ldr r1, =sub_80CCF30
- str r1, [r0, 0x1C]
- lsls r1, r7, 24
- lsrs r1, 24
- bl StartSpriteAnim
- mov r1, r9
- ldr r0, [r1]
- movs r3, 0xE4
- lsls r3, 3
- adds r0, r3
- adds r0, r5
- ldr r1, [r0]
- strh r4, [r1, 0x2E]
- ldr r2, [r0]
- movs r1, 0x1
- strh r1, [r2, 0x30]
- ldr r1, [r0]
- ldr r0, =sub_80CCF64
- str r0, [r1, 0x1C]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0x1
- bls _080CCE2E
- 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_80CCCFC
-
- thumb_func_start sub_80CCEE0
-sub_80CCEE0: @ 80CCEE0
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- movs r1, 0xDF
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080CCF00
- movs r0, 0x4
- bl FreeSpriteTilesByTag
- b _080CCF06
- .pool
-_080CCF00:
- movs r0, 0x3
- bl FreeSpriteTilesByTag
-_080CCF06:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- movs r3, 0xE4
- lsls r3, 3
- adds r2, r0, r3
- adds r3, 0x8
- adds r1, r0, r3
- ldr r1, [r1]
- str r1, [r2]
- ldr r2, =0x00000724
- adds r1, r0, r2
- adds r3, 0x4
- adds r0, r3
- ldr r0, [r0]
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CCEE0
-
- thumb_func_start sub_80CCF30
-sub_80CCF30: @ 80CCF30
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x32]
- movs r3, 0x32
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _080CCF44
- subs r0, r1, 0x1
- strh r0, [r2, 0x32]
- b _080CCF5C
-_080CCF44:
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x20]
- adds r0, r1
- strh r0, [r2, 0x20]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x30
- ldrsh r1, [r2, r3]
- cmp r0, r1
- bne _080CCF5C
- ldr r0, =SpriteCallbackDummy
- str r0, [r2, 0x1C]
-_080CCF5C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CCF30
-
- thumb_func_start sub_80CCF64
-sub_80CCF64: @ 80CCF64
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x30]
- movs r3, 0x30
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _080CCF78
- subs r0, r1, 0x1
- strh r0, [r2, 0x30]
- b _080CCF96
-_080CCF78:
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x20]
- adds r0, r1
- strh r0, [r2, 0x20]
- ldrh r1, [r2, 0x24]
- adds r0, r1
- strh r0, [r2, 0x32]
- subs r0, 0x40
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xC0
- bls _080CCF96
- adds r0, r2, 0
- bl DestroySprite
-_080CCF96:
- pop {r0}
- bx r0
- thumb_func_end sub_80CCF64
-
- thumb_func_start sub_80CCF9C
-sub_80CCF9C: @ 80CCF9C
- push {lr}
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- bl sub_80D20F8
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, =gUnknown_02039D08
- ldr r2, [r0]
- movs r3, 0xDF
- lsls r3, 3
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _080CCFE4
- lsls r0, r1, 2
- ldr r1, =gUnknown_08577574
- adds r0, r1
- adds r3, 0x24
- adds r1, r2, r3
- ldrh r1, [r1]
- lsls r1, 1
- ldr r2, =gPlttBufferUnfaded
- adds r1, r2
- movs r2, 0x2
- bl CpuSet
- b _080CCFFC
- .pool
-_080CCFE4:
- lsls r0, r1, 2
- ldr r1, =gUnknown_08577574
- adds r0, r1
- ldr r3, =0x0000071e
- adds r1, r2, r3
- ldrh r1, [r1]
- lsls r1, 1
- ldr r2, =gPlttBufferUnfaded
- adds r1, r2
- movs r2, 0x2
- bl CpuSet
-_080CCFFC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CCF9C
-
- thumb_func_start sub_80CD00C
-sub_80CD00C: @ 80CD00C
- push {lr}
- adds r1, r0, 0
- movs r0, 0x1
- movs r2, 0
- bl GetStringWidth
- adds r1, r0, 0
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- movs r0, 0xB0
- subs r0, r1
- lsls r0, 16
- asrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_80CD00C
-
- thumb_func_start sub_80CD02C
-sub_80CD02C: @ 80CD02C
- push {r4,r5,lr}
- ldr r0, =gUnknown_0857B080
- bl LoadSpriteSheet
- movs r5, 0
-_080CD036:
- lsls r1, r5, 4
- adds r1, r5
- lsls r1, 19
- movs r0, 0xB8
- lsls r0, 15
- adds r1, r0
- asrs r1, 16
- ldr r0, =gUnknown_0857B0E0
- movs r2, 0x1C
- movs r3, 0x16
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080CD088
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r4, r0, r1
- lsls r1, r5, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- movs r0, 0x1
- cmp r5, 0
- bne _080CD076
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
-_080CD076:
- strh r0, [r4, 0x34]
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- lsls r1, r5, 2
- movs r2, 0xE6
- lsls r2, 3
- adds r0, r2
- adds r0, r1
- str r4, [r0]
-_080CD088:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bls _080CD036
- bl sub_80CEADC
- lsls r0, 24
- cmp r0, 0
- beq _080CD0A2
- movs r0, 0x1
- bl sub_80CD1A8
-_080CD0A2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CD02C
-
- thumb_func_start sub_80CD0B8
-sub_80CD0B8: @ 80CD0B8
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r2, 0
- ldr r7, =gUnknown_02039D08
- mov r12, r7
- movs r6, 0xE6
- lsls r6, 3
- movs r4, 0
- movs r3, 0x2
-_080CD0CC:
- mov r0, r12
- ldr r1, [r0]
- lsls r0, r2, 2
- adds r1, r6
- adds r1, r0
- ldr r0, [r1]
- strh r4, [r0, 0x24]
- ldr r0, [r1]
- strh r3, [r0, 0x2E]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x1
- bls _080CD0CC
- lsls r0, r5, 24
- cmp r0, 0
- bge _080CD114
- ldr r1, [r7]
- movs r2, 0xE6
- lsls r2, 3
- adds r3, r1, r2
- ldr r2, [r3]
- movs r0, 0x1D
- strh r0, [r2, 0x30]
- ldr r0, =0x00000734
- adds r1, r0
- ldr r2, [r1]
- movs r0, 0x5
- strh r0, [r2, 0x30]
- ldr r0, [r3]
- movs r2, 0x48
- b _080CD130
- .pool
-_080CD114:
- ldr r1, [r7]
- movs r2, 0xE6
- lsls r2, 3
- adds r3, r1, r2
- ldr r2, [r3]
- movs r0, 0x5
- strh r0, [r2, 0x30]
- ldr r0, =0x00000734
- adds r1, r0
- ldr r2, [r1]
- movs r0, 0x1D
- strh r0, [r2, 0x30]
- ldr r0, [r3]
- movs r2, 0xF8
-_080CD130:
- strh r2, [r0, 0x32]
- ldr r0, [r1]
- strh r2, [r0, 0x32]
- ldr r1, [r7]
- movs r2, 0xE6
- lsls r2, 3
- adds r0, r1, r2
- ldr r2, [r0]
- movs r0, 0
- strh r0, [r2, 0x3C]
- ldr r0, =0x00000734
- adds r1, r0
- ldr r1, [r1]
- movs r0, 0x1
- strh r0, [r1, 0x3C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CD0B8
-
- thumb_func_start sub_80CD158
-sub_80CD158: @ 80CD158
- push {r4-r6,lr}
- movs r3, 0
- movs r5, 0
- movs r6, 0x5
- negs r6, r6
- ldr r4, =gUnknown_02039D08
-_080CD164:
- ldr r1, [r4]
- lsls r0, r3, 2
- movs r2, 0xE6
- lsls r2, 3
- adds r1, r2
- adds r1, r0
- ldr r2, [r1]
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 3
- adds r0, 0x5C
- strh r0, [r2, 0x20]
- ldr r0, [r1]
- strh r5, [r0, 0x24]
- ldr r1, [r1]
- adds r1, 0x3E
- ldrb r2, [r1]
- adds r0, r6, 0
- ands r0, r2
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x1
- bls _080CD164
- movs r0, 0x1
- bl sub_80CD1A8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CD158
-
- thumb_func_start sub_80CD1A8
-sub_80CD1A8: @ 80CD1A8
- push {r4-r6,lr}
- lsls r0, 24
- cmp r0, 0
- beq _080CD1E4
- movs r2, 0
- ldr r6, =gUnknown_02039D08
- movs r5, 0xE6
- lsls r5, 3
- movs r3, 0
- movs r4, 0x1
-_080CD1BC:
- ldr r1, [r6]
- lsls r0, r2, 2
- adds r1, r5
- adds r1, r0
- ldr r0, [r1]
- strh r4, [r0, 0x2E]
- ldr r0, [r1]
- strh r3, [r0, 0x30]
- ldr r0, [r1]
- strh r3, [r0, 0x32]
- ldr r0, [r1]
- strh r3, [r0, 0x36]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x1
- bls _080CD1BC
- b _080CD204
- .pool
-_080CD1E4:
- movs r2, 0
- ldr r5, =gUnknown_02039D08
- movs r4, 0xE6
- lsls r4, 3
- movs r3, 0
-_080CD1EE:
- ldr r0, [r5]
- lsls r1, r2, 2
- adds r0, r4
- adds r0, r1
- ldr r0, [r0]
- strh r3, [r0, 0x2E]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x1
- bls _080CD1EE
-_080CD204:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CD1A8
-
- thumb_func_start sub_80CD210
-sub_80CD210: @ 80CD210
- push {lr}
- adds r2, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0x4
- bhi _080CD2DC
- lsls r0, 2
- ldr r1, =_080CD22C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080CD22C:
- .4byte _080CD240
- .4byte _080CD246
- .4byte _080CD274
- .4byte _080CD27A
- .4byte _080CD2CC
-_080CD240:
- movs r0, 0
- strh r0, [r2, 0x24]
- b _080CD2DC
-_080CD246:
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _080CD2DC
- strh r1, [r2, 0x30]
- ldrh r0, [r2, 0x34]
- ldrh r3, [r2, 0x24]
- adds r0, r3
- strh r0, [r2, 0x24]
- ldrh r0, [r2, 0x32]
- adds r0, 0x1
- strh r0, [r2, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _080CD2DC
- strh r1, [r2, 0x32]
- strh r1, [r2, 0x24]
- b _080CD2DC
-_080CD274:
- movs r0, 0x3
- strh r0, [r2, 0x2E]
- b _080CD2DC
-_080CD27A:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r0, =0x000002ce
- adds r1, r0
- ldrh r0, [r2, 0x20]
- ldrh r1, [r1]
- subs r0, r1
- strh r0, [r2, 0x20]
- subs r0, 0x49
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xAE
- bls _080CD2A0
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
-_080CD2A0:
- ldrh r0, [r2, 0x30]
- subs r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _080CD2DC
- ldrh r0, [r2, 0x32]
- strh r0, [r2, 0x20]
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
- movs r0, 0x4
- strh r0, [r2, 0x2E]
- b _080CD2DC
- .pool
-_080CD2CC:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x000002ce
- adds r0, r1
- ldrh r1, [r2, 0x20]
- ldrh r0, [r0]
- subs r1, r0
- strh r1, [r2, 0x20]
-_080CD2DC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CD210
-
- thumb_func_start sub_80CD2E8
-sub_80CD2E8: @ 80CD2E8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r4, [sp, 0x18]
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gUnknown_0857B0E0
- lsls r5, 16
- asrs r5, 16
- lsls r6, 16
- asrs r6, 16
- adds r1, r5, 0
- adds r2, r6, 0
- adds r3, r4, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080CD360
- movs r1, 0x1
- ands r1, r7
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r5, =gSprites
- adds r6, r4, r5
- adds r0, r6, 0
- bl StartSpriteAnim
- movs r0, 0x3
- mov r1, r8
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r6, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r6, 0x5]
- adds r5, 0x1C
- adds r4, r5
- ldr r0, =SpriteCallbackDummy
- str r0, [r4]
- adds r0, r6, 0
- b _080CD362
- .pool
-_080CD360:
- movs r0, 0
-_080CD362:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80CD2E8
-
- thumb_func_start sub_80CD36C
-sub_80CD36C: @ 80CD36C
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r1, [r0, 0x1]
- cmp r1, 0x1
- beq _080CD388
- ldr r1, =gUnknown_02039D78
- movs r0, 0
- strb r0, [r1]
- b _080CD38C
- .pool
-_080CD388:
- ldr r0, =gUnknown_02039D78
- strb r1, [r0]
-_080CD38C:
- ldr r0, =gUnknown_02039D79
- movs r1, 0
- strb r1, [r0]
- ldr r0, =gUnknown_02039D7A
- strb r1, [r0]
- ldr r0, =gUnknown_02039D7B
- strb r1, [r0]
- ldr r0, =gUnknown_02039D7C
- strb r1, [r0]
- ldr r0, =gUnknown_02039D7D
- strb r1, [r0]
- bl sub_80CDC0C
- bl sub_80CFC14
- ldr r2, =gUnknown_02039D08
- ldr r0, [r2]
- ldr r1, =0x00000cd6
- adds r0, r1
- movs r3, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r2]
- ldr r1, =0x000021ff
- adds r0, r1
- strb r3, [r0]
- bl sub_80CEB40
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CD36C
-
- thumb_func_start sub_80CD3EC
-sub_80CD3EC: @ 80CD3EC
- push {lr}
- bl sub_80CFC14
- bl sub_80CEBDC
- ldr r3, =gUnknown_02039D08
- ldr r0, [r3]
- ldr r1, =0x00000cd6
- adds r0, r1
- movs r2, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r3]
- ldr r1, =0x000021ff
- adds r0, r1
- strb r2, [r0]
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CD426
- ldr r0, [r3]
- ldr r1, =0x000020a4
- adds r0, r1
- ldr r1, =gUnknown_02039D14
- movs r2, 0x64
- bl memcpy
- bl sub_80CAFC4
-_080CD426:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CD3EC
-
- thumb_func_start sub_80CD444
-sub_80CD444: @ 80CD444
- push {r4-r6,lr}
- adds r4, r2, 0
- adds r6, r3, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- cmp r0, 0x4
- bhi _080CD4FC
- lsls r0, 2
- ldr r1, =_080CD464
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080CD464:
- .4byte _080CD478
- .4byte _080CD4A6
- .4byte _080CD4CE
- .4byte _080CD4D6
- .4byte _080CD4F4
-_080CD478:
- adds r0, r5, 0
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, 0x64
- strh r1, [r4]
- adds r0, r5, 0
- movs r1, 0x6
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, 0x20
- strh r1, [r6]
- b _080CD4FC
-_080CD4A6:
- cmp r5, 0
- bne _080CD4B2
- movs r0, 0x68
- strh r0, [r4]
- movs r0, 0x34
- b _080CD4FA
-_080CD4B2:
- cmp r5, 0x6
- bne _080CD4BE
- movs r0, 0x98
- strh r0, [r4]
- movs r0, 0x84
- b _080CD4FA
-_080CD4BE:
- movs r0, 0x98
- strh r0, [r4]
- subs r1, r5, 0x1
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, 0x4
- b _080CD4FA
-_080CD4CE:
- movs r0, 0xA2
- strh r0, [r4]
- movs r0, 0xC
- b _080CD4FA
-_080CD4D6:
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- movs r1, 0xE
- cmp r0, 0
- beq _080CD4E2
- movs r1, 0x8
-_080CD4E2:
- strh r1, [r6]
- movs r0, 0x58
- muls r0, r5
- adds r0, 0x78
- strh r0, [r4]
- b _080CD4FC
- .pool
-_080CD4F4:
- movs r0, 0xA0
- strh r0, [r4]
- movs r0, 0x60
-_080CD4FA:
- strh r0, [r6]
-_080CD4FC:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80CD444
-
- thumb_func_start sub_80CD504
-sub_80CD504: @ 80CD504
- push {lr}
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _080CD538
- cmp r0, 0x1
- bne _080CD54C
- ldr r0, =gUnknown_02039D79
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- b _080CD542
- .pool
-_080CD538:
- ldr r0, =gUnknown_02039D79
- ldrb r0, [r0]
- movs r1, 0xB
- bl GetBoxMonDataFromSelectedBox
-_080CD542:
- lsls r0, 16
- lsrs r0, 16
- b _080CD54E
- .pool
-_080CD54C:
- movs r0, 0
-_080CD54E:
- pop {r1}
- bx r1
- thumb_func_end sub_80CD504
-
- thumb_func_start sub_80CD554
-sub_80CD554: @ 80CD554
- push {r4-r7,lr}
- ldr r7, =gUnknown_02039D08
- ldr r5, [r7]
- movs r0, 0xCD
- lsls r0, 4
- adds r1, r5, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _080CD57E
- ldrb r0, [r5, 0x1]
- cmp r0, 0x3
- beq _080CD574
- movs r0, 0
- b _080CD69A
- .pool
-_080CD574:
- bl sub_80D1218
- lsls r0, 24
- lsrs r0, 24
- b _080CD69A
-_080CD57E:
- subs r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- beq _080CD67C
- ldr r1, =0x00000cbc
- adds r4, r5, r1
- ldr r2, =0x00000cc4
- adds r1, r5, r2
- ldr r0, [r4]
- ldr r1, [r1]
- adds r0, r1
- str r0, [r4]
- movs r0, 0xCC
- lsls r0, 4
- adds r3, r5, r0
- adds r2, 0x4
- adds r1, r5, r2
- ldr r0, [r3]
- ldr r1, [r1]
- adds r0, r1
- str r0, [r3]
- ldr r6, =0x00000cb4
- adds r1, r5, r6
- ldr r2, [r1]
- ldr r0, [r4]
- asrs r0, 8
- strh r0, [r2, 0x20]
- ldr r2, [r1]
- ldr r0, [r3]
- asrs r0, 8
- strh r0, [r2, 0x22]
- ldr r1, [r1]
- ldrh r2, [r1, 0x20]
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- movs r3, 0x80
- lsls r3, 1
- cmp r0, r3
- ble _080CD5DA
- ldr r4, =0xffffff00
- adds r0, r2, r4
- lsls r0, 16
- asrs r0, 16
- adds r0, 0x40
- strh r0, [r1, 0x20]
-_080CD5DA:
- ldr r0, [r7]
- adds r0, r6
- ldr r1, [r0]
- ldrh r2, [r1, 0x20]
- movs r4, 0x20
- ldrsh r0, [r1, r4]
- cmp r0, 0x3F
- bgt _080CD5F6
- movs r0, 0x40
- subs r0, r2
- lsls r0, 16
- asrs r0, 16
- subs r0, r3, r0
- strh r0, [r1, 0x20]
-_080CD5F6:
- ldr r0, [r7]
- adds r0, r6
- ldr r1, [r0]
- ldrh r2, [r1, 0x22]
- movs r3, 0x22
- ldrsh r0, [r1, r3]
- cmp r0, 0xB0
- ble _080CD612
- adds r0, r2, 0
- subs r0, 0xB0
- lsls r0, 16
- asrs r0, 16
- subs r0, 0x10
- strh r0, [r1, 0x22]
-_080CD612:
- ldr r0, [r7]
- adds r0, r6
- ldr r2, [r0]
- ldrh r3, [r2, 0x22]
- movs r4, 0x22
- ldrsh r0, [r2, r4]
- movs r1, 0x10
- negs r1, r1
- cmp r0, r1
- bge _080CD632
- subs r0, r1, r3
- movs r1, 0xB0
- lsls r0, 16
- asrs r0, 16
- subs r1, r0
- strh r1, [r2, 0x22]
-_080CD632:
- ldr r0, [r7]
- ldr r2, =0x00000cd7
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- beq _080CD698
- subs r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- bne _080CD698
- ldr r0, [r7]
- adds r0, r6
- ldr r2, [r0]
- adds r2, 0x3F
- ldrb r3, [r2]
- lsrs r1, r3, 1
- movs r0, 0x1
- eors r1, r0
- ands r1, r0
- lsls r1, 1
- movs r0, 0x3
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- b _080CD698
- .pool
-_080CD67C:
- ldr r3, =0x00000cb4
- adds r2, r5, r3
- ldr r1, [r2]
- ldr r4, =0x00000ccc
- adds r0, r5, r4
- ldrh r0, [r0]
- strh r0, [r1, 0x20]
- ldr r1, [r2]
- ldr r2, =0x00000cce
- adds r0, r5, r2
- ldrh r0, [r0]
- strh r0, [r1, 0x22]
- bl sub_80CDA68
-_080CD698:
- movs r0, 0x1
-_080CD69A:
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80CD554
-
- thumb_func_start sub_80CD6AC
-sub_80CD6AC: @ 80CD6AC
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- mov r6, sp
- adds r6, 0x2
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- adds r3, r6, 0
- bl sub_80CD444
- ldr r1, =gUnknown_02039D08
- ldr r0, [r1]
- ldr r2, =0x00000cd4
- adds r0, r2
- strb r4, [r0]
- ldr r0, [r1]
- ldr r3, =0x00000cd5
- adds r0, r3
- strb r5, [r0]
- ldr r1, [r1]
- mov r0, sp
- ldrh r2, [r0]
- subs r3, 0x9
- adds r0, r1, r3
- strh r2, [r0]
- ldrh r0, [r6]
- ldr r2, =0x00000cce
- adds r1, r2
- strh r0, [r1]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CD6AC
-
- thumb_func_start sub_80CD70C
-sub_80CD70C: @ 80CD70C
- push {r4-r7,lr}
- ldr r0, =gUnknown_02039D08
- ldr r2, [r0]
- ldr r3, =0x00000cd2
- adds r1, r2, r3
- ldrh r1, [r1]
- adds r4, r0, 0
- cmp r1, 0
- beq _080CD730
- movs r0, 0xCD
- lsls r0, 4
- adds r1, r2, r0
- movs r0, 0xC
- b _080CD738
- .pool
-_080CD730:
- movs r3, 0xCD
- lsls r3, 4
- adds r1, r2, r3
- movs r0, 0x6
-_080CD738:
- strh r0, [r1]
- ldr r1, [r4]
- ldr r0, =0x00000cd7
- adds r2, r1, r0
- ldrb r0, [r2]
- cmp r0, 0
- beq _080CD752
- movs r3, 0xCD
- lsls r3, 4
- adds r0, r1, r3
- ldrh r0, [r0]
- lsrs r0, 1
- strb r0, [r2]
-_080CD752:
- ldr r2, [r4]
- ldr r1, =0x00000cd2
- adds r0, r2, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080CD78C
- cmp r1, 0x1
- beq _080CD7AC
- ldr r3, =0x00000cce
- adds r0, r2, r3
- movs r3, 0
- ldrsh r1, [r0, r3]
- ldr r3, =0x00000cb4
- adds r0, r2, r3
- ldr r0, [r0]
- movs r2, 0x22
- ldrsh r0, [r0, r2]
- b _080CD7C0
- .pool
-_080CD78C:
- ldr r3, =0x00000cce
- adds r0, r2, r3
- movs r3, 0
- ldrsh r1, [r0, r3]
- ldr r3, =0x00000cb4
- adds r0, r2, r3
- ldr r0, [r0]
- movs r2, 0x22
- ldrsh r0, [r0, r2]
- adds r0, 0xC0
- b _080CD7C0
- .pool
-_080CD7AC:
- ldr r3, =0x00000cce
- adds r0, r2, r3
- movs r3, 0
- ldrsh r1, [r0, r3]
- ldr r3, =0x00000cb4
- adds r0, r2, r3
- ldr r0, [r0]
- movs r2, 0x22
- ldrsh r0, [r0, r2]
- subs r0, 0xC0
-_080CD7C0:
- subs r7, r1, r0
- ldr r2, [r4]
- ldr r3, =0x00000cd3
- adds r0, r2, r3
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080CD7FC
- cmp r1, 0x1
- beq _080CD81C
- ldr r1, =0x00000ccc
- adds r0, r2, r1
- movs r3, 0
- ldrsh r1, [r0, r3]
- ldr r3, =0x00000cb4
- adds r0, r2, r3
- ldr r0, [r0]
- movs r2, 0x20
- ldrsh r0, [r0, r2]
- b _080CD830
- .pool
-_080CD7FC:
- ldr r3, =0x00000ccc
- adds r0, r2, r3
- movs r3, 0
- ldrsh r1, [r0, r3]
- ldr r3, =0x00000cb4
- adds r0, r2, r3
- ldr r0, [r0]
- movs r2, 0x20
- ldrsh r0, [r0, r2]
- adds r0, 0xC0
- b _080CD830
- .pool
-_080CD81C:
- ldr r3, =0x00000ccc
- adds r0, r2, r3
- movs r3, 0
- ldrsh r1, [r0, r3]
- ldr r3, =0x00000cb4
- adds r0, r2, r3
- ldr r0, [r0]
- movs r2, 0x20
- ldrsh r0, [r0, r2]
- subs r0, 0xC0
-_080CD830:
- subs r0, r1, r0
- lsls r7, 8
- lsls r0, 8
- ldr r4, [r4]
- ldr r3, =0x00000cc4
- adds r6, r4, r3
- movs r1, 0xCD
- lsls r1, 4
- adds r5, r4, r1
- ldrh r1, [r5]
- bl __divsi3
- str r0, [r6]
- ldr r2, =0x00000cc8
- adds r6, r4, r2
- ldrh r1, [r5]
- adds r0, r7, 0
- bl __divsi3
- str r0, [r6]
- ldr r3, =0x00000cbc
- adds r2, r4, r3
- ldr r0, =0x00000cb4
- adds r1, r4, r0
- ldr r0, [r1]
- movs r3, 0x20
- ldrsh r0, [r0, r3]
- lsls r0, 8
- str r0, [r2]
- movs r0, 0xCC
- lsls r0, 4
- adds r4, r0
- ldr r0, [r1]
- movs r1, 0x22
- ldrsh r0, [r0, r1]
- lsls r0, 8
- str r0, [r4]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CD70C
-
- thumb_func_start sub_80CD894
-sub_80CD894: @ 80CD894
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_80CD6AC
- bl sub_80CD70C
- ldr r5, =gUnknown_02039D08
- ldr r1, [r5]
- ldrb r0, [r1, 0x1]
- cmp r0, 0x3
- beq _080CD8E4
- ldr r2, =0x000021ff
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080CD8FC
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- bne _080CD8FC
- ldr r2, =0x00000cb4
- adds r0, r1, r2
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
- b _080CD8FC
- .pool
-_080CD8E4:
- bl sub_80D127C
- lsls r0, 24
- cmp r0, 0
- bne _080CD8FC
- ldr r0, [r5]
- ldr r1, =0x00000cb4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
-_080CD8FC:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080CD95C
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bne _080CD930
- ldr r0, =gUnknown_02039D79
- ldrb r1, [r0]
- movs r0, 0
- bl sub_80D0E50
- b _080CD93E
- .pool
-_080CD930:
- cmp r0, 0x1
- bne _080CD93E
- ldr r0, =gUnknown_02039D79
- ldrb r1, [r0]
- movs r0, 0x1
- bl sub_80D0E50
-_080CD93E:
- cmp r4, 0
- bne _080CD950
- movs r0, 0
- adds r1, r6, 0
- bl sub_80D0D8C
- b _080CD95C
- .pool
-_080CD950:
- cmp r4, 0x1
- bne _080CD988
- movs r0, 0x1
- adds r1, r6, 0
- bl sub_80D0D8C
-_080CD95C:
- cmp r4, 0x1
- bne _080CD988
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- beq _080CD988
- ldr r1, =gUnknown_02039D08
- ldr r0, [r1]
- ldr r2, =0x00000cd6
- adds r0, r2
- strb r4, [r0]
- ldr r0, [r1]
- ldr r1, =0x00000cb8
- adds r0, r1
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
-_080CD988:
- cmp r4, 0
- beq _080CD9E4
- cmp r4, 0
- blt _080CDA56
- cmp r4, 0x3
- bgt _080CDA56
- ldr r5, =gUnknown_02039D08
- ldr r0, [r5]
- ldr r2, =0x00000cb4
- adds r0, r2
- ldr r4, [r0]
- ldrb r1, [r4, 0x5]
- movs r2, 0xD
- negs r2, r2
- adds r0, r2, 0
- ands r0, r1
- movs r3, 0x4
- orrs r0, r3
- strb r0, [r4, 0x5]
- ldr r0, [r5]
- ldr r4, =0x00000cb8
- adds r0, r4
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r3
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, r4
- ldr r1, [r0]
- ldrb r0, [r1, 0x5]
- ands r2, r0
- orrs r2, r3
- strb r2, [r1, 0x5]
- b _080CDA56
- .pool
-_080CD9E4:
- ldr r3, =gUnknown_02039D08
- ldr r1, [r3]
- ldr r2, =0x000021ff
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CDA28
- ldr r2, =0x00000cb4
- adds r0, r1, r2
- ldr r2, [r0]
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x5]
- ldr r0, [r3]
- ldr r1, =0x00000cb8
- adds r0, r1
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- b _080CDA56
- .pool
-_080CDA28:
- ldr r2, =0x00000cb4
- adds r0, r1, r2
- ldr r2, [r0]
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bne _080CDA56
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CDA56
- movs r0, 0x2
- bl sub_80CC0D4
-_080CDA56:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CD894
-
- thumb_func_start sub_80CDA68
-sub_80CDA68: @ 80CDA68
- push {r4,lr}
- ldr r1, =gUnknown_02039D78
- ldr r4, =gUnknown_02039D08
- ldr r2, [r4]
- ldr r3, =0x00000cd4
- adds r0, r2, r3
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r1, =gUnknown_02039D79
- adds r3, 0x1
- adds r0, r2, r3
- ldrb r0, [r0]
- strb r0, [r1]
- ldrb r0, [r2, 0x1]
- cmp r0, 0x3
- beq _080CDAC0
- ldr r1, =0x000021ff
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080CDAD8
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- bne _080CDAD8
- subs r3, 0x21
- adds r0, r2, r3
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAnim
- b _080CDAD8
- .pool
-_080CDAC0:
- bl sub_80D127C
- lsls r0, 24
- cmp r0, 0
- bne _080CDAD8
- ldr r0, [r4]
- ldr r1, =0x00000cb4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAnim
-_080CDAD8:
- bl sub_80CEB40
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- beq _080CDB0E
- cmp r0, 0x1
- bgt _080CDAFC
- cmp r0, 0
- beq _080CDB30
- b _080CDB8A
- .pool
-_080CDAFC:
- cmp r0, 0x2
- beq _080CDB06
- cmp r0, 0x3
- bne _080CDB8A
- b _080CDB1E
-_080CDB06:
- movs r0, 0x1
- bl sub_80CD1A8
- b _080CDB8A
-_080CDB0E:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r2, =0x00000cb8
- adds r0, r2
- ldr r0, [r0]
- adds r0, 0x43
- movs r1, 0xD
- strb r1, [r0]
-_080CDB1E:
- movs r0, 0x1
- bl sub_80CC0D4
- b _080CDB8A
- .pool
-_080CDB30:
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- ldr r3, =0x000021ff
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _080CDB8A
- ldr r2, =0x00000cb4
- adds r0, r1, r2
- ldr r3, [r0]
- ldrb r1, [r3, 0x5]
- movs r2, 0xD
- negs r2, r2
- adds r0, r2, 0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3, 0x5]
- ldr r0, [r4]
- ldr r3, =0x00000cb8
- adds r0, r3
- ldr r1, [r0]
- ldrb r0, [r1, 0x5]
- ands r2, r0
- movs r0, 0x8
- orrs r2, r0
- strb r2, [r1, 0x5]
- ldr r0, [r4]
- adds r0, r3
- ldr r0, [r0]
- adds r0, 0x43
- movs r1, 0x15
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, r3
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- movs r0, 0x2
- bl sub_80CC0D4
-_080CDB8A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CDA68
-
- thumb_func_start sub_80CDBA0
-sub_80CDBA0: @ 80CDBA0
- push {lr}
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- bne _080CDBB4
- movs r3, 0
- b _080CDBC2
- .pool
-_080CDBB4:
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x5
- bls _080CDBC2
- movs r3, 0x5
-_080CDBC2:
- ldr r0, =gUnknown_02039D08
- ldr r2, [r0]
- ldr r1, =0x00000cb4
- adds r0, r2, r1
- ldr r0, [r0]
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080CDBE0
- ldr r0, =0x00000cd7
- adds r1, r2, r0
- movs r0, 0x1
- strb r0, [r1]
-_080CDBE0:
- movs r0, 0x1
- adds r1, r3, 0
- bl sub_80CD894
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CDBA0
-
- thumb_func_start sub_80CDBF8
-sub_80CDBF8: @ 80CDBF8
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- bl sub_80CD894
- pop {r0}
- bx r0
- thumb_func_end sub_80CDBF8
-
- thumb_func_start sub_80CDC0C
-sub_80CDC0C: @ 80CDC0C
- ldr r1, =gUnknown_02039D7E
- movs r0, 0
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_80CDC0C
-
- thumb_func_start sub_80CDC18
-sub_80CDC18: @ 80CDC18
- ldr r0, =gUnknown_02039D7E
- ldr r1, =gUnknown_02039D79
- ldrb r1, [r1]
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_80CDC18
-
- thumb_func_start sub_80CDC2C
-sub_80CDC2C: @ 80CDC2C
- ldr r0, =gUnknown_02039D7E
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80CDC2C
-
- thumb_func_start sub_80CDC38
-sub_80CDC38: @ 80CDC38
- lsls r0, 24
- ldr r1, =gUnknown_02039D08
- ldr r1, [r1]
- ldr r2, =0x00000d8c
- adds r3, r1, r2
- ldr r2, =gUnknown_0857B998
- lsrs r0, 22
- adds r0, r2
- ldr r0, [r0]
- str r0, [r3]
- movs r0, 0xD9
- lsls r0, 4
- adds r1, r0
- movs r0, 0
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_80CDC38
-
- thumb_func_start sub_80CDC64
-sub_80CDC64: @ 80CDC64
- push {lr}
- lsls r0, 24
- cmp r0, 0
- bne _080CDC84
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r2, =0x00000d8c
- adds r1, r2
- ldr r2, =sub_80CDEB4
- b _080CDC8E
- .pool
-_080CDC84:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r2, =0x00000d8c
- adds r1, r2
- ldr r2, =sub_80CDEC4
-_080CDC8E:
- str r2, [r1]
- ldr r0, [r0]
- movs r1, 0xD9
- lsls r1, 4
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CDC64
-
- thumb_func_start sub_80CDCAC
-sub_80CDCAC: @ 80CDCAC
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00000d8c
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80CDCAC
-
- thumb_func_start sub_80CDCCC
-sub_80CDCCC: @ 80CDCCC
- push {r4,r5,lr}
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- movs r5, 0xD9
- lsls r5, 4
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080CDD1C
- cmp r0, 0x1
- bgt _080CDCEC
- cmp r0, 0
- beq _080CDCF6
- b _080CDD54
- .pool
-_080CDCEC:
- cmp r0, 0x2
- beq _080CDD40
- cmp r0, 0x3
- beq _080CDCFE
- b _080CDD54
-_080CDCF6:
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CDD08
-_080CDCFE:
- movs r0, 0
- b _080CDD56
- .pool
-_080CDD08:
- ldr r2, =0x00000cb4
- adds r0, r1, r2
- ldr r0, [r0]
- movs r1, 0x2
- bl StartSpriteAnim
- b _080CDD4A
- .pool
-_080CDD1C:
- bl sub_80CDED4
- lsls r0, 24
- cmp r0, 0
- bne _080CDD54
- ldr r0, [r4]
- ldr r1, =0x00000cb4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x3
- bl StartSpriteAnim
- bl sub_80CDF38
- b _080CDD4A
- .pool
-_080CDD40:
- bl sub_80CDF08
- lsls r0, 24
- cmp r0, 0
- bne _080CDD54
-_080CDD4A:
- ldr r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080CDD54:
- movs r0, 0x1
-_080CDD56:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80CDCCC
-
- thumb_func_start sub_80CDD5C
-sub_80CDD5C: @ 80CDD5C
- push {r4,r5,lr}
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- movs r5, 0xD9
- lsls r5, 4
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080CDDA4
- cmp r0, 0x1
- bgt _080CDD7C
- cmp r0, 0
- beq _080CDD82
- b _080CDDD0
- .pool
-_080CDD7C:
- cmp r0, 0x2
- beq _080CDDCC
- b _080CDDD0
-_080CDD82:
- bl sub_80CDED4
- lsls r0, 24
- cmp r0, 0
- bne _080CDDD0
- ldr r0, [r4]
- ldr r1, =0x00000cb4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2
- bl StartSpriteAnim
- bl sub_80CDFAC
- b _080CDDBC
- .pool
-_080CDDA4:
- bl sub_80CDF08
- lsls r0, 24
- cmp r0, 0
- bne _080CDDD0
- ldr r0, [r4]
- ldr r1, =0x00000cb4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAnim
-_080CDDBC:
- ldr r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080CDDD0
- .pool
-_080CDDCC:
- movs r0, 0
- b _080CDDD2
-_080CDDD0:
- movs r0, 0x1
-_080CDDD2:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80CDD5C
-
- thumb_func_start sub_80CDDD8
-sub_80CDDD8: @ 80CDDD8
- push {r4,r5,lr}
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- movs r5, 0xD9
- lsls r5, 4
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080CDE68
- cmp r0, 0x1
- bgt _080CDDF8
- cmp r0, 0
- beq _080CDDFE
- b _080CDEAC
- .pool
-_080CDDF8:
- cmp r0, 0x2
- beq _080CDEA8
- b _080CDEAC
-_080CDDFE:
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _080CDE20
- cmp r0, 0x1
- bne _080CDEA8
- ldr r0, =0x00000d91
- adds r1, r0
- movs r0, 0xE
- b _080CDE2A
- .pool
-_080CDE20:
- bl StorageGetCurrentBox
- ldr r1, [r4]
- ldr r2, =0x00000d91
- adds r1, r2
-_080CDE2A:
- strb r0, [r1]
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldr r1, =0x00000cb4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2
- bl StartSpriteAnim
- ldr r0, [r4]
- ldr r2, =0x00000d91
- adds r0, r2
- ldrb r0, [r0]
- ldr r1, =gUnknown_02039D79
- ldrb r1, [r1]
- bl sub_80CBD5C
- ldr r1, [r4]
- movs r0, 0xD9
- lsls r0, 4
- adds r1, r0
- b _080CDE94
- .pool
-_080CDE68:
- bl sub_80CBDC4
- lsls r0, 24
- cmp r0, 0
- bne _080CDEAC
- ldr r0, [r4]
- ldr r1, =0x00000cb4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x3
- bl StartSpriteAnim
- ldr r0, [r4]
- ldr r2, =0x00000d91
- adds r0, r2
- ldrb r0, [r0]
- ldr r1, =gUnknown_02039D79
- ldrb r1, [r1]
- bl diegohint1
- ldr r1, [r4]
- adds r1, r5
-_080CDE94:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080CDEAC
- .pool
-_080CDEA8:
- movs r0, 0
- b _080CDEAE
-_080CDEAC:
- movs r0, 0x1
-_080CDEAE:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80CDDD8
-
- thumb_func_start sub_80CDEB4
-sub_80CDEB4: @ 80CDEB4
- push {lr}
- bl sub_80CDED4
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80CDEB4
-
- thumb_func_start sub_80CDEC4
-sub_80CDEC4: @ 80CDEC4
- push {lr}
- bl sub_80CDF08
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80CDEC4
-
- thumb_func_start sub_80CDED4
-sub_80CDED4: @ 80CDED4
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00000cb4
- adds r0, r1
- ldr r1, [r0]
- movs r2, 0x26
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _080CDEEC
- cmp r0, 0x8
- beq _080CDEFC
-_080CDEEC:
- ldrh r0, [r1, 0x26]
- adds r0, 0x1
- strh r0, [r1, 0x26]
- b _080CDF00
- .pool
-_080CDEFC:
- movs r0, 0
- b _080CDF02
-_080CDF00:
- movs r0, 0x1
-_080CDF02:
- pop {r1}
- bx r1
- thumb_func_end sub_80CDED4
-
- thumb_func_start sub_80CDF08
-sub_80CDF08: @ 80CDF08
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00000cb4
- adds r0, r1
- ldr r1, [r0]
- movs r2, 0x26
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _080CDF30
- ldrh r0, [r1, 0x26]
- subs r0, 0x1
- strh r0, [r1, 0x26]
- movs r0, 0x1
- b _080CDF32
- .pool
-_080CDF30:
- movs r0, 0
-_080CDF32:
- pop {r1}
- bx r1
- thumb_func_end sub_80CDF08
-
- thumb_func_start sub_80CDF38
-sub_80CDF38: @ 80CDF38
- push {r4,lr}
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _080CDF68
- cmp r0, 0x1
- bne _080CDF94
- ldr r4, =gUnknown_02039D79
- ldrb r1, [r4]
- movs r0, 0xE
- bl sub_80CE018
- ldrb r1, [r4]
- movs r0, 0
- bl sub_80CBC14
- b _080CDF8E
- .pool
-_080CDF68:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x000021ff
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080CDF8E
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- ldr r4, =gUnknown_02039D79
- ldrb r1, [r4]
- bl sub_80CE018
- ldrb r1, [r4]
- movs r0, 0x1
- bl sub_80CBC14
-_080CDF8E:
- ldr r1, =gUnknown_02039D7A
- movs r0, 0x1
- strb r0, [r1]
-_080CDF94:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CDF38
-
- thumb_func_start sub_80CDFAC
-sub_80CDFAC: @ 80CDFAC
- push {r4,r5,lr}
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _080CDFDC
- cmp r0, 0x1
- bne _080CDFFE
- ldr r4, =gUnknown_02039D79
- ldrb r1, [r4]
- movs r0, 0xE
- bl diegohint2
- ldrb r1, [r4]
- movs r0, 0xE
- bl sub_80CBCAC
- b _080CDFF8
- .pool
-_080CDFDC:
- bl StorageGetCurrentBox
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, =gUnknown_02039D79
- ldrb r1, [r5]
- adds r0, r4, 0
- bl diegohint2
- ldrb r1, [r5]
- adds r0, r4, 0
- bl sub_80CBCAC
-_080CDFF8:
- ldr r1, =gUnknown_02039D7A
- movs r0, 0
- strb r0, [r1]
-_080CDFFE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CDFAC
-
- thumb_func_start sub_80CE00C
-sub_80CE00C: @ 80CE00C
- push {lr}
- bl sub_80CEB40
- pop {r0}
- bx r0
- thumb_func_end sub_80CE00C
-
- thumb_func_start sub_80CE018
-sub_80CE018: @ 80CE018
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- cmp r4, 0xE
- bne _080CE054
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x000020a4
- adds r0, r1
- ldr r3, =gPlayerParty
- ldr r1, =gUnknown_02039D79
- movs r2, 0
- ldrsb r2, [r1, r2]
- movs r1, 0x64
- muls r1, r2
- adds r1, r3
- movs r2, 0x64
- bl memcpy
- b _080CE064
- .pool
-_080CE054:
- ldr r0, =gUnknown_02039D08
- ldr r2, [r0]
- ldr r0, =0x000020a4
- adds r2, r0
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80D2054
-_080CE064:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80CE0E8
- ldr r0, =gUnknown_02039D7B
- strb r4, [r0]
- ldr r0, =gUnknown_02039D7C
- strb r5, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CE018
-
- thumb_func_start diegohint2
-diegohint2: @ 80CE08C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- cmp r6, 0xE
- bne _080CE0C0
- ldr r1, =gPlayerParty
- movs r0, 0x64
- muls r0, r7
- adds r0, r1
- ldr r1, =gUnknown_02039D08
- ldr r1, [r1]
- ldr r2, =0x000020a4
- adds r1, r2
- movs r2, 0x64
- bl memcpy
- b _080CE0D8
- .pool
-_080CE0C0:
- ldr r5, =gUnknown_02039D08
- ldr r0, [r5]
- ldr r4, =0x000020a4
- adds r0, r4
- bl BoxMonRestorePP
- ldr r2, [r5]
- adds r2, r4
- adds r0, r6, 0
- adds r1, r7, 0
- bl CopyBoxMonFromAnyBox
-_080CE0D8:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end diegohint2
-
- thumb_func_start sub_80CE0E8
-sub_80CE0E8: @ 80CE0E8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- cmp r0, 0xE
- bne _080CE108
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- bl ZeroMonData
- b _080CE10C
- .pool
-_080CE108:
- bl ClearMonInBox
-_080CE10C:
- pop {r0}
- bx r0
- thumb_func_end sub_80CE0E8
-
- thumb_func_start diegohint1
-diegohint1: @ 80CE110
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- cmp r6, 0xE
- bne _080CE144
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00002108
- adds r0, r1
- ldr r2, =gPlayerParty
- movs r1, 0x64
- muls r1, r7
- adds r1, r2
- movs r2, 0x64
- bl memcpy
- b _080CE154
- .pool
-_080CE144:
- ldr r0, =gUnknown_02039D08
- ldr r2, [r0]
- ldr r0, =0x00002108
- adds r2, r0
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_80D2054
-_080CE154:
- adds r0, r6, 0
- adds r1, r7, 0
- bl diegohint2
- ldr r5, =gUnknown_02039D08
- ldr r1, [r5]
- ldr r4, =0x000020a4
- adds r0, r1, r4
- ldr r2, =0x00002108
- adds r1, r2
- movs r2, 0x64
- bl memcpy
- ldr r0, [r5]
- adds r0, r4
- movs r1, 0
- bl sub_80CEC00
- ldr r0, =gUnknown_02039D7B
- strb r6, [r0]
- ldr r0, =gUnknown_02039D7C
- strb r7, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end diegohint1
-
- thumb_func_start sub_80CE19C
-sub_80CE19C: @ 80CE19C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r6, 0
- bl GetFirstFreeBoxSpot
- lsls r0, 16
- lsrs r4, r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080CE1BA
- movs r0, 0
- b _080CE21A
-_080CE1BA:
- ldr r5, =gUnknown_02039D7A
- ldrb r0, [r5]
- cmp r0, 0
- beq _080CE1DC
- lsls r4, 24
- lsrs r1, r4, 24
- adds r0, r6, 0
- bl diegohint2
- bl sub_80CBAC4
- movs r0, 0
- strb r0, [r5]
- b _080CE1F6
- .pool
-_080CE1DC:
- ldr r5, =gUnknown_02039D79
- ldrb r1, [r5]
- movs r0, 0xE
- bl sub_80CE018
- lsls r4, 24
- lsrs r1, r4, 24
- adds r0, r6, 0
- bl diegohint2
- ldrb r0, [r5]
- bl sub_80CBB68
-_080CE1F6:
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- cmp r6, r0
- bne _080CE208
- lsrs r0, r4, 24
- bl sub_80CB140
-_080CE208:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00000cb4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
- movs r0, 0x1
-_080CE21A:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80CE19C
-
- thumb_func_start sub_80CE22C
-sub_80CE22C: @ 80CE22C
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00000cb4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAnim
- bl sub_80CEB40
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CE22C
-
- thumb_func_start sub_80CE250
-sub_80CE250: @ 80CE250
- push {lr}
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CE264
- movs r2, 0x2
- b _080CE274
- .pool
-_080CE264:
- ldr r0, =gUnknown_02039D78
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r2, 0x1
- eors r1, r2
- negs r0, r1
- orrs r0, r1
- lsrs r2, r0, 31
-_080CE274:
- ldr r0, =gUnknown_02039D79
- ldrb r1, [r0]
- adds r0, r2, 0
- bl sub_80CBF14
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r2, =0x000021e0
- adds r0, r1, r2
- ldr r2, =0x00000cee
- adds r1, r2
- bl StringCopy
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CE250
-
- thumb_func_start sub_80CE2A8
-sub_80CE2A8: @ 80CE2A8
- push {lr}
- bl sub_80CBFD8
- lsls r0, 24
- cmp r0, 0
- beq _080CE2B8
- movs r0, 0x1
- b _080CE2CA
-_080CE2B8:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00000cb4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAnim
- movs r0, 0
-_080CE2CA:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80CE2A8
-
- thumb_func_start sub_80CE2D8
-sub_80CE2D8: @ 80CE2D8
- push {lr}
- bl sub_80CC020
- ldr r1, =gUnknown_02039D7A
- ldrb r0, [r1]
- cmp r0, 0
- beq _080CE2F0
- movs r0, 0
- strb r0, [r1]
- b _080CE316
- .pool
-_080CE2F0:
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _080CE304
- movs r2, 0xE
- b _080CE30C
- .pool
-_080CE304:
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r2, r0, 24
-_080CE30C:
- ldr r0, =gUnknown_02039D79
- ldrb r1, [r0]
- adds r0, r2, 0
- bl sub_80CE0E8
-_080CE316:
- bl sub_80CEB40
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CE2D8
-
- thumb_func_start sub_80CE324
-sub_80CE324: @ 80CE324
- push {lr}
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CE33E
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00000cb4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x3
- bl StartSpriteAnim
-_080CE33E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CE324
-
- thumb_func_start sub_80CE350
-sub_80CE350: @ 80CE350
- push {r4,r5,lr}
- adds r3, r0, 0
- movs r5, 0
- ldr r4, =gUnknown_0857B9A4
-_080CE358:
- movs r1, 0
- ldrsb r1, [r4, r1]
- cmp r1, 0x22
- beq _080CE378
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- movs r0, 0x4
- ldrsb r0, [r2, r0]
- cmp r1, r0
- bne _080CE37E
- movs r1, 0x1
- ldrsb r1, [r4, r1]
- movs r0, 0x5
- ldrsb r0, [r2, r0]
- cmp r1, r0
- bne _080CE37E
-_080CE378:
- ldrh r0, [r4, 0x2]
- strh r0, [r3]
- adds r3, 0x2
-_080CE37E:
- adds r4, 0x4
- adds r5, 0x1
- cmp r5, 0x5
- bls _080CE358
- ldr r1, =0x00000163
- adds r0, r1, 0
- strh r0, [r3]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CE350
-
- thumb_func_start sub_80CE3A0
-sub_80CE3A0: @ 80CE3A0
- push {r4,r5,lr}
- bl sub_80CE51C
- adds r3, r0, 0
- cmp r3, 0
- bne _080CE3D0
- ldr r2, =gUnknown_02039D08
- ldr r0, [r2]
- ldr r1, =0x0000216d
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r2]
- ldr r2, =0x0000216c
- adds r0, r2
- strb r3, [r0]
- b _080CE504
- .pool
-_080CE3D0:
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CE418
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- ldr r3, =0x00002108
- adds r0, r1, r3
- ldr r2, =0x000020a4
- adds r1, r2
- movs r2, 0x64
- bl memcpy
- ldr r0, [r4]
- ldr r3, =0x00002170
- adds r0, r3
- movs r1, 0xFF
- strb r1, [r0]
- ldr r0, [r4]
- ldr r1, =0x00002171
- adds r0, r1
- movs r1, 0x1
- negs r1, r1
- b _080CE494
- .pool
-_080CE418:
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _080CE464
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldr r2, =0x00002108
- adds r0, r2
- ldr r3, =gPlayerParty
- ldr r1, =gUnknown_02039D79
- movs r2, 0
- ldrsb r2, [r1, r2]
- movs r1, 0x64
- muls r1, r2
- adds r1, r3
- movs r2, 0x64
- bl memcpy
- ldr r0, [r4]
- ldr r3, =0x00002170
- adds r0, r3
- movs r1, 0xE
- strb r1, [r0]
- b _080CE488
- .pool
-_080CE464:
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_02039D79
- ldrb r1, [r1]
- ldr r4, =gUnknown_02039D08
- ldr r2, [r4]
- ldr r3, =0x00002108
- adds r2, r3
- bl sub_80D2054
- bl StorageGetCurrentBox
- ldr r1, [r4]
- ldr r2, =0x00002170
- adds r1, r2
- strb r0, [r1]
-_080CE488:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =gUnknown_02039D79
- ldrb r1, [r1]
- ldr r3, =0x00002171
- adds r0, r3
-_080CE494:
- strb r1, [r0]
- ldr r5, =gUnknown_02039D08
- ldr r0, [r5]
- ldr r4, =0x00002176
- adds r0, r4
- bl sub_80CE350
- ldr r2, [r5]
- ldr r1, =0x00002108
- adds r0, r2, r1
- adds r2, r4
- movs r1, 0x51
- bl GetMonData
- ldr r2, [r5]
- ldr r3, =0x00002174
- adds r1, r2, r3
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- beq _080CE4E8
- ldr r0, =0x0000216d
- adds r1, r2, r0
- movs r0, 0
- strb r0, [r1]
- b _080CE4F8
- .pool
-_080CE4E8:
- ldr r1, =0x0000216d
- adds r0, r2, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r5]
- ldr r2, =0x0000216c
- adds r0, r2
- strb r1, [r0]
-_080CE4F8:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r3, =0x00002172
- adds r0, r3
- movs r1, 0
- strh r1, [r0]
-_080CE504:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CE3A0
-
- thumb_func_start sub_80CE51C
-sub_80CE51C: @ 80CE51C
- push {r4-r6,lr}
- ldr r0, =gUnknown_02039D7A
- ldrb r1, [r0]
- negs r0, r1
- orrs r0, r1
- lsrs r5, r0, 31
- movs r4, 0
-_080CE52A:
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x5
- bl GetMonData
- cmp r0, 0
- beq _080CE53E
- adds r5, 0x1
-_080CE53E:
- adds r4, 0x1
- cmp r4, 0x5
- ble _080CE52A
- cmp r5, 0x2
- ble _080CE554
-_080CE548:
- movs r0, 0x1
- b _080CE578
- .pool
-_080CE554:
- movs r6, 0
-_080CE556:
- movs r4, 0
-_080CE558:
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80D2270
- cmp r0, 0
- beq _080CE56A
- adds r5, 0x1
- cmp r5, 0x2
- bgt _080CE548
-_080CE56A:
- adds r4, 0x1
- cmp r4, 0x1D
- ble _080CE558
- adds r6, 0x1
- cmp r6, 0xD
- ble _080CE556
- movs r0, 0
-_080CE578:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80CE51C
-
- thumb_func_start sub_80CE580
-sub_80CE580: @ 80CE580
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, =gUnknown_02039D08
- ldr r2, [r0]
- ldr r3, =0x0000216d
- adds r1, r2, r3
- ldrb r1, [r1]
- adds r5, r0, 0
- cmp r1, 0
- beq _080CE5B0
- ldr r1, =0x0000216c
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- b _080CE736
- .pool
-_080CE5B0:
- ldr r3, =0x00002172
- adds r0, r2, r3
- ldrh r0, [r0]
- cmp r0, 0
- beq _080CE5C4
- cmp r0, 0x1
- beq _080CE690
- b _080CE732
- .pool
-_080CE5C4:
- movs r6, 0
-_080CE5C6:
- ldr r2, [r5]
- ldr r1, =0x00002170
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0xE
- bne _080CE5E4
- ldr r3, =0x00002171
- adds r0, r2, r3
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, r6
- beq _080CE606
-_080CE5E4:
- movs r0, 0x64
- muls r0, r6
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =0x00002176
- adds r2, r1
- movs r1, 0x51
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r1, [r5]
- ldr r2, =0x00002174
- adds r1, r2
- ldrh r0, [r1]
- bics r0, r4
- strh r0, [r1]
-_080CE606:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x5
- bls _080CE5C6
- ldr r2, =gUnknown_02039D08
- ldr r1, [r2]
- ldr r3, =0x00002174
- adds r0, r1, r3
- ldrh r0, [r0]
- cmp r0, 0
- bne _080CE64C
- subs r3, 0x7
- adds r0, r1, r3
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r2]
- ldr r2, =0x0000216c
- adds r0, r2
- strb r1, [r0]
- b _080CE732
- .pool
-_080CE64C:
- ldr r3, =0x0000216e
- adds r0, r1, r3
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- adds r3, 0x1
- adds r0, r3
- strb r1, [r0]
- ldr r1, [r2]
- ldr r0, =0x00002172
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080CE732
- .pool
-_080CE674:
- ldr r1, =0x0000216d
- adds r0, r5, r1
- movs r1, 0x1
- strb r1, [r0]
- mov r2, r8
- ldr r0, [r2]
- ldr r3, =0x0000216c
- adds r0, r3
- strb r1, [r0]
- b _080CE732
- .pool
-_080CE690:
- movs r6, 0
- mov r8, r5
- ldr r7, =0x0000ffff
-_080CE696:
- mov r0, r8
- ldr r3, [r0]
- ldr r1, =0x0000216e
- adds r0, r3, r1
- ldrb r0, [r0]
- ldr r2, =0x0000216f
- adds r1, r3, r2
- ldrb r1, [r1]
- adds r2, 0x7
- adds r3, r2
- movs r2, 0x51
- bl GetAndCopyBoxMonDataFromAnyBox
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _080CE6E0
- ldr r5, [r5]
- ldr r3, =0x00002170
- adds r0, r5, r3
- ldrh r2, [r0]
- ldr r1, =0x0000216e
- adds r0, r5, r1
- ldrh r3, [r0]
- adds r1, r7, 0
- ands r1, r2
- adds r0, r7, 0
- ands r0, r3
- cmp r1, r0
- beq _080CE6E0
- ldr r2, =0x00002174
- adds r1, r5, r2
- ldrh r0, [r1]
- bics r0, r4
- strh r0, [r1]
- cmp r0, 0
- beq _080CE674
-_080CE6E0:
- ldr r2, =gUnknown_02039D08
- ldr r1, [r2]
- ldr r3, =0x0000216f
- adds r1, r3
- ldrb r0, [r1]
- adds r0, 0x1
- movs r3, 0
- strb r0, [r1]
- lsls r0, 24
- asrs r0, 24
- adds r5, r2, 0
- cmp r0, 0x1D
- ble _080CE728
- ldr r0, [r2]
- ldr r1, =0x0000216f
- adds r0, r1
- strb r3, [r0]
- ldr r1, [r2]
- ldr r0, =0x0000216e
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0xD
- ble _080CE728
- ldr r0, [r2]
- ldr r1, =0x0000216d
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r2]
- ldr r2, =0x0000216c
- adds r0, r2
- strb r3, [r0]
-_080CE728:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x1D
- bls _080CE696
-_080CE732:
- movs r0, 0x1
- negs r0, r0
-_080CE736:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80CE580
-
- thumb_func_start sub_80CE760
-sub_80CE760: @ 80CE760
- push {lr}
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CE77A
- ldr r0, =gUnknown_02039D14
- ldr r1, =gUnknown_02039D08
- ldr r1, [r1]
- ldr r2, =0x000020a4
- adds r1, r2
- movs r2, 0x64
- bl memcpy
-_080CE77A:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CE760
-
- thumb_func_start sub_80CE790
-sub_80CE790: @ 80CE790
- push {lr}
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CE7D8
- ldr r0, =gUnknown_02039D7B
- ldrb r0, [r0]
- cmp r0, 0xE
- bne _080CE7C8
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x000020a4
- adds r0, r1
- ldr r1, =gUnknown_02039D14
- movs r2, 0x64
- bl memcpy
- b _080CE7D8
- .pool
-_080CE7C8:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x000020a4
- adds r0, r1
- ldr r1, =gUnknown_02039D14
- movs r2, 0x50
- bl memcpy
-_080CE7D8:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CE790
-
- thumb_func_start sub_80CE7E8
-sub_80CE7E8: @ 80CE7E8
- push {r4,r5,lr}
- ldr r0, =gUnknown_02039D7A
- ldrb r5, [r0]
- cmp r5, 0
- beq _080CE838
- bl sub_80CE760
- ldr r3, =gUnknown_02039D08
- ldr r1, [r3]
- ldr r0, =0x0000218c
- adds r2, r1, r0
- ldr r0, =gUnknown_02039D14
- str r0, [r2]
- ldr r2, =0x00002187
- adds r1, r2
- movs r2, 0
- strb r2, [r1]
- ldr r0, [r3]
- ldr r4, =0x00002186
- adds r0, r4
- strb r2, [r0]
- ldr r0, [r3]
- ldr r1, =0x00002188
- adds r0, r1
- strb r2, [r0]
- b _080CE8CA
- .pool
-_080CE838:
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _080CE894
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- ldr r0, =0x0000218c
- adds r2, r1, r0
- ldr r0, =gPlayerParty
- str r0, [r2]
- ldr r0, =gUnknown_02039D79
- ldrb r0, [r0]
- ldr r2, =0x00002187
- adds r1, r2
- strb r0, [r1]
- bl CountPartyMons
- ldr r1, [r4]
- subs r0, 0x1
- ldr r2, =0x00002186
- adds r1, r2
- strb r0, [r1]
- ldr r0, [r4]
- ldr r4, =0x00002188
- adds r0, r4
- strb r5, [r0]
- b _080CE8CA
- .pool
-_080CE894:
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl GetBoxedMonPtr
- ldr r3, =gUnknown_02039D08
- ldr r2, [r3]
- ldr r4, =0x0000218c
- adds r1, r2, r4
- str r0, [r1]
- ldr r0, =gUnknown_02039D79
- ldrb r0, [r0]
- ldr r1, =0x00002187
- adds r2, r1
- strb r0, [r2]
- ldr r0, [r3]
- ldr r2, =0x00002186
- adds r0, r2
- movs r1, 0x1D
- strb r1, [r0]
- ldr r0, [r3]
- subs r4, 0x4
- adds r0, r4
- movs r1, 0x2
- strb r1, [r0]
-_080CE8CA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CE7E8
-
- thumb_func_start sub_80CE8E4
-sub_80CE8E4: @ 80CE8E4
- push {lr}
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CE8F8
- bl sub_80CE790
- b _080CE900
- .pool
-_080CE8F8:
- ldr r0, =gUnknown_02039D79
- ldr r1, =gUnknown_0203CF20
- ldrb r1, [r1]
- strb r1, [r0]
-_080CE900:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CE8E4
-
- thumb_func_start CompactPartySlots
-CompactPartySlots: @ 80CE90C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r7, =0x0000ffff
- movs r6, 0
- movs r5, 0
- movs r0, 0x64
- mov r9, r0
- ldr r1, =gPlayerParty
- mov r8, r1
- subs r0, 0x65
- mov r10, r0
-_080CE928:
- mov r0, r9
- muls r0, r6
- mov r1, r8
- adds r4, r0, r1
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- cmp r0, 0
- beq _080CE960
- cmp r6, r5
- beq _080CE950
- mov r0, r9
- muls r0, r5
- add r0, r8
- adds r1, r4, 0
- movs r2, 0x64
- bl memcpy
-_080CE950:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- b _080CE96A
- .pool
-_080CE960:
- lsls r0, r7, 16
- asrs r0, 16
- cmp r0, r10
- bne _080CE96A
- adds r7, r6, 0
-_080CE96A:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x5
- bls _080CE928
- lsls r7, 16
- cmp r5, 0x5
- bhi _080CE992
- movs r6, 0x64
- ldr r4, =gPlayerParty
-_080CE97E:
- adds r0, r5, 0
- muls r0, r6
- adds r0, r4
- bl ZeroMonData
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _080CE97E
-_080CE992:
- asrs r0, r7, 16
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end CompactPartySlots
-
- thumb_func_start sub_80CE9A8
-sub_80CE9A8: @ 80CE9A8
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- strb r0, [r1]
- ldr r2, =gUnknown_02039D08
- ldr r1, [r2]
- ldr r3, =0x00000ceb
- adds r1, r3
- strb r0, [r1]
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CE9E8
- ldr r0, [r2]
- ldr r1, =0x000020a4
- adds r0, r1
- movs r1, 0x8
- mov r2, sp
- bl SetMonData
- b _080CEA1C
- .pool
-_080CE9E8:
- ldr r4, =gUnknown_02039D78
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0x1
- bne _080CEA08
- ldr r0, =gUnknown_02039D79
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x8
- mov r2, sp
- bl SetMonData
-_080CEA08:
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0
- bne _080CEA1C
- ldr r0, =gUnknown_02039D79
- ldrb r0, [r0]
- movs r1, 0x8
- mov r2, sp
- bl SetBoxMonDataFromSelectedBox
-_080CEA1C:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CE9A8
-
- thumb_func_start sub_80CEA30
-sub_80CEA30: @ 80CEA30
- push {lr}
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _080CEA64
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- bne _080CEA64
- ldr r0, =gUnknown_02039D79
- ldrb r0, [r0]
- bl CountPartyAliveNonEggMonsExcept
- lsls r0, 24
- cmp r0, 0
- bne _080CEA64
- movs r0, 0x1
- b _080CEA66
- .pool
-_080CEA64:
- movs r0, 0
-_080CEA66:
- pop {r1}
- bx r1
- thumb_func_end sub_80CEA30
-
- thumb_func_start sub_80CEA6C
-sub_80CEA6C: @ 80CEA6C
- push {lr}
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CEAC8
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _080CEAAC
- ldr r0, =gUnknown_02039D79
- ldrb r0, [r0]
- bl CountPartyAliveNonEggMonsExcept
- lsls r0, 24
- cmp r0, 0
- bne _080CEAAC
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r2, =0x00000ced
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080CEAC8
- ldr r2, =0x000020a4
- adds r0, r1, r2
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _080CEAC8
-_080CEAAC:
- movs r0, 0x1
- b _080CEACA
- .pool
-_080CEAC8:
- movs r0, 0
-_080CEACA:
- pop {r1}
- bx r1
- thumb_func_end sub_80CEA6C
-
- thumb_func_start sub_80CEAD0
-sub_80CEAD0: @ 80CEAD0
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80CEAD0
-
- thumb_func_start sub_80CEADC
-sub_80CEADC: @ 80CEADC
- push {lr}
- movs r1, 0
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x2
- bne _080CEAEE
- movs r1, 0x1
-_080CEAEE:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80CEADC
-
- thumb_func_start sub_80CEAF8
-sub_80CEAF8: @ 80CEAF8
- push {lr}
- movs r1, 0
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x3
- bne _080CEB16
- ldr r0, =gUnknown_02039D79
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _080CEB16
- movs r1, 0x1
-_080CEB16:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80CEAF8
-
- thumb_func_start sub_80CEB24
-sub_80CEB24: @ 80CEB24
- push {lr}
- movs r1, 0
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bne _080CEB36
- movs r1, 0x1
-_080CEB36:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80CEB24
-
- thumb_func_start sub_80CEB40
-sub_80CEB40: @ 80CEB40
- push {r4,lr}
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- movs r2, 0
- ldr r3, =gUnknown_02039D7A
- ldrb r0, [r3]
- cmp r0, 0
- bne _080CEB52
- movs r2, 0x1
-_080CEB52:
- ldr r4, =0x00000cea
- adds r0, r1, r4
- strb r2, [r0]
- ldrb r0, [r3]
- cmp r0, 0
- bne _080CEBD0
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- beq _080CEB8A
- cmp r0, 0x1
- bgt _080CEB84
- cmp r0, 0
- beq _080CEBBA
- b _080CEBD0
- .pool
-_080CEB84:
- cmp r0, 0x3
- bgt _080CEBD0
- b _080CEBB0
-_080CEB8A:
- ldr r1, =gUnknown_02039D79
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r0, 0x5
- bgt _080CEBB0
- adds r1, r0, 0
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0
- bl sub_80CEC00
- b _080CEBD0
- .pool
-_080CEBB0:
- movs r0, 0
- movs r1, 0x2
- bl sub_80CEC00
- b _080CEBD0
-_080CEBBA:
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_02039D79
- ldrb r1, [r1]
- bl GetBoxedMonPtr
- movs r1, 0x1
- bl sub_80CEC00
-_080CEBD0:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CEB40
-
- thumb_func_start sub_80CEBDC
-sub_80CEBDC: @ 80CEBDC
- push {lr}
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CEBF8
- ldr r0, =gUnknown_02039D14
- movs r1, 0
- bl sub_80CEC00
- b _080CEBFC
- .pool
-_080CEBF8:
- bl sub_80CEB40
-_080CEBFC:
- pop {r0}
- bx r0
- thumb_func_end sub_80CEBDC
-
- thumb_func_start sub_80CEC00
-sub_80CEC00: @ 80CEC00
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r5, r1, 0
- ldr r0, =gUnknown_02039D08
- mov r8, r0
- ldr r1, [r0]
- ldr r3, =0x00000ce6
- adds r2, r1, r3
- movs r0, 0
- strh r0, [r2]
- mov r9, r0
- mov r10, r0
- cmp r5, 0
- bne _080CED18
- adds r6, r4, 0
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- mov r2, r8
- ldr r1, [r2]
- ldr r3, =0x00000ce4
- adds r1, r3
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- bne _080CEC44
- b _080CEE34
-_080CEC44:
- adds r0, r4, 0
- movs r1, 0x4
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- cmp r0, 0
- beq _080CEC74
- mov r1, r8
- ldr r0, [r1]
- ldr r2, =0x00000ced
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0]
- b _080CEC86
- .pool
-_080CEC74:
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- mov r3, r8
- ldr r1, [r3]
- ldr r2, =0x00000ced
- adds r1, r2
- strb r0, [r1]
-_080CEC86:
- ldr r4, =gUnknown_02039D08
- ldr r2, [r4]
- ldr r5, =0x00000cee
- adds r2, r5
- adds r0, r6, 0
- movs r1, 0x2
- bl GetMonData
- ldr r0, [r4]
- adds r0, r5
- bl StringGetEnd10
- adds r0, r6, 0
- movs r1, 0x38
- bl GetMonData
- ldr r1, [r4]
- ldr r3, =0x00000cec
- adds r1, r3
- strb r0, [r1]
- adds r0, r6, 0
- movs r1, 0x8
- bl GetMonData
- ldr r1, [r4]
- ldr r2, =0x00000ceb
- adds r1, r2
- strb r0, [r1]
- adds r0, r6, 0
- movs r1, 0
- bl GetMonData
- ldr r1, [r4]
- movs r3, 0xCE
- lsls r3, 4
- adds r1, r3
- str r0, [r1]
- adds r0, r6, 0
- bl GetMonFrontSpritePal
- ldr r1, [r4]
- ldr r2, =0x00000cdc
- adds r1, r2
- str r0, [r1]
- adds r0, r6, 0
- bl GetMonGender
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- adds r0, r6, 0
- movs r1, 0xC
- bl GetMonData
- ldr r1, [r4]
- ldr r3, =0x00000ce6
- adds r1, r3
- strh r0, [r1]
- b _080CEE26
- .pool
-_080CED18:
- cmp r5, 0x1
- beq _080CED1E
- b _080CEE1C
-_080CED1E:
- adds r7, r4, 0
- adds r0, r7, 0
- movs r1, 0x41
- bl GetBoxMonData
- mov r2, r8
- ldr r1, [r2]
- ldr r3, =0x00000ce4
- adds r1, r3
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- bne _080CED3A
- b _080CEE34
-_080CED3A:
- adds r0, r7, 0
- movs r1, 0x1
- bl GetBoxMonData
- mov r9, r0
- adds r0, r7, 0
- movs r1, 0x4
- bl GetBoxMonData
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- cmp r0, 0
- beq _080CED6C
- mov r1, r8
- ldr r0, [r1]
- ldr r2, =0x00000ced
- adds r0, r2
- strb r5, [r0]
- b _080CED7E
- .pool
-_080CED6C:
- adds r0, r7, 0
- movs r1, 0x2D
- bl GetBoxMonData
- mov r3, r8
- ldr r1, [r3]
- ldr r2, =0x00000ced
- adds r1, r2
- strb r0, [r1]
-_080CED7E:
- ldr r5, =gUnknown_02039D08
- ldr r2, [r5]
- ldr r4, =0x00000cee
- adds r2, r4
- adds r0, r7, 0
- movs r1, 0x2
- bl GetBoxMonData
- ldr r0, [r5]
- adds r0, r4
- bl StringGetEnd10
- adds r0, r7, 0
- bl GetLevelFromBoxMonExp
- ldr r1, [r5]
- ldr r3, =0x00000cec
- adds r1, r3
- strb r0, [r1]
- adds r0, r7, 0
- movs r1, 0x8
- bl GetBoxMonData
- ldr r1, [r5]
- ldr r2, =0x00000ceb
- adds r1, r2
- strb r0, [r1]
- adds r0, r7, 0
- movs r1, 0
- bl GetBoxMonData
- adds r2, r0, 0
- ldr r1, [r5]
- movs r6, 0xCE
- lsls r6, 4
- adds r0, r1, r6
- str r2, [r0]
- subs r4, 0xA
- adds r1, r4
- ldrh r0, [r1]
- mov r1, r9
- bl GetFrontSpritePalFromSpeciesAndPersonality
- ldr r1, [r5]
- ldr r3, =0x00000cdc
- adds r2, r1, r3
- str r0, [r2]
- adds r4, r1, r4
- ldrh r0, [r4]
- adds r1, r6
- ldr r1, [r1]
- bl GetGenderFromSpeciesAndPersonality
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- adds r0, r7, 0
- movs r1, 0xC
- bl GetBoxMonData
- ldr r1, [r5]
- ldr r2, =0x00000ce6
- adds r1, r2
- strh r0, [r1]
- b _080CEE26
- .pool
-_080CEE1C:
- ldr r3, =0x00000ce4
- adds r0, r1, r3
- mov r1, r9
- strh r1, [r0]
- strh r1, [r2]
-_080CEE26:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r2, =0x00000ce4
- adds r0, r1, r2
- ldrh r2, [r0]
- cmp r2, 0
- bne _080CEE94
-_080CEE34:
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldr r3, =0x00000cee
- adds r0, r3
- movs r1, 0
- movs r2, 0x5
- bl StringFill
- ldr r0, [r4]
- ldr r1, =0x00000cf9
- adds r0, r1
- movs r1, 0
- movs r2, 0x8
- bl StringFill
- ldr r0, [r4]
- ldr r2, =0x00000d1d
- adds r0, r2
- movs r1, 0
- movs r2, 0x8
- bl StringFill
- ldr r0, [r4]
- ldr r3, =0x00000d41
- adds r0, r3
- movs r1, 0
- movs r2, 0x8
- bl StringFill
- ldr r0, [r4]
- ldr r1, =0x00000d65
- adds r0, r1
- b _080CEEF2
- .pool
-_080CEE94:
- ldr r3, =0x00000ced
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CEF14
- mov r0, r10
- cmp r0, 0
- beq _080CEEC0
- ldr r2, =0x00000cf9
- adds r0, r1, r2
- adds r3, 0x1
- adds r1, r3
- movs r2, 0
- movs r3, 0x5
- bl StringCopyPadded
- b _080CEECE
- .pool
-_080CEEC0:
- ldr r2, =0x00000cf9
- adds r0, r1, r2
- ldr r1, =gText_EggNickname
- movs r2, 0
- movs r3, 0x8
- bl StringCopyPadded
-_080CEECE:
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldr r3, =0x00000d1d
- adds r0, r3
- movs r1, 0
- movs r2, 0x8
- bl StringFill
- ldr r0, [r4]
- ldr r1, =0x00000d41
- adds r0, r1
- movs r1, 0
- movs r2, 0x8
- bl StringFill
- ldr r0, [r4]
- ldr r2, =0x00000d65
- adds r0, r2
-_080CEEF2:
- movs r1, 0
- movs r2, 0x8
- bl StringFill
- b _080CF0B8
- .pool
-_080CEF14:
- cmp r2, 0x1D
- beq _080CEF1C
- cmp r2, 0x20
- bne _080CEF20
-_080CEF1C:
- movs r3, 0xFF
- mov r9, r3
-_080CEF20:
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- ldr r2, =0x00000cf9
- adds r0, r1, r2
- ldr r3, =0x00000cee
- adds r1, r3
- movs r2, 0
- movs r3, 0x5
- bl StringCopyPadded
- ldr r1, [r4]
- ldr r0, =0x00000d1d
- adds r2, r1, r0
- movs r0, 0xBA
- strb r0, [r2]
- ldr r3, =0x00000d1e
- adds r2, r1, r3
- ldr r0, [r4]
- ldr r1, =0x00000ce4
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0xB
- muls r1, r0
- ldr r0, =gSpeciesNames
- adds r1, r0
- adds r0, r2, 0
- movs r2, 0
- movs r3, 0x5
- bl StringCopyPadded
- ldr r4, [r4]
- ldr r3, =0x00000d41
- adds r2, r4, r3
- movs r0, 0xFC
- strb r0, [r2]
- ldr r0, =0x00000d42
- adds r2, r4, r0
- movs r0, 0x4
- strb r0, [r2]
- ldr r1, =0x00000d43
- adds r2, r4, r1
- mov r3, r9
- cmp r3, 0
- beq _080CEFD4
- cmp r3, 0xFE
- beq _080CF000
- movs r0, 0x2
- strb r0, [r2]
- ldr r0, =0x00000d44
- adds r2, r4, r0
- movs r0, 0x1
- strb r0, [r2]
- adds r1, 0x2
- adds r2, r4, r1
- movs r0, 0x3
- strb r0, [r2]
- ldr r3, =0x00000d46
- adds r2, r4, r3
- movs r0, 0x77
- strb r0, [r2]
- ldr r0, =0x00000d47
- adds r2, r4, r0
- b _080CF020
- .pool
-_080CEFD4:
- strb r0, [r2]
- ldr r1, =0x00000d44
- adds r2, r4, r1
- movs r0, 0x1
- strb r0, [r2]
- ldr r3, =0x00000d45
- adds r2, r4, r3
- movs r0, 0x5
- strb r0, [r2]
- ldr r0, =0x00000d46
- adds r2, r4, r0
- movs r0, 0xB5
- strb r0, [r2]
- adds r1, 0x3
- adds r2, r4, r1
- b _080CF020
- .pool
-_080CF000:
- movs r0, 0x6
- strb r0, [r2]
- ldr r3, =0x00000d44
- adds r2, r4, r3
- movs r0, 0x1
- strb r0, [r2]
- ldr r0, =0x00000d45
- adds r2, r4, r0
- movs r0, 0x7
- strb r0, [r2]
- ldr r1, =0x00000d46
- adds r2, r4, r1
- movs r0, 0xB6
- strb r0, [r2]
- adds r3, 0x3
- adds r2, r4, r3
-_080CF020:
- movs r0, 0xFC
- strb r0, [r2]
- adds r2, 0x1
- movs r0, 0x4
- strb r0, [r2]
- adds r2, 0x1
- movs r0, 0x2
- strb r0, [r2]
- adds r2, 0x1
- movs r0, 0x1
- strb r0, [r2]
- adds r2, 0x1
- movs r0, 0x3
- strb r0, [r2]
- adds r2, 0x1
- movs r5, 0
- strb r5, [r2]
- adds r2, 0x1
- movs r0, 0xF9
- strb r0, [r2]
- adds r2, 0x1
- movs r0, 0x5
- strb r0, [r2]
- adds r2, 0x1
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldr r1, =0x00000cec
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r2, 0
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- adds r2, r0, 0
- strb r5, [r2]
- movs r0, 0xFF
- strb r0, [r2, 0x1]
- ldr r4, [r4]
- ldr r2, =0x00000ce6
- adds r1, r4, r2
- ldrh r0, [r1]
- cmp r0, 0
- beq _080CF0AC
- ldr r3, =0x00000d65
- adds r4, r3
- bl ItemId_GetName
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x8
- bl StringCopyPadded
- b _080CF0B8
- .pool
-_080CF0AC:
- ldr r1, =0x00000d65
- adds r0, r4, r1
- movs r1, 0
- movs r2, 0x8
- bl StringFill
-_080CF0B8:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CEC00
-
- thumb_func_start sub_80CF0CC
-sub_80CF0CC: @ 80CF0CC
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x000021ff
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080CF0F4
- cmp r0, 0x1
- ble _080CF0E4
- cmp r0, 0x2
- beq _080CF0FA
-_080CF0E4:
- bl sub_80CF108
- b _080CF0FE
- .pool
-_080CF0F4:
- bl sub_80CF374
- b _080CF0FE
-_080CF0FA:
- bl sub_80CF4B0
-_080CF0FE:
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80CF0CC
-
- thumb_func_start sub_80CF108
-sub_80CF108: @ 80CF108
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- mov r8, r0
- ldr r2, =gUnknown_02039D79
- ldrb r4, [r2]
- ldr r5, =gUnknown_02039D08
- ldr r0, [r5]
- ldr r1, =0x00000cd2
- mov r10, r1
- add r0, r10
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r5]
- ldr r7, =0x00000cd3
- adds r0, r7
- strb r1, [r0]
- ldr r0, [r5]
- ldr r3, =0x00000cd7
- mov r9, r3
- add r0, r9
- strb r1, [r0]
- ldr r6, =gMain
- ldrh r1, [r6, 0x30]
- movs r0, 0x40
- ands r0, r1
- adds r3, r2, 0
- cmp r0, 0
- beq _080CF14C
- b _080CF33C
-_080CF14C:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080CF1A8
- movs r6, 0x1
- lsls r0, r4, 24
- movs r1, 0xC0
- lsls r1, 19
- adds r0, r1
- lsrs r4, r0, 24
- asrs r0, 24
- cmp r0, 0x1D
- bgt _080CF168
- b _080CF358
-_080CF168:
- movs r2, 0x3
- mov r8, r2
- subs r0, 0x1E
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x3
- bl __divsi3
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, [r5]
- add r0, r10
- strb r6, [r0]
- ldr r0, [r5]
- add r0, r9
- strb r6, [r0]
- b _080CF358
- .pool
-_080CF1A8:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080CF1DE
- movs r6, 0x1
- movs r0, 0
- ldrsb r0, [r3, r0]
- movs r1, 0x6
- bl __modsi3
- lsls r0, 24
- cmp r0, 0
- beq _080CF1CA
- lsls r0, r4, 24
- movs r3, 0xFF
- lsls r3, 24
- b _080CF34C
-_080CF1CA:
- ldr r0, [r5]
- adds r0, r7
- movs r1, 0xFF
- strb r1, [r0]
- lsls r0, r4, 24
- movs r1, 0xA0
- lsls r1, 19
- adds r0, r1
- lsrs r4, r0, 24
- b _080CF358
-_080CF1DE:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080CF212
- movs r6, 0x1
- movs r0, 0
- ldrsb r0, [r3, r0]
- adds r0, 0x1
- movs r1, 0x6
- bl __modsi3
- cmp r0, 0
- beq _080CF204
- lsls r0, r4, 24
- movs r2, 0x80
- lsls r2, 17
- adds r0, r2
- lsrs r4, r0, 24
- b _080CF358
-_080CF204:
- ldr r0, [r5]
- adds r0, r7
- strb r6, [r0]
- lsls r0, r4, 24
- movs r3, 0xFB
- lsls r3, 24
- b _080CF34C
-_080CF212:
- ldrh r1, [r6, 0x2E]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080CF220
- movs r6, 0x1
- b _080CF352
-_080CF220:
- movs r4, 0x1
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080CF2E4
- bl sub_80CFA5C
- lsls r0, 24
- cmp r0, 0
- beq _080CF2E4
- ldr r0, =gUnknown_02039D7D
- ldrb r0, [r0]
- cmp r0, 0
- bne _080CF244
- movs r0, 0x8
- b _080CF366
- .pool
-_080CF244:
- ldr r1, [r5]
- ldrb r0, [r1, 0x1]
- cmp r0, 0x2
- bne _080CF254
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080CF2D4
-_080CF254:
- movs r0, 0
- bl sub_80CFF98
- subs r0, 0x1
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0xE
- bhi _080CF2E4
- lsls r0, 2
- ldr r1, =_080CF278
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080CF278:
- .4byte _080CF2B4
- .4byte _080CF2B8
- .4byte _080CF2BC
- .4byte _080CF2C0
- .4byte _080CF2C4
- .4byte _080CF2E4
- .4byte _080CF2E4
- .4byte _080CF2E4
- .4byte _080CF2E4
- .4byte _080CF2E4
- .4byte _080CF2E4
- .4byte _080CF2C8
- .4byte _080CF2CC
- .4byte _080CF2E4
- .4byte _080CF2D0
-_080CF2B4:
- movs r0, 0xB
- b _080CF366
-_080CF2B8:
- movs r0, 0xC
- b _080CF366
-_080CF2BC:
- movs r0, 0xD
- b _080CF366
-_080CF2C0:
- movs r0, 0xE
- b _080CF366
-_080CF2C4:
- movs r0, 0xF
- b _080CF366
-_080CF2C8:
- movs r0, 0x10
- b _080CF366
-_080CF2CC:
- movs r0, 0x11
- b _080CF366
-_080CF2D0:
- movs r0, 0x12
- b _080CF366
-_080CF2D4:
- ldr r2, =0x000021ff
- adds r0, r1, r2
- strb r4, [r0]
- movs r0, 0x14
- b _080CF366
- .pool
-_080CF2E4:
- ldr r2, =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080CF2F8
- movs r0, 0x13
- b _080CF366
- .pool
-_080CF2F8:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _080CF326
- ldrh r1, [r2, 0x2C]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _080CF318
- movs r0, 0xA
- b _080CF366
- .pool
-_080CF318:
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _080CF326
- movs r0, 0x9
- b _080CF366
-_080CF326:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080CF338
- bl sub_80CFDC4
- movs r0, 0
- b _080CF366
-_080CF338:
- movs r6, 0
- b _080CF364
-_080CF33C:
- movs r6, 0x1
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r0, 0x5
- ble _080CF352
- lsls r0, r4, 24
- movs r3, 0xFA
- lsls r3, 24
-_080CF34C:
- adds r0, r3
- lsrs r4, r0, 24
- b _080CF358
-_080CF352:
- movs r0, 0x2
- mov r8, r0
- movs r4, 0
-_080CF358:
- cmp r6, 0
- beq _080CF364
- mov r0, r8
- adds r1, r4, 0
- bl sub_80CD894
-_080CF364:
- adds r0, r6, 0
-_080CF366:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80CF108
-
- thumb_func_start sub_80CF374
-sub_80CF374: @ 80CF374
- push {r4,lr}
- ldr r1, =gMain
- ldrh r0, [r1, 0x2C]
- movs r4, 0x1
- ands r4, r0
- cmp r4, 0
- beq _080CF428
- ldrh r1, [r1, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080CF3AC
- ldr r4, =gUnknown_02039D79
- movs r0, 0
- ldrsb r0, [r4, r0]
- movs r1, 0x6
- bl __divsi3
- lsls r0, 24
- cmp r0, 0
- beq _080CF420
- ldrb r1, [r4]
- subs r1, 0x6
- b _080CF40E
- .pool
-_080CF3AC:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080CF3CC
- ldr r1, =gUnknown_02039D79
- movs r0, 0
- ldrsb r0, [r1, r0]
- adds r0, 0x6
- cmp r0, 0x1D
- bgt _080CF420
- ldrb r1, [r1]
- adds r1, 0x6
- b _080CF40E
- .pool
-_080CF3CC:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080CF3F0
- ldr r4, =gUnknown_02039D79
- movs r0, 0
- ldrsb r0, [r4, r0]
- movs r1, 0x6
- bl __modsi3
- lsls r0, 24
- cmp r0, 0
- beq _080CF420
- ldrb r1, [r4]
- subs r1, 0x1
- b _080CF40E
- .pool
-_080CF3F0:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080CF424
- ldr r4, =gUnknown_02039D79
- movs r0, 0
- ldrsb r0, [r4, r0]
- adds r0, 0x1
- movs r1, 0x6
- bl __modsi3
- cmp r0, 0
- beq _080CF420
- ldrb r1, [r4]
- adds r1, 0x1
-_080CF40E:
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- bl sub_80CD894
- movs r0, 0x15
- b _080CF49C
- .pool
-_080CF420:
- movs r0, 0x18
- b _080CF49C
-_080CF424:
- movs r0, 0
- b _080CF49C
-_080CF428:
- bl sub_80D0BA4
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_02039D79
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- cmp r0, r1
- beq _080CF47C
- ldr r2, =gUnknown_02039D7A
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r3, =0x00000ce4
- adds r0, r1, r3
- ldrh r0, [r0]
- negs r0, r0
- lsrs r0, 31
- strb r0, [r2]
- ldr r0, =0x000021ff
- adds r1, r0
- movs r0, 0x2
- strb r0, [r1]
- bl StorageGetCurrentBox
- ldr r1, =gUnknown_02039D7B
- strb r0, [r1]
- movs r0, 0x17
- b _080CF49C
- .pool
-_080CF47C:
- ldr r1, =gUnknown_02039D08
- ldr r0, [r1]
- ldr r2, =0x000021ff
- adds r0, r2
- strb r4, [r0]
- ldr r0, [r1]
- ldr r3, =0x00000cb8
- adds r0, r3
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- movs r0, 0x16
-_080CF49C:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80CF374
-
- thumb_func_start sub_80CF4B0
-sub_80CF4B0: @ 80CF4B0
- push {r4,lr}
- ldr r2, =gMain
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080CF4DC
- movs r0, 0
- bl sub_80D0580
- lsls r0, 24
- cmp r0, 0
- beq _080CF588
- ldr r0, =gUnknown_02039D79
- ldrb r1, [r0]
- subs r1, 0x6
- b _080CF53A
- .pool
-_080CF4DC:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080CF4FC
- movs r0, 0x1
- bl sub_80D0580
- lsls r0, 24
- cmp r0, 0
- beq _080CF588
- ldr r0, =gUnknown_02039D79
- ldrb r1, [r0]
- adds r1, 0x6
- b _080CF53A
- .pool
-_080CF4FC:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080CF51C
- movs r0, 0x2
- bl sub_80D0580
- lsls r0, 24
- cmp r0, 0
- beq _080CF5A2
- ldr r0, =gUnknown_02039D79
- ldrb r1, [r0]
- subs r1, 0x1
- b _080CF53A
- .pool
-_080CF51C:
- movs r0, 0x10
- ands r0, r1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _080CF54C
- movs r0, 0x3
- bl sub_80D0580
- lsls r0, 24
- cmp r0, 0
- beq _080CF5B6
- ldr r0, =gUnknown_02039D79
- ldrb r1, [r0]
- adds r1, 0x1
-_080CF53A:
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- bl sub_80CD894
- movs r0, 0x19
- b _080CF5BC
- .pool
-_080CF54C:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080CF580
- bl sub_80D0BC0
- lsls r0, 24
- cmp r0, 0
- beq _080CF588
- ldr r0, =gUnknown_02039D7A
- strb r4, [r0]
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x000021ff
- adds r0, r1
- strb r4, [r0]
- movs r0, 0x1A
- b _080CF5BC
- .pool
-_080CF580:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080CF58C
-_080CF588:
- movs r0, 0x18
- b _080CF5BC
-_080CF58C:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _080CF5BA
- ldrh r1, [r2, 0x2C]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _080CF5AC
-_080CF5A2:
- movs r0, 0xA
- b _080CF5BC
- .pool
-_080CF5AC:
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _080CF5BA
-_080CF5B6:
- movs r0, 0x9
- b _080CF5BC
-_080CF5BA:
- movs r0, 0
-_080CF5BC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80CF4B0
-
- thumb_func_start sub_80CF5C4
-sub_80CF5C4: @ 80CF5C4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- mov r9, r0
- ldr r6, =gUnknown_02039D79
- ldrb r4, [r6]
- ldr r2, =gUnknown_02039D08
- ldr r0, [r2]
- ldr r1, =0x00000cd3
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- ldr r3, =0x00000cd2
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r2]
- adds r3, 0x5
- adds r0, r3
- strb r1, [r0]
- mov r8, r1
- movs r7, 0
- ldr r1, =gMain
- ldrh r3, [r1, 0x30]
- movs r0, 0x40
- ands r0, r3
- adds r5, r6, 0
- mov r12, r1
- cmp r0, 0
- beq _080CF608
- b _080CF7A8
-_080CF608:
- movs r0, 0x80
- ands r0, r3
- cmp r0, 0
- beq _080CF64C
- lsls r0, r4, 24
- movs r1, 0x80
- lsls r1, 17
- adds r0, r1
- lsrs r4, r0, 24
- asrs r0, 24
- cmp r0, 0x6
- ble _080CF622
- movs r4, 0
-_080CF622:
- lsls r0, r4, 24
- asrs r0, 24
- movs r1, 0
- ldrsb r1, [r5, r1]
- cmp r0, r1
- bne _080CF630
- b _080CF7C6
-_080CF630:
- movs r7, 0x1
- b _080CF7CA
- .pool
-_080CF64C:
- movs r0, 0x20
- ands r0, r3
- cmp r0, 0
- beq _080CF670
- ldrb r1, [r5]
- movs r0, 0
- ldrsb r0, [r5, r0]
- cmp r0, 0
- beq _080CF670
- movs r7, 0x1
- ldr r0, [r2]
- ldr r2, =0x00000cd6
- adds r0, r2
- strb r1, [r0]
- movs r4, 0
- b _080CF7C6
- .pool
-_080CF670:
- mov r3, r12
- ldrh r1, [r3, 0x30]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080CF69E
- movs r0, 0
- ldrsb r0, [r5, r0]
- cmp r0, 0
- bne _080CF694
- movs r7, 0x1
- ldr r0, [r2]
- ldr r1, =0x00000cd6
- adds r0, r1
- ldrb r4, [r0]
- b _080CF7C6
- .pool
-_080CF694:
- movs r7, 0x6
- movs r2, 0
- mov r9, r2
- movs r4, 0
- b _080CF7C6
-_080CF69E:
- mov r3, r12
- ldrh r1, [r3, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080CF75C
- movs r0, 0
- ldrsb r0, [r5, r0]
- cmp r0, 0x6
- bne _080CF6C4
- ldr r0, [r2]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- bne _080CF6BE
- movs r0, 0x4
- b _080CF7D8
-_080CF6BE:
- movs r0, 0x1
- mov r8, r0
- b _080CF75C
-_080CF6C4:
- bl sub_80CFA5C
- lsls r0, 24
- cmp r0, 0
- beq _080CF75C
- ldr r0, =gUnknown_02039D7D
- ldrb r0, [r0]
- cmp r0, 0
- bne _080CF6E0
- movs r0, 0x8
- b _080CF7D8
- .pool
-_080CF6E0:
- movs r0, 0
- bl sub_80CFF98
- subs r0, 0x1
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0xE
- bhi _080CF75C
- lsls r0, 2
- ldr r1, =_080CF700
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080CF700:
- .4byte _080CF73C
- .4byte _080CF740
- .4byte _080CF744
- .4byte _080CF748
- .4byte _080CF74C
- .4byte _080CF75C
- .4byte _080CF75C
- .4byte _080CF75C
- .4byte _080CF75C
- .4byte _080CF75C
- .4byte _080CF75C
- .4byte _080CF750
- .4byte _080CF754
- .4byte _080CF75C
- .4byte _080CF758
-_080CF73C:
- movs r0, 0xB
- b _080CF7D8
-_080CF740:
- movs r0, 0xC
- b _080CF7D8
-_080CF744:
- movs r0, 0xD
- b _080CF7D8
-_080CF748:
- movs r0, 0xE
- b _080CF7D8
-_080CF74C:
- movs r0, 0xF
- b _080CF7D8
-_080CF750:
- movs r0, 0x10
- b _080CF7D8
-_080CF754:
- movs r0, 0x11
- b _080CF7D8
-_080CF758:
- movs r0, 0x12
- b _080CF7D8
-_080CF75C:
- ldr r2, =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x2
- ands r0, r1
- mov r12, r2
- cmp r0, 0
- beq _080CF784
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- bne _080CF780
- movs r0, 0x13
- b _080CF7D8
- .pool
-_080CF780:
- movs r1, 0x1
- mov r8, r1
-_080CF784:
- mov r2, r8
- cmp r2, 0
- beq _080CF794
- movs r7, 0x6
- movs r3, 0
- mov r9, r3
- movs r4, 0
- b _080CF7C6
-_080CF794:
- mov r0, r12
- ldrh r1, [r0, 0x2E]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080CF7C6
- bl sub_80CFDC4
- movs r0, 0
- b _080CF7D8
-_080CF7A8:
- lsls r0, r4, 24
- movs r1, 0xFF
- lsls r1, 24
- adds r0, r1
- lsrs r4, r0, 24
- cmp r0, 0
- bge _080CF7B8
- movs r4, 0x6
-_080CF7B8:
- lsls r0, r4, 24
- asrs r0, 24
- movs r1, 0
- ldrsb r1, [r6, r1]
- cmp r0, r1
- beq _080CF7C6
- movs r7, 0x1
-_080CF7C6:
- cmp r7, 0
- beq _080CF7D6
-_080CF7CA:
- cmp r7, 0x6
- beq _080CF7D6
- mov r0, r9
- adds r1, r4, 0
- bl sub_80CD894
-_080CF7D6:
- adds r0, r7, 0
-_080CF7D8:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80CF5C4
-
- thumb_func_start sub_80CF7E4
-sub_80CF7E4: @ 80CF7E4
- push {r4-r6,lr}
- ldr r3, =gUnknown_02039D08
- ldr r0, [r3]
- ldr r1, =0x00000cd3
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r3]
- ldr r2, =0x00000cd2
- adds r0, r2
- strb r1, [r0]
- ldr r0, [r3]
- ldr r5, =0x00000cd7
- adds r0, r5
- strb r1, [r0]
- ldr r1, =gMain
- ldrh r2, [r1, 0x30]
- movs r0, 0x40
- ands r0, r2
- cmp r0, 0
- bne _080CF8AA
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _080CF834
- movs r4, 0x1
- movs r1, 0
- movs r6, 0x2
- b _080CF8B6
- .pool
-_080CF834:
- ldrh r2, [r1, 0x2C]
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- bne _080CF85A
- movs r0, 0x10
- ands r0, r2
- cmp r0, 0
- bne _080CF86E
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _080CF872
- movs r0, 0x80
- lsls r0, 2
- ands r0, r2
- cmp r0, 0
- beq _080CF864
-_080CF85A:
- movs r0, 0xA
- b _080CF8D2
- .pool
-_080CF864:
- movs r0, 0x80
- lsls r0, 1
- ands r0, r2
- cmp r0, 0
- beq _080CF872
-_080CF86E:
- movs r0, 0x9
- b _080CF8D2
-_080CF872:
- ldrh r1, [r1, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080CF88A
- movs r0, 0
- bl sub_80CD1A8
- bl sub_80CFA38
- movs r0, 0x7
- b _080CF8D2
-_080CF88A:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080CF896
- movs r0, 0x13
- b _080CF8D2
-_080CF896:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080CF8A6
- bl sub_80CFDC4
- movs r0, 0
- b _080CF8D2
-_080CF8A6:
- movs r4, 0
- b _080CF8D0
-_080CF8AA:
- movs r4, 0x1
- movs r1, 0x3
- movs r6, 0
- ldr r0, [r3]
- adds r0, r5
- strb r4, [r0]
-_080CF8B6:
- cmp r4, 0
- beq _080CF8D0
- lsls r5, r1, 24
- cmp r1, 0x2
- beq _080CF8C6
- movs r0, 0
- bl sub_80CD1A8
-_080CF8C6:
- lsrs r0, r5, 24
- lsls r1, r6, 24
- lsrs r1, 24
- bl sub_80CD894
-_080CF8D0:
- adds r0, r4, 0
-_080CF8D2:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80CF7E4
-
- thumb_func_start sub_80CF8D8
-sub_80CF8D8: @ 80CF8D8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- mov r8, r0
- ldr r0, =gUnknown_02039D79
- mov r12, r0
- ldrb r2, [r0]
- ldr r3, =gUnknown_02039D08
- ldr r0, [r3]
- ldr r1, =0x00000cd3
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r3]
- ldr r6, =0x00000cd2
- adds r0, r6
- strb r1, [r0]
- ldr r0, [r3]
- ldr r5, =0x00000cd7
- adds r0, r5
- strb r1, [r0]
- ldr r7, =gMain
- ldrh r1, [r7, 0x30]
- movs r0, 0x40
- ands r0, r1
- adds r4, r3, 0
- cmp r0, 0
- bne _080CF9B2
- movs r0, 0x88
- ands r0, r1
- cmp r0, 0
- beq _080CF944
- movs r7, 0x1
- movs r0, 0x2
- mov r8, r0
- movs r2, 0
- ldr r0, [r4]
- b _080CF9D0
- .pool
-_080CF944:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080CF960
- movs r7, 0x1
- lsls r0, r2, 24
- movs r1, 0xFF
- lsls r1, 24
- adds r0, r1
- lsrs r2, r0, 24
- cmp r0, 0
- bge _080CF9D4
- movs r2, 0x1
- b _080CF9D4
-_080CF960:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080CF97E
- movs r7, 0x1
- lsls r0, r2, 24
- movs r1, 0x80
- lsls r1, 17
- adds r0, r1
- lsrs r2, r0, 24
- asrs r0, 24
- cmp r0, 0x1
- ble _080CF9D4
- movs r2, 0
- b _080CF9D4
-_080CF97E:
- ldrh r1, [r7, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080CF992
- movs r0, 0x4
- cmp r2, 0
- bne _080CF9E2
- movs r0, 0x5
- b _080CF9E2
-_080CF992:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080CF99E
- movs r0, 0x13
- b _080CF9E2
-_080CF99E:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080CF9AE
- bl sub_80CFDC4
- movs r0, 0
- b _080CF9E2
-_080CF9AE:
- movs r7, 0
- b _080CF9E0
-_080CF9B2:
- movs r7, 0x1
- movs r0, 0
- mov r8, r0
- ldr r0, [r3]
- adds r0, r6
- movs r1, 0xFF
- strb r1, [r0]
- mov r1, r12
- movs r0, 0
- ldrsb r0, [r1, r0]
- movs r2, 0x1D
- cmp r0, 0
- bne _080CF9CE
- movs r2, 0x18
-_080CF9CE:
- ldr r0, [r3]
-_080CF9D0:
- adds r0, r5
- strb r7, [r0]
-_080CF9D4:
- cmp r7, 0
- beq _080CF9E0
- mov r0, r8
- adds r1, r2, 0
- bl sub_80CD894
-_080CF9E0:
- adds r0, r7, 0
-_080CF9E2:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80CF8D8
-
- thumb_func_start sub_80CF9EC
-sub_80CF9EC: @ 80CF9EC
- push {r4,r5,lr}
- movs r3, 0
- ldr r0, =gUnknown_0857B9BC
- ldr r1, [r0]
- adds r4, r0, 0
- cmp r1, 0
- beq _080CFA30
- ldr r5, =gUnknown_02039D78
-_080CF9FC:
- lsls r0, r3, 3
- adds r2, r0, r4
- movs r1, 0x4
- ldrsb r1, [r2, r1]
- movs r0, 0
- ldrsb r0, [r5, r0]
- cmp r1, r0
- bne _080CFA20
- ldr r0, [r2]
- bl _call_via_r0
- lsls r0, 24
- lsrs r0, 24
- b _080CFA32
- .pool
-_080CFA20:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r0, r3, 3
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- bne _080CF9FC
-_080CFA30:
- movs r0, 0
-_080CFA32:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80CF9EC
-
- thumb_func_start sub_80CFA38
-sub_80CFA38: @ 80CFA38
- push {lr}
- bl sub_80CFEF0
- movs r0, 0x9
- bl sub_80CFF34
- movs r0, 0xA
- bl sub_80CFF34
- movs r0, 0xB
- bl sub_80CFF34
- movs r0, 0
- bl sub_80CFF34
- pop {r0}
- bx r0
- thumb_func_end sub_80CFA38
-
- thumb_func_start sub_80CFA5C
-sub_80CFA5C: @ 80CFA5C
- push {lr}
- bl sub_80CFEF0
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080CFA78
- bl sub_80CFB44
- b _080CFA7C
- .pool
-_080CFA78:
- bl sub_80CFA84
-_080CFA7C:
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80CFA5C
-
- thumb_func_start sub_80CFA84
-sub_80CFA84: @ 80CFA84
- push {lr}
- bl sub_80CD504
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- beq _080CFAAE
- cmp r0, 0x1
- bgt _080CFAA8
- cmp r0, 0
- beq _080CFABA
- b _080CFAF4
- .pool
-_080CFAA8:
- cmp r0, 0x2
- beq _080CFAC6
- b _080CFAF4
-_080CFAAE:
- cmp r1, 0
- beq _080CFAF4
- movs r0, 0x1
- bl sub_80CFF34
- b _080CFAF8
-_080CFABA:
- cmp r1, 0
- beq _080CFAF4
- movs r0, 0x2
- bl sub_80CFF34
- b _080CFAF8
-_080CFAC6:
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CFAE8
- cmp r1, 0
- beq _080CFAE0
- movs r0, 0x4
- bl sub_80CFF34
- b _080CFAF8
- .pool
-_080CFAE0:
- movs r0, 0x5
- bl sub_80CFF34
- b _080CFAF8
-_080CFAE8:
- cmp r1, 0
- beq _080CFAF4
- movs r0, 0x3
- bl sub_80CFF34
- b _080CFAF8
-_080CFAF4:
- movs r0, 0
- b _080CFB3E
-_080CFAF8:
- movs r0, 0x6
- bl sub_80CFF34
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x2
- bne _080CFB2A
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bne _080CFB24
- movs r0, 0x2
- bl sub_80CFF34
- b _080CFB2A
- .pool
-_080CFB24:
- movs r0, 0x1
- bl sub_80CFF34
-_080CFB2A:
- movs r0, 0x8
- bl sub_80CFF34
- movs r0, 0x7
- bl sub_80CFF34
- movs r0, 0
- bl sub_80CFF34
- movs r0, 0x1
-_080CFB3E:
- pop {r1}
- bx r1
- thumb_func_end sub_80CFA84
-
- thumb_func_start sub_80CFB44
-sub_80CFB44: @ 80CFB44
- push {r4,r5,lr}
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- ldr r5, =0x00000ce4
- adds r0, r5
- ldrh r1, [r0]
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- beq _080CFBDA
- bl sub_80D127C
- lsls r0, 24
- cmp r0, 0
- bne _080CFBAC
- ldr r2, [r4]
- ldr r0, =0x00000ce6
- adds r1, r2, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _080CFB8C
- adds r0, r2, r5
- ldrh r0, [r0]
- cmp r0, 0
- beq _080CFBDA
- movs r0, 0xE
- bl sub_80CFF34
- b _080CFBE4
- .pool
-_080CFB8C:
- ldrh r0, [r1]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- bne _080CFBA4
- movs r0, 0xC
- bl sub_80CFF34
- movs r0, 0x10
- bl sub_80CFF34
-_080CFBA4:
- movs r0, 0x11
- bl sub_80CFF34
- b _080CFBE4
-_080CFBAC:
- ldr r2, [r4]
- ldr r0, =0x00000ce6
- adds r1, r2, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _080CFBCC
- adds r0, r2, r5
- ldrh r0, [r0]
- cmp r0, 0
- beq _080CFBDA
- movs r0, 0xD
- bl sub_80CFF34
- b _080CFBE4
- .pool
-_080CFBCC:
- ldrh r0, [r1]
- bl ItemIsMail
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080CFBDE
-_080CFBDA:
- movs r0, 0
- b _080CFBEC
-_080CFBDE:
- movs r0, 0xF
- bl sub_80CFF34
-_080CFBE4:
- movs r0, 0
- bl sub_80CFF34
- movs r0, 0x1
-_080CFBEC:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80CFB44
-
- thumb_func_start sub_80CFBF4
-sub_80CFBF4: @ 80CFBF4
- ldr r1, =gUnknown_02039D08
- ldr r1, [r1]
- ldr r2, =0x00000cb4
- adds r1, r2
- ldr r2, [r1]
- ldrh r2, [r2, 0x20]
- strh r2, [r0, 0x20]
- ldr r1, [r1]
- ldrh r1, [r1, 0x22]
- adds r1, 0x14
- strh r1, [r0, 0x22]
- bx lr
- .pool
- thumb_func_end sub_80CFBF4
-
- thumb_func_start sub_80CFC14
-sub_80CFC14: @ 80CFC14
- push {r4-r6,lr}
- sub sp, 0x2C
- mov r1, sp
- ldr r0, =gHandCursorSpriteSheets
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- add r4, sp, 0x18
- adds r1, r4, 0
- ldr r0, =gHandCursorSpritePalettes
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldr r0, [r0]
- str r0, [r1]
- mov r0, sp
- bl LoadSpriteSheets
- adds r0, r4, 0
- bl LoadSpritePalettes
- ldr r0, =0x0000daca
- bl IndexOfSpritePaletteTag
- ldr r6, =gUnknown_02039D08
- ldr r1, [r6]
- ldr r4, =0x00000cd8
- adds r1, r4
- strb r0, [r1]
- ldr r0, =0x0000dac7
- bl IndexOfSpritePaletteTag
- ldr r1, [r6]
- ldr r5, =0x00000cd9
- adds r1, r5
- strb r0, [r1]
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- ldr r1, =gUnknown_02039D79
- ldrb r1, [r1]
- add r4, sp, 0x28
- mov r5, sp
- adds r5, 0x2A
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_80CD444
- ldr r0, =gSpriteTemplate_857BA50
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0
- ldrsh r2, [r5, r3]
- movs r3, 0x6
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080CFD18
- ldr r2, [r6]
- ldr r4, =0x00000cb4
- adds r3, r2, r4
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- str r1, [r3]
- ldr r0, =gUnknown_02039D7D
- ldr r5, =0x00000cd8
- adds r2, r5
- ldrb r0, [r0]
- adds r2, r0
- ldrb r2, [r2]
- lsls r2, 4
- ldrb r3, [r1, 0x5]
- movs r0, 0xF
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x5]
- ldr r0, [r6]
- adds r0, r4
- ldr r2, [r0]
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r0, =gUnknown_02039D7A
- ldrb r0, [r0]
- cmp r0, 0
- beq _080CFD22
- ldr r0, [r6]
- adds r0, r4
- ldr r0, [r0]
- movs r1, 0x3
- bl StartSpriteAnim
- b _080CFD22
- .pool
-_080CFD18:
- ldr r0, [r6]
- ldr r1, =0x00000cb4
- adds r0, r1
- movs r1, 0
- str r1, [r0]
-_080CFD22:
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _080CFD3C
- movs r3, 0xD
- movs r4, 0x1
- b _080CFD40
- .pool
-_080CFD3C:
- movs r3, 0x15
- movs r4, 0x2
-_080CFD40:
- ldr r0, =gSpriteTemplate_857BA68
- movs r1, 0
- movs r2, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080CFDA8
- ldr r5, =gUnknown_02039D08
- ldr r2, [r5]
- ldr r3, =0x00000cb8
- adds r2, r3
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- str r1, [r2]
- lsls r3, r4, 2
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _080CFDB4
- ldr r0, [r5]
- ldr r4, =0x00000cb8
- adds r0, r4
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- b _080CFDB4
- .pool
-_080CFDA8:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r5, =0x00000cb8
- adds r0, r5
- movs r1, 0
- str r1, [r0]
-_080CFDB4:
- add sp, 0x2C
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CFC14
-
- thumb_func_start sub_80CFDC4
-sub_80CFDC4: @ 80CFDC4
- push {lr}
- ldr r2, =gUnknown_02039D7D
- movs r1, 0
- ldrb r0, [r2]
- cmp r0, 0
- bne _080CFDD2
- movs r1, 0x1
-_080CFDD2:
- strb r1, [r2]
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r3, =0x00000cb4
- adds r1, r0, r3
- ldr r3, [r1]
- ldr r1, =0x00000cd8
- adds r0, r1
- ldrb r2, [r2]
- adds r0, r2
- ldrb r1, [r0]
- lsls r1, 4
- ldrb r2, [r3, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x5]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CFDC4
-
- thumb_func_start sub_80CFE08
-sub_80CFE08: @ 80CFE08
- ldr r0, =gUnknown_02039D79
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80CFE08
-
- thumb_func_start sub_80CFE14
-sub_80CFE14: @ 80CFE14
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bne _080CFE48
- ldr r4, =gUnknown_02039D79
- movs r0, 0
- ldrsb r0, [r4, r0]
- movs r1, 0x6
- bl __modsi3
- strb r0, [r5]
- movs r0, 0
- ldrsb r0, [r4, r0]
- movs r1, 0x6
- bl __divsi3
- b _080CFE4C
- .pool
-_080CFE48:
- movs r0, 0
- strb r0, [r5]
-_080CFE4C:
- strb r0, [r6]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80CFE14
-
- thumb_func_start sub_80CFE54
-sub_80CFE54: @ 80CFE54
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r2, =0x00000cb4
- adds r0, r2
- ldr r0, [r0]
- bl StartSpriteAnim
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CFE54
-
- thumb_func_start sub_80CFE78
-sub_80CFE78: @ 80CFE78
- ldr r0, =gUnknown_02039D7B
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80CFE78
-
- thumb_func_start sub_80CFE84
-sub_80CFE84: @ 80CFE84
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00000cb4
- adds r0, r1
- ldr r2, [r0]
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x5]
- bx lr
- .pool
- thumb_func_end sub_80CFE84
-
- thumb_func_start sub_80CFEA8
-sub_80CFEA8: @ 80CFEA8
- push {lr}
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bne _080CFEC0
- ldr r0, =gUnknown_02039D79
- ldrb r1, [r0]
- movs r0, 0
- bl sub_80D0E50
-_080CFEC0:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CFEA8
-
- thumb_func_start sub_80CFECC
-sub_80CFECC: @ 80CFECC
- push {lr}
- ldr r0, =gUnknown_02039D78
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bne _080CFEE4
- ldr r0, =gUnknown_02039D79
- ldrb r1, [r0]
- movs r0, 0
- bl sub_80D0D8C
-_080CFEE4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CFECC
-
- thumb_func_start sub_80CFEF0
-sub_80CFEF0: @ 80CFEF0
- ldr r2, =gUnknown_02039D08
- ldr r0, [r2]
- ldr r1, =0x00000cac
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- ldr r3, =0x00000cad
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r2]
- subs r3, 0x41
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r2]
- ldr r1, =0x00000c71
- adds r0, r1
- movs r1, 0xF
- strb r1, [r0]
- ldr r0, [r2]
- adds r3, 0x6
- adds r0, r3
- movs r1, 0x5C
- strh r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_80CFEF0
-
- thumb_func_start sub_80CFF34
-sub_80CFF34: @ 80CFF34
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r4, =gUnknown_02039D08
- ldr r2, [r4]
- ldr r5, =0x00000cac
- adds r1, r2, r5
- ldrb r0, [r1]
- cmp r0, 0x6
- bhi _080CFF7E
- adds r1, r0, 0
- lsls r1, 3
- ldr r0, =0x00000c74
- adds r1, r0
- adds r1, r2, r1
- ldr r2, =gUnknown_0857BA80
- lsls r0, r3, 2
- adds r0, r2
- ldr r0, [r0]
- str r0, [r1]
- str r3, [r1, 0x4]
- bl StringLength
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, [r4]
- ldr r2, =0x00000cad
- adds r0, r2
- ldrb r2, [r0]
- cmp r1, r2
- bls _080CFF74
- strb r1, [r0]
-_080CFF74:
- ldr r1, [r4]
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080CFF7E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CFF34
-
- thumb_func_start sub_80CFF98
-sub_80CFF98: @ 80CFF98
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldr r3, =0x00000cac
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080CFFC8
- lsls r0, r2, 3
- ldr r2, =0x00000c78
- adds r1, r2
- adds r1, r0
- movs r0, 0
- ldrsb r0, [r1, r0]
- b _080CFFCC
- .pool
-_080CFFC8:
- movs r0, 0x1
- negs r0, r0
-_080CFFCC:
- pop {r1}
- bx r1
- thumb_func_end sub_80CFF98
-
- thumb_func_start sub_80CFFD0
-sub_80CFFD0: @ 80CFFD0
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r5, =gUnknown_02039D08
- ldr r1, [r5]
- ldr r2, =0x00000cad
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r0, 0x2
- subs r2, 0x3E
- adds r1, r2
- strb r0, [r1]
- ldr r1, [r5]
- ldr r6, =0x00000cac
- adds r0, r1, r6
- ldrb r0, [r0]
- lsls r0, 1
- movs r3, 0xC7
- lsls r3, 4
- adds r1, r3
- strb r0, [r1]
- ldr r1, [r5]
- adds r2, r1, r2
- ldrb r2, [r2]
- movs r0, 0x1D
- subs r0, r2
- ldr r2, =0x00000c6d
- adds r1, r2
- strb r0, [r1]
- ldr r1, [r5]
- adds r3, r1, r3
- ldrb r2, [r3]
- movs r0, 0xF
- subs r0, r2
- ldr r3, =0x00000c6e
- adds r1, r3
- strb r0, [r1]
- ldr r0, [r5]
- ldr r1, =0x00000c6c
- adds r0, r1
- bl AddWindow
- ldr r1, [r5]
- movs r4, 0xCB
- lsls r4, 4
- adds r1, r4
- movs r2, 0
- mov r8, r2
- strh r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- bl ClearWindowTilemap
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0
- movs r2, 0xB
- movs r3, 0xE
- bl SetWindowBorderStyle
- ldr r2, [r5]
- adds r0, r2, r4
- ldrb r0, [r0]
- adds r1, r2, r6
- ldrb r1, [r1]
- ldr r3, =0x00000c74
- adds r2, r3
- bl PrintMenuTable
- ldr r1, [r5]
- adds r4, r1, r4
- ldrb r0, [r4]
- adds r1, r6
- ldrb r1, [r1]
- movs r2, 0
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldr r0, [r5]
- ldr r1, =0x00000cae
- adds r0, r1
- mov r2, r8
- strb r2, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80CFFD0
-
- thumb_func_start sub_80D00A8
-sub_80D00A8: @ 80D00A8
- movs r0, 0
- bx lr
- thumb_func_end sub_80D00A8
-
- thumb_func_start sub_80D00AC
-sub_80D00AC: @ 80D00AC
- push {r4,r5,lr}
- movs r5, 0x2
- negs r5, r5
- ldr r4, =gMain
- ldrh r1, [r4, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080D0102
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080D00CE
- movs r0, 0x5
- bl PlaySE
- adds r5, 0x1
-_080D00CE:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080D00EC
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- bl MoveMenuCursor
- b _080D010A
- .pool
-_080D00EC:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080D010A
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl MoveMenuCursor
- b _080D010A
-_080D0102:
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r5, r0, 24
-_080D010A:
- movs r0, 0x2
- negs r0, r0
- cmp r5, r0
- beq _080D0116
- bl sub_80D013C
-_080D0116:
- cmp r5, 0
- blt _080D0128
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- lsls r1, r5, 3
- ldr r2, =0x00000c78
- adds r0, r2
- adds r0, r1
- ldr r5, [r0]
-_080D0128:
- lsls r0, r5, 16
- asrs r0, 16
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D00AC
-
- thumb_func_start sub_80D013C
-sub_80D013C: @ 80D013C
- push {r4,r5,lr}
- ldr r5, =gUnknown_02039D08
- ldr r0, [r5]
- movs r4, 0xCB
- lsls r4, 4
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x1
- bl sub_8198070
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- bl RemoveWindow
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D013C
-
- thumb_func_start sub_80D0164
-sub_80D0164: @ 80D0164
- push {r4,lr}
- ldr r4, =gUnknown_02039D80
- ldr r0, =0x00000974
- bl Alloc
- str r0, [r4]
- cmp r0, 0
- beq _080D01B0
- ldr r0, =gUnknown_0857BB1C
- bl AddWindow8Bit
- adds r1, r0, 0
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- movs r2, 0x88
- lsls r2, 6
- adds r0, r2
- strh r1, [r0]
- lsls r0, r1, 16
- lsrs r0, 16
- cmp r0, 0xFF
- beq _080D01B0
- lsls r0, r1, 24
- lsrs r0, 24
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x1
- b _080D01B2
- .pool
-_080D01B0:
- movs r0, 0
-_080D01B2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80D0164
-
- thumb_func_start sub_80D01B8
-sub_80D01B8: @ 80D01B8
- push {lr}
- ldr r0, =gUnknown_02039D80
- ldr r0, [r0]
- cmp r0, 0
- beq _080D01C6
- bl Free
-_080D01C6:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D01B8
-
- thumb_func_start sub_80D01D0
-sub_80D01D0: @ 80D01D0
- ldr r2, =gUnknown_02039D80
- ldr r1, [r2]
- movs r3, 0
- strb r0, [r1]
- ldr r0, [r2]
- strb r3, [r0, 0x1]
- bx lr
- .pool
- thumb_func_end sub_80D01D0
-
- thumb_func_start sub_80D01E4
-sub_80D01E4: @ 80D01E4
- push {lr}
- ldr r0, =gUnknown_02039D80
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x5
- bhi _080D0244
- lsls r0, 2
- ldr r1, =_080D0204
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080D0204:
- .4byte _080D021C
- .4byte _080D0222
- .4byte _080D0228
- .4byte _080D022E
- .4byte _080D0234
- .4byte _080D023A
-_080D021C:
- bl sub_80D024C
- b _080D023E
-_080D0222:
- bl sub_80D0344
- b _080D023E
-_080D0228:
- bl sub_80D03B0
- b _080D023E
-_080D022E:
- bl sub_80D0420
- b _080D023E
-_080D0234:
- bl sub_80D04A0
- b _080D023E
-_080D023A:
- bl sub_80D04C8
-_080D023E:
- lsls r0, 24
- lsrs r0, 24
- b _080D0246
-_080D0244:
- movs r0, 0
-_080D0246:
- pop {r1}
- bx r1
- thumb_func_end sub_80D01E4
-
- thumb_func_start sub_80D024C
-sub_80D024C: @ 80D024C
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r6, =gUnknown_02039D80
- ldr r1, [r6]
- ldrb r0, [r1, 0x1]
- cmp r0, 0x1
- beq _080D027C
- cmp r0, 0x1
- bgt _080D0268
- cmp r0, 0
- beq _080D026E
- b _080D0338
- .pool
-_080D0268:
- cmp r0, 0x2
- beq _080D0324
- b _080D0338
-_080D026E:
- movs r0, 0
- bl HideBg
- movs r0, 0x80
- bl sub_80D304C
- b _080D030E
-_080D027C:
- adds r0, r1, 0x2
- adds r1, 0x3
- bl sub_80CFE14
- ldr r1, [r6]
- ldrb r0, [r1, 0x2]
- strb r0, [r1, 0x4]
- ldr r1, [r6]
- ldrb r0, [r1, 0x3]
- strb r0, [r1, 0x5]
- ldr r4, =0xfffffc00
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x20
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- ldr r5, =gUnknown_02039D08
- ldr r0, [r5]
- movs r4, 0x88
- lsls r4, 6
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0
- bl FillWindowPixelBuffer8Bit
- ldr r1, [r6]
- ldrb r0, [r1, 0x2]
- ldrb r1, [r1, 0x3]
- bl sub_80D07B0
- movs r0, 0
- movs r1, 0x4
- movs r2, 0x1
- bl SetBgAttribute
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- bl PutWindowTilemap
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x3
- bl CopyWindowToVram8Bit
- movs r0, 0xFC
- lsls r0, 6
- ldr r2, =0x00007fff
- movs r1, 0x8
- bl BlendPalettes
- movs r0, 0x2
- bl sub_80CFE54
- movs r0, 0x8
- movs r1, 0x80
- bl SetGpuRegBits
-_080D030E:
- ldr r1, [r6]
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- strb r0, [r1, 0x1]
- b _080D0338
- .pool
-_080D0324:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080D0338
- movs r0, 0
- bl ShowBg
- movs r0, 0
- b _080D033A
-_080D0338:
- movs r0, 0x1
-_080D033A:
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80D024C
-
- thumb_func_start sub_80D0344
-sub_80D0344: @ 80D0344
- push {r4,lr}
- ldr r4, =gUnknown_02039D80
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- beq _080D036E
- cmp r0, 0x1
- bgt _080D0360
- cmp r0, 0
- beq _080D0366
- b _080D03A8
- .pool
-_080D0360:
- cmp r0, 0x2
- beq _080D0382
- b _080D03A8
-_080D0366:
- movs r0, 0
- bl HideBg
- b _080D0378
-_080D036E:
- bl sub_80D0B5C
- movs r0, 0
- bl sub_80CFE54
-_080D0378:
- ldr r1, [r4]
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- strb r0, [r1, 0x1]
- b _080D03A8
-_080D0382:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080D03A8
- bl sub_80CFE84
- movs r0, 0x3
- bl stdpal_get
- movs r1, 0xD0
- movs r2, 0x20
- bl LoadPalette
- movs r0, 0
- bl ShowBg
- movs r0, 0
- b _080D03AA
-_080D03A8:
- movs r0, 0x1
-_080D03AA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80D0344
-
- thumb_func_start sub_80D03B0
-sub_80D03B0: @ 80D03B0
- push {r4,lr}
- ldr r4, =gUnknown_02039D80
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- beq _080D03C8
- cmp r0, 0x1
- beq _080D040C
- b _080D0416
- .pool
-_080D03C8:
- bl sub_80CD554
- lsls r0, 24
- cmp r0, 0
- bne _080D0416
- ldr r1, [r4]
- adds r0, r1, 0x6
- adds r1, 0x7
- bl sub_80CFE14
- bl sub_80D062C
- ldr r1, [r4]
- ldrb r0, [r1, 0x6]
- strb r0, [r1, 0x4]
- ldr r1, [r4]
- ldrb r0, [r1, 0x7]
- strb r0, [r1, 0x5]
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- movs r1, 0x88
- lsls r1, 6
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram8Bit
- ldr r1, [r4]
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- strb r0, [r1, 0x1]
- b _080D0416
- .pool
-_080D040C:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _080D0418
-_080D0416:
- movs r0, 0x1
-_080D0418:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80D03B0
-
- thumb_func_start sub_80D0420
-sub_80D0420: @ 80D0420
- push {r4,lr}
- ldr r4, =gUnknown_02039D80
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- beq _080D044E
- cmp r0, 0x1
- bgt _080D043C
- cmp r0, 0
- beq _080D0442
- b _080D0498
- .pool
-_080D043C:
- cmp r0, 0x2
- beq _080D047A
- b _080D0498
-_080D0442:
- bl sub_80D08CC
- bl sub_80D09A4
- movs r0, 0
- b _080D046C
-_080D044E:
- bl sub_80CDCAC
- lsls r0, 24
- cmp r0, 0
- bne _080D0498
- movs r0, 0x3
- bl sub_80CFE54
- movs r1, 0x80
- lsls r1, 1
- movs r0, 0
- movs r2, 0x8
- bl sub_80D0884
- movs r0, 0x1
-_080D046C:
- bl sub_80CDC64
- ldr r1, [r4]
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- strb r0, [r1, 0x1]
- b _080D0498
-_080D047A:
- bl sub_80D0894
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80CDCAC
- lsls r0, 24
- lsrs r0, 24
- cmp r4, 0
- bne _080D0498
- cmp r0, 0
- bne _080D0498
- movs r0, 0
- b _080D049A
-_080D0498:
- movs r0, 0x1
-_080D049A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80D0420
-
- thumb_func_start sub_80D04A0
-sub_80D04A0: @ 80D04A0
- push {r4,lr}
- bl sub_80CD554
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80D0894
- lsls r0, 24
- lsrs r0, 24
- cmp r4, 0
- bne _080D04C0
- cmp r0, 0
- bne _080D04C0
- movs r0, 0
- b _080D04C2
-_080D04C0:
- movs r0, 0x1
-_080D04C2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80D04A0
-
- thumb_func_start sub_80D04C8
-sub_80D04C8: @ 80D04C8
- push {r4,lr}
- ldr r4, =gUnknown_02039D80
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- beq _080D0506
- cmp r0, 0x1
- bgt _080D04E4
- cmp r0, 0
- beq _080D04EE
- b _080D0576
- .pool
-_080D04E4:
- cmp r0, 0x2
- beq _080D0532
- cmp r0, 0x3
- beq _080D0550
- b _080D0576
-_080D04EE:
- bl sub_80D0AAC
- movs r1, 0xFF
- lsls r1, 8
- movs r0, 0
- movs r2, 0x8
- bl sub_80D0884
- movs r0, 0
- bl sub_80CDC64
- b _080D0546
-_080D0506:
- bl sub_80CDCAC
- lsls r0, 24
- cmp r0, 0
- bne _080D0576
- bl sub_80D0894
- lsls r0, 24
- cmp r0, 0
- bne _080D0576
- bl sub_80D0A1C
- movs r0, 0x2
- bl sub_80CFE54
- movs r0, 0x1
- bl sub_80CDC64
- movs r0, 0
- bl HideBg
- b _080D0546
-_080D0532:
- bl sub_80CDCAC
- lsls r0, 24
- cmp r0, 0
- bne _080D0576
- movs r0, 0
- bl sub_80CFE54
- bl sub_80D0B5C
-_080D0546:
- ldr r1, [r4]
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- strb r0, [r1, 0x1]
- b _080D0576
-_080D0550:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080D0576
- movs r0, 0x3
- bl stdpal_get
- movs r1, 0xD0
- movs r2, 0x20
- bl LoadPalette
- bl sub_80CFE84
- movs r0, 0
- bl ShowBg
- movs r0, 0
- b _080D0578
-_080D0576:
- movs r0, 0x1
-_080D0578:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80D04C8
-
- thumb_func_start sub_80D0580
-sub_80D0580: @ 80D0580
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x1
- beq _080D05BC
- cmp r0, 0x1
- bgt _080D0596
- cmp r0, 0
- beq _080D05A0
- b _080D0624
-_080D0596:
- cmp r1, 0x2
- beq _080D05DC
- cmp r1, 0x3
- beq _080D05FC
- b _080D0624
-_080D05A0:
- ldr r0, =gUnknown_02039D80
- ldr r1, [r0]
- ldrb r0, [r1, 0x9]
- cmp r0, 0
- beq _080D060A
- subs r0, 0x1
- strb r0, [r1, 0x9]
- movs r1, 0x80
- lsls r1, 3
- movs r0, 0
- b _080D05F0
- .pool
-_080D05BC:
- ldr r0, =gUnknown_02039D80
- ldr r1, [r0]
- ldrb r2, [r1, 0x9]
- ldrb r0, [r1, 0xB]
- adds r0, r2, r0
- cmp r0, 0x4
- bgt _080D060A
- adds r0, r2, 0x1
- strb r0, [r1, 0x9]
- movs r1, 0xFC
- lsls r1, 8
- movs r0, 0
- b _080D05F0
- .pool
-_080D05DC:
- ldr r0, =gUnknown_02039D80
- ldr r1, [r0]
- ldrb r0, [r1, 0x8]
- cmp r0, 0
- beq _080D060A
- subs r0, 0x1
- strb r0, [r1, 0x8]
- movs r0, 0x80
- lsls r0, 3
- movs r1, 0
-_080D05F0:
- movs r2, 0x6
- bl sub_80D0884
- b _080D0624
- .pool
-_080D05FC:
- ldr r0, =gUnknown_02039D80
- ldr r1, [r0]
- ldrb r2, [r1, 0x8]
- ldrb r0, [r1, 0xA]
- adds r0, r2, r0
- cmp r0, 0x5
- ble _080D0614
-_080D060A:
- movs r0, 0
- b _080D0626
- .pool
-_080D0614:
- adds r0, r2, 0x1
- strb r0, [r1, 0x8]
- movs r0, 0xFC
- lsls r0, 8
- movs r1, 0
- movs r2, 0x6
- bl sub_80D0884
-_080D0624:
- movs r0, 0x1
-_080D0626:
- pop {r1}
- bx r1
- thumb_func_end sub_80D0580
-
- thumb_func_start sub_80D062C
-sub_80D062C: @ 80D062C
- push {r4-r7,lr}
- ldr r6, =gUnknown_02039D80
- ldr r2, [r6]
- ldrb r3, [r2, 0x2]
- ldrb r5, [r2, 0x6]
- subs r1, r3, r5
- cmp r1, 0
- bge _080D063E
- negs r1, r1
-_080D063E:
- ldrb r0, [r2, 0x4]
- subs r0, r3, r0
- cmp r0, 0
- bge _080D0648
- negs r0, r0
-_080D0648:
- subs r0, r1, r0
- lsls r0, 16
- lsrs r4, r0, 16
- ldrb r1, [r2, 0x3]
- ldrb r0, [r2, 0x7]
- subs r3, r1, r0
- cmp r3, 0
- bge _080D065A
- negs r3, r3
-_080D065A:
- ldrb r2, [r2, 0x5]
- subs r0, r1, r2
- cmp r0, 0
- bge _080D0664
- negs r0, r0
-_080D0664:
- subs r0, r3, r0
- lsls r0, 16
- lsrs r7, r0, 16
- lsls r0, r4, 16
- asrs r4, r0, 16
- cmp r4, 0
- ble _080D0678
- adds r0, r5, 0
- bl sub_80D06D0
-_080D0678:
- cmp r4, 0
- bge _080D0694
- ldr r2, [r6]
- ldrb r0, [r2, 0x4]
- ldrb r1, [r2, 0x3]
- ldrb r2, [r2, 0x5]
- bl sub_80D0740
- ldr r2, [r6]
- ldrb r0, [r2, 0x6]
- ldrb r1, [r2, 0x3]
- ldrb r2, [r2, 0x5]
- bl sub_80D06D0
-_080D0694:
- lsls r0, r7, 16
- asrs r4, r0, 16
- cmp r4, 0
- ble _080D06A8
- ldr r2, [r6]
- ldrb r0, [r2, 0x7]
- ldrb r1, [r2, 0x2]
- ldrb r2, [r2, 0x4]
- bl sub_80D0708
-_080D06A8:
- cmp r4, 0
- bge _080D06C4
- ldr r2, [r6]
- ldrb r0, [r2, 0x5]
- ldrb r1, [r2, 0x2]
- ldrb r2, [r2, 0x4]
- bl sub_80D0778
- ldr r2, [r6]
- ldrb r0, [r2, 0x7]
- ldrb r1, [r2, 0x2]
- ldrb r2, [r2, 0x4]
- bl sub_80D0708
-_080D06C4:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D062C
-
- thumb_func_start sub_80D06D0
-sub_80D06D0: @ 80D06D0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- adds r1, r4, 0
- lsls r2, 24
- lsrs r5, r2, 24
- adds r0, r5, 0
- cmp r4, r5
- bls _080D06EE
- adds r4, r5, 0
- adds r5, r1, 0
- cmp r0, r5
- bhi _080D0700
-_080D06EE:
- adds r1, r4, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r6, 0
- bl sub_80D07B0
- cmp r4, r5
- bls _080D06EE
-_080D0700:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80D06D0
-
- thumb_func_start sub_80D0708
-sub_80D0708: @ 80D0708
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- adds r1, r4, 0
- lsls r2, 24
- lsrs r5, r2, 24
- adds r0, r5, 0
- cmp r4, r5
- bls _080D0726
- adds r4, r5, 0
- adds r5, r1, 0
- cmp r0, r5
- bhi _080D0738
-_080D0726:
- adds r0, r4, 0
- adds r1, r0, 0x1
- lsls r1, 24
- lsrs r4, r1, 24
- adds r1, r6, 0
- bl sub_80D07B0
- cmp r4, r5
- bls _080D0726
-_080D0738:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80D0708
-
- thumb_func_start sub_80D0740
-sub_80D0740: @ 80D0740
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- adds r1, r4, 0
- lsls r2, 24
- lsrs r5, r2, 24
- adds r0, r5, 0
- cmp r4, r5
- bls _080D075E
- adds r4, r5, 0
- adds r5, r1, 0
- cmp r0, r5
- bhi _080D0770
-_080D075E:
- adds r1, r4, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r6, 0
- bl sub_80D0834
- cmp r4, r5
- bls _080D075E
-_080D0770:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80D0740
-
- thumb_func_start sub_80D0778
-sub_80D0778: @ 80D0778
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- adds r1, r4, 0
- lsls r2, 24
- lsrs r5, r2, 24
- adds r0, r5, 0
- cmp r4, r5
- bls _080D0796
- adds r4, r5, 0
- adds r5, r1, 0
- cmp r0, r5
- bhi _080D07A8
-_080D0796:
- adds r0, r4, 0
- adds r1, r0, 0x1
- lsls r1, 24
- lsrs r4, r1, 24
- adds r1, r6, 0
- bl sub_80D0834
- cmp r4, r5
- bls _080D0796
-_080D07A8:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80D0778
-
- thumb_func_start sub_80D07B0
-sub_80D07B0: @ 80D07B0
- push {r4-r7,lr}
- sub sp, 0x1C
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 1
- adds r7, r0, r1
- lsls r4, r7, 1
- adds r4, r6, r4
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x41
- bl GetBoxMonDataFromSelectedBox
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- movs r1, 0
- bl GetBoxMonDataFromSelectedBox
- adds r1, r0, 0
- cmp r5, 0
- beq _080D0828
- adds r0, r5, 0
- movs r2, 0x1
- bl GetMonIconPtr
- adds r4, r0, 0
- adds r0, r5, 0
- bl sub_80D3080
- adds r0, 0x8
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_02039D08
- ldr r1, [r1]
- movs r2, 0x88
- lsls r2, 6
- adds r1, r2
- ldrb r3, [r1]
- movs r2, 0x20
- str r2, [sp]
- str r2, [sp, 0x4]
- lsls r1, r6, 1
- adds r1, r6
- lsls r1, 3
- str r1, [sp, 0x8]
- lsls r1, r7, 3
- str r1, [sp, 0xC]
- str r2, [sp, 0x10]
- str r2, [sp, 0x14]
- str r0, [sp, 0x18]
- adds r0, r3, 0
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0
- bl BlitBitmapRectToWindow4BitTo8Bit
-_080D0828:
- add sp, 0x1C
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D07B0
-
- thumb_func_start sub_80D0834
-sub_80D0834: @ 80D0834
- push {r4,r5,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 1
- adds r5, r0, r1
- lsls r0, r5, 1
- adds r0, r4, r0
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x41
- bl GetBoxMonDataFromSelectedBox
- lsls r0, 16
- cmp r0, 0
- beq _080D0878
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- movs r1, 0x88
- lsls r1, 6
- adds r0, r1
- ldrb r0, [r0]
- lsls r2, r4, 1
- adds r2, r4
- lsls r2, 3
- lsls r3, r5, 3
- movs r1, 0x20
- str r1, [sp]
- str r1, [sp, 0x4]
- movs r1, 0
- bl FillWindowPixelRect8Bit
-_080D0878:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D0834
-
- thumb_func_start sub_80D0884
-sub_80D0884: @ 80D0884
- ldr r3, =gUnknown_02039D80
- ldr r3, [r3]
- strh r0, [r3, 0xC]
- strh r1, [r3, 0xE]
- strh r2, [r3, 0x10]
- bx lr
- .pool
- thumb_func_end sub_80D0884
-
- thumb_func_start sub_80D0894
-sub_80D0894: @ 80D0894
- push {r4,lr}
- ldr r4, =gUnknown_02039D80
- ldr r1, [r4]
- ldrh r0, [r1, 0x10]
- cmp r0, 0
- beq _080D08BE
- ldrh r1, [r1, 0xC]
- movs r0, 0
- movs r2, 0x1
- bl ChangeBgX
- ldr r0, [r4]
- ldrh r1, [r0, 0xE]
- movs r0, 0
- movs r2, 0x1
- bl ChangeBgY
- ldr r1, [r4]
- ldrh r0, [r1, 0x10]
- subs r0, 0x1
- strh r0, [r1, 0x10]
-_080D08BE:
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D0894
-
- thumb_func_start sub_80D08CC
-sub_80D08CC: @ 80D08CC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, =gUnknown_02039D80
- ldr r1, [r4]
- ldrb r0, [r1, 0x4]
- ldrb r2, [r1, 0x2]
- cmp r0, r2
- bls _080D08E4
- adds r0, r2, 0
-_080D08E4:
- strb r0, [r1, 0x8]
- ldr r1, [r4]
- ldrb r0, [r1, 0x5]
- ldrb r2, [r1, 0x3]
- cmp r0, r2
- bls _080D08F2
- adds r0, r2, 0
-_080D08F2:
- strb r0, [r1, 0x9]
- ldr r2, [r4]
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x4]
- subs r0, r1, r0
- cmp r0, 0
- bge _080D0902
- negs r0, r0
-_080D0902:
- adds r0, 0x1
- strb r0, [r2, 0xA]
- ldr r2, [r4]
- ldrb r1, [r2, 0x3]
- ldrb r0, [r2, 0x5]
- subs r0, r1, r0
- cmp r0, 0
- bge _080D0914
- negs r0, r0
-_080D0914:
- adds r0, 0x1
- strb r0, [r2, 0xB]
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- movs r6, 0
- ldr r0, [r4]
- ldrb r2, [r0, 0x8]
- ldrb r1, [r0, 0xA]
- adds r2, r1
- mov r8, r2
- ldrb r1, [r0, 0x9]
- ldrb r0, [r0, 0xB]
- adds r0, r1
- mov r9, r0
- adds r2, r1, 0
- cmp r2, r9
- bge _080D0990
-_080D093C:
- lsls r0, r2, 1
- adds r0, r2
- ldr r3, =gUnknown_02039D80
- ldr r1, [r3]
- lsls r0, 1
- ldrb r3, [r1, 0x8]
- adds r0, r3
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r4, [r1, 0x8]
- adds r7, r2, 0x1
- cmp r4, r8
- bge _080D098A
- mov r0, r8
- subs r4, r0, r4
-_080D095A:
- mov r0, r10
- adds r1, r5, 0
- bl GetBoxedMonPtr
- adds r1, r0, 0
- ldr r2, =gUnknown_02039D80
- ldr r0, [r2]
- lsls r2, r6, 2
- adds r2, r6
- lsls r2, 4
- adds r0, r2
- adds r0, 0x14
- movs r2, 0x50
- bl memcpy
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- subs r4, 0x1
- cmp r4, 0
- bne _080D095A
-_080D098A:
- adds r2, r7, 0
- cmp r2, r9
- blt _080D093C
-_080D0990:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D08CC
-
- thumb_func_start sub_80D09A4
-sub_80D09A4: @ 80D09A4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r4, =gUnknown_02039D80
- ldr r0, [r4]
- ldrb r2, [r0, 0x8]
- ldrb r1, [r0, 0xA]
- adds r7, r2, r1
- ldrb r1, [r0, 0x9]
- ldrb r0, [r0, 0xB]
- adds r1, r0
- mov r9, r1
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, [r4]
- ldrb r2, [r0, 0x9]
- cmp r2, r9
- bge _080D0A0C
-_080D09D0:
- lsls r0, r2, 1
- adds r0, r2
- ldr r1, =gUnknown_02039D80
- ldr r1, [r1]
- lsls r0, 1
- ldrb r3, [r1, 0x8]
- adds r0, r3
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r4, [r1, 0x8]
- adds r6, r2, 0x1
- cmp r4, r7
- bge _080D0A06
- subs r4, r7, r4
-_080D09EC:
- adds r0, r5, 0
- bl sub_80CB778
- mov r0, r8
- adds r1, r5, 0
- bl ClearMonInBox
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- subs r4, 0x1
- cmp r4, 0
- bne _080D09EC
-_080D0A06:
- adds r2, r6, 0
- cmp r2, r9
- blt _080D09D0
-_080D0A0C:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D09A4
-
- thumb_func_start sub_80D0A1C
-sub_80D0A1C: @ 80D0A1C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, =gUnknown_02039D80
- ldr r0, [r0]
- ldrb r2, [r0, 0x8]
- ldrb r1, [r0, 0xA]
- adds r2, r1
- mov r8, r2
- ldrb r1, [r0, 0x9]
- ldrb r0, [r0, 0xB]
- adds r0, r1
- mov r10, r0
- movs r6, 0
- adds r2, r1, 0
- cmp r2, r10
- bge _080D0A98
-_080D0A42:
- lsls r0, r2, 1
- adds r0, r2
- ldr r3, =gUnknown_02039D80
- ldr r1, [r3]
- lsls r0, 1
- ldrb r4, [r1, 0x8]
- adds r0, r4
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r4, [r1, 0x8]
- adds r7, r2, 0x1
- cmp r4, r8
- bge _080D0A92
- mov r9, r3
- mov r0, r8
- subs r4, r0, r4
-_080D0A62:
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 4
- adds r1, 0x14
- mov r2, r9
- ldr r0, [r2]
- adds r0, r1
- movs r1, 0x5
- bl GetBoxMonData
- cmp r0, 0
- beq _080D0A80
- adds r0, r5, 0
- bl sub_80CB140
-_080D0A80:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- subs r4, 0x1
- cmp r4, 0
- bne _080D0A62
-_080D0A92:
- adds r2, r7, 0
- cmp r2, r10
- blt _080D0A42
-_080D0A98:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D0A1C
-
- thumb_func_start sub_80D0AAC
-sub_80D0AAC: @ 80D0AAC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- ldr r4, =gUnknown_02039D80
- ldr r0, [r4]
- ldrb r2, [r0, 0x8]
- ldrb r1, [r0, 0xA]
- adds r2, r1
- mov r10, r2
- ldrb r1, [r0, 0x9]
- ldrb r0, [r0, 0xB]
- adds r1, r0
- str r1, [sp]
- bl StorageGetCurrentBox
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- movs r7, 0
- ldr r0, [r4]
- ldrb r3, [r0, 0x9]
- ldr r0, [sp]
- cmp r3, r0
- bge _080D0B46
-_080D0AE2:
- lsls r0, r3, 1
- adds r0, r3
- ldr r2, =gUnknown_02039D80
- ldr r1, [r2]
- lsls r0, 1
- ldrb r4, [r1, 0x8]
- adds r0, r4
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r5, [r1, 0x8]
- adds r3, 0x1
- mov r9, r3
- cmp r5, r10
- bge _080D0B3E
- mov r8, r2
- mov r0, r10
- subs r5, r0, r5
-_080D0B04:
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 4
- adds r4, r0, 0
- adds r4, 0x14
- mov r1, r8
- ldr r0, [r1]
- adds r0, r4
- movs r1, 0x5
- bl GetBoxMonData
- cmp r0, 0
- beq _080D0B2C
- mov r0, r8
- ldr r2, [r0]
- adds r2, r4
- ldr r0, [sp, 0x4]
- adds r1, r6, 0
- bl CopyBoxMonFromAnyBox
-_080D0B2C:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- subs r5, 0x1
- cmp r5, 0
- bne _080D0B04
-_080D0B3E:
- mov r3, r9
- ldr r1, [sp]
- cmp r3, r1
- blt _080D0AE2
-_080D0B46:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D0AAC
-
- thumb_func_start sub_80D0B5C
-sub_80D0B5C: @ 80D0B5C
- push {lr}
- sub sp, 0x8
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0
- movs r1, 0x4
- movs r2, 0
- bl SetBgAttribute
- movs r0, 0x8
- movs r1, 0x80
- bl ClearGpuRegBits
- movs r0, 0x20
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_80D0B5C
-
- thumb_func_start sub_80D0BA4
-sub_80D0BA4: @ 80D0BA4
- ldr r0, =gUnknown_02039D80
- ldr r2, [r0]
- ldrb r1, [r2, 0x3]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 1
- ldrb r2, [r2, 0x2]
- adds r0, r2
- lsls r0, 24
- lsrs r0, 24
- bx lr
- .pool
- thumb_func_end sub_80D0BA4
-
- thumb_func_start sub_80D0BC0
-sub_80D0BC0: @ 80D0BC0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r0, =gUnknown_02039D80
- ldr r0, [r0]
- ldrb r2, [r0, 0x8]
- ldrb r1, [r0, 0xA]
- adds r2, r1
- mov r9, r2
- ldrb r1, [r0, 0x9]
- ldrb r0, [r0, 0xB]
- adds r0, r1, r0
- str r0, [sp]
- movs r7, 0
- adds r6, r1, 0
- cmp r6, r0
- bge _080D0C4E
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 1
- mov r8, r0
-_080D0BF0:
- ldr r2, =gUnknown_02039D80
- ldr r1, [r2]
- ldrb r0, [r1, 0x8]
- add r0, r8
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r4, [r1, 0x8]
- cmp r4, r9
- bge _080D0C42
- mov r10, r2
-_080D0C04:
- lsls r1, r7, 2
- adds r1, r7
- lsls r1, 4
- adds r1, 0x14
- mov r2, r10
- ldr r0, [r2]
- adds r0, r1
- movs r1, 0x5
- bl GetBoxMonData
- cmp r0, 0
- beq _080D0C30
- adds r0, r5, 0
- movs r1, 0x5
- bl GetBoxMonDataFromSelectedBox
- cmp r0, 0
- beq _080D0C30
- movs r0, 0
- b _080D0C50
- .pool
-_080D0C30:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x1
- cmp r4, r9
- blt _080D0C04
-_080D0C42:
- movs r0, 0x6
- add r8, r0
- adds r6, 0x1
- ldr r2, [sp]
- cmp r6, r2
- blt _080D0BF0
-_080D0C4E:
- movs r0, 0x1
-_080D0C50:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80D0BC0
-
- thumb_func_start sub_80D0C60
-sub_80D0C60: @ 80D0C60
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- ldr r3, =gUnknown_02039D08
- ldr r0, [r3]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080D0D3E
- ldr r0, =gUnknown_03000F78
- str r0, [sp, 0x18]
- ldr r1, =0xffff0000
- add r2, sp, 0x18
- ldr r0, [r2, 0x4]
- ands r0, r1
- movs r1, 0x80
- lsls r1, 2
- orrs r0, r1
- str r0, [r2, 0x4]
- mov r1, sp
- ldr r0, =gSpriteTemplate_857BC70
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- movs r7, 0
- mov r9, r2
- mov r8, r3
- movs r0, 0
- mov r10, r0
-_080D0CA0:
- adds r6, r7, 0x7
- lsls r1, r6, 16
- mov r2, r9
- ldrh r0, [r2, 0x4]
- orrs r0, r1
- str r0, [r2, 0x4]
- mov r0, r9
- bl LoadCompressedObjectPic
- mov r4, r9
- ldrh r0, [r4, 0x6]
- bl GetSpriteTileStartByTag
- mov r5, r8
- ldr r1, [r5]
- lsls r5, r7, 4
- ldr r2, =0x00002208
- adds r1, r2
- adds r1, r5
- lsls r0, 16
- lsrs r0, 11
- ldr r4, =0x06010000
- adds r0, r4
- str r0, [r1]
- ldr r0, =0xffffdacb
- adds r4, r7, r0
- lsls r0, r4, 16
- lsrs r0, 16
- bl AllocSpritePalette
- mov r2, r8
- ldr r1, [r2]
- adds r1, r5
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =0x0000220c
- adds r1, r2
- strh r0, [r1]
- ldrh r0, [r1]
- lsls r0, 4
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2
- strh r0, [r1]
- mov r0, sp
- strh r6, [r0]
- strh r4, [r0, 0x2]
- movs r1, 0
- movs r2, 0
- movs r3, 0xB
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- mov r4, r8
- ldr r2, [r4]
- ldr r6, =0x00002204
- adds r2, r6
- adds r2, r5
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- str r1, [r2]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, r5
- ldr r1, =0x00002210
- adds r0, r1
- mov r2, r10
- strb r2, [r0]
- adds r7, 0x1
- cmp r7, 0x2
- ble _080D0CA0
-_080D0D3E:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r4, =0x00002234
- adds r0, r4
- movs r1, 0
- strh r1, [r0]
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D0C60
-
- thumb_func_start sub_80D0D8C
-sub_80D0D8C: @ 80D0D8C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r7, r1, 24
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080D0E42
- mov r0, r8
- adds r1, r7, 0
- bl sub_80D1324
- cmp r0, 0
- bne _080D0E42
- mov r0, r8
- cmp r0, 0
- beq _080D0DC4
- cmp r0, 0x1
- beq _080D0DDA
- b _080D0E42
- .pool
-_080D0DC4:
- adds r0, r7, 0
- movs r1, 0x5
- bl GetBoxMonDataFromSelectedBox
- cmp r0, 0
- beq _080D0E42
- adds r0, r7, 0
- movs r1, 0xC
- bl GetBoxMonDataFromSelectedBox
- b _080D0DFC
-_080D0DDA:
- cmp r7, 0x5
- bhi _080D0E42
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x5
- bl GetMonData
- cmp r0, 0
- beq _080D0E42
- adds r0, r4, 0
- movs r1, 0xC
- bl GetMonData
-_080D0DFC:
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _080D0E42
- adds r0, r4, 0
- bl GetItemIconPic
- adds r6, r0, 0
- adds r0, r4, 0
- bl GetItemIconPalette
- adds r5, r0, 0
- bl sub_80D12E8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- mov r1, r8
- adds r2, r7, 0
- bl sub_80D140C
- adds r0, r4, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl sub_80D1524
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80D15D4
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80D1740
-_080D0E42:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D0D8C
-
- thumb_func_start sub_80D0E50
-sub_80D0E50: @ 80D0E50
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080D0E86
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80D1370
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_80D15D4
- adds r0, r4, 0
- movs r1, 0
- adds r2, r6, 0
- adds r3, r5, 0
- bl sub_80D1604
-_080D0E86:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D0E50
-
- thumb_func_start sub_80D0E90
-sub_80D0E90: @ 80D0E90
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- adds r7, r5, 0
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080D0F20
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80D1370
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r1, 0
- mov r0, sp
- strh r1, [r0]
- adds r0, r4, 0
- movs r1, 0x3
- bl sub_80D15D4
- adds r0, r4, 0
- movs r1, 0x1
- adds r2, r6, 0
- adds r3, r5, 0
- bl sub_80D1604
- adds r0, r4, 0
- movs r1, 0x2
- movs r2, 0
- bl sub_80D140C
- cmp r6, 0
- bne _080D0EF8
- adds r0, r5, 0
- movs r1, 0xC
- mov r2, sp
- bl SetBoxMonDataFromSelectedBox
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80CB7AC
- b _080D0F10
- .pool
-_080D0EF8:
- movs r0, 0x64
- muls r0, r7
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
- adds r0, r7, 0
- movs r1, 0x1
- bl sub_80CBBDC
-_080D0F10:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r2, =0x00000ce6
- adds r1, r0, r2
- ldrh r1, [r1]
- ldr r2, =0x00002234
- adds r0, r2
- strh r1, [r0]
-_080D0F20:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D0E90
-
- thumb_func_start sub_80D0F38
-sub_80D0F38: @ 80D0F38
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r5, 0
- bl GetItemIconPic
- mov r8, r0
- adds r0, r5, 0
- bl GetItemIconPalette
- adds r6, r0, 0
- bl sub_80D12E8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- mov r1, r8
- adds r2, r6, 0
- bl sub_80D1524
- adds r0, r4, 0
- movs r1, 0x6
- bl sub_80D15D4
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0
- movs r3, 0
- bl sub_80D1604
- adds r0, r4, 0
- movs r1, 0x2
- movs r2, 0
- bl sub_80D140C
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80D1740
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00002234
- adds r0, r1
- strh r5, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D0F38
-
- thumb_func_start sub_80D0FAC
-sub_80D0FAC: @ 80D0FAC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, 24
- lsrs r7, r1, 24
- ldr r0, =gUnknown_02039D08
- mov r8, r0
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080D106A
- mov r0, r9
- adds r1, r7, 0
- bl sub_80D1370
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- movs r1, 0x3
- bl sub_80D15D4
- adds r0, r4, 0
- movs r1, 0x3
- movs r2, 0x2
- movs r3, 0
- bl sub_80D1604
- mov r1, r9
- cmp r1, 0
- bne _080D101C
- adds r0, r7, 0
- movs r1, 0xC
- bl GetBoxMonDataFromSelectedBox
- lsls r0, 16
- lsrs r6, r0, 16
- mov r0, r8
- ldr r2, [r0]
- ldr r4, =0x00002234
- adds r2, r4
- adds r0, r7, 0
- movs r1, 0xC
- bl SetBoxMonDataFromSelectedBox
- mov r1, r8
- ldr r0, [r1]
- adds r0, r4
- b _080D1048
- .pool
-_080D101C:
- movs r0, 0x64
- adds r4, r7, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r6, r0, 16
- mov r0, r8
- ldr r2, [r0]
- ldr r5, =0x00002234
- adds r2, r5
- adds r0, r4, 0
- movs r1, 0xC
- bl SetMonData
- mov r1, r8
- ldr r0, [r1]
- adds r0, r5
-_080D1048:
- strh r6, [r0]
- movs r0, 0x2
- movs r1, 0
- bl sub_80D1370
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_80D15D4
- adds r0, r4, 0
- movs r1, 0x4
- mov r2, r9
- adds r3, r7, 0
- bl sub_80D1604
-_080D106A:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D0FAC
-
- thumb_func_start sub_80D1080
-sub_80D1080: @ 80D1080
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- mov r8, r5
- ldr r6, =gUnknown_02039D08
- ldr r0, [r6]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080D1100
- movs r0, 0x2
- movs r1, 0
- bl sub_80D1370
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_80D15D4
- adds r0, r4, 0
- movs r1, 0x2
- adds r2, r7, 0
- adds r3, r5, 0
- bl sub_80D1604
- cmp r7, 0
- bne _080D10E0
- ldr r2, [r6]
- ldr r0, =0x00002234
- adds r2, r0
- adds r0, r5, 0
- movs r1, 0xC
- bl SetBoxMonDataFromSelectedBox
- adds r0, r5, 0
- movs r1, 0
- bl sub_80CB7AC
- b _080D1100
- .pool
-_080D10E0:
- movs r0, 0x64
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r2, [r6]
- ldr r1, =0x00002234
- adds r2, r1
- movs r1, 0xC
- bl SetMonData
- mov r0, r8
- movs r1, 0
- bl sub_80CBBDC
-_080D1100:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D1080
-
- thumb_func_start sub_80D1114
-sub_80D1114: @ 80D1114
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- adds r7, r5, 0
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080D1188
- movs r1, 0
- mov r0, sp
- strh r1, [r0]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80D1370
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_80D15D4
- adds r0, r4, 0
- movs r1, 0
- adds r2, r6, 0
- adds r3, r5, 0
- bl sub_80D1604
- cmp r6, 0
- bne _080D1170
- adds r0, r5, 0
- movs r1, 0xC
- mov r2, sp
- bl SetBoxMonDataFromSelectedBox
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80CB7AC
- b _080D1188
- .pool
-_080D1170:
- movs r0, 0x64
- muls r0, r7
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
- adds r0, r7, 0
- movs r1, 0x1
- bl sub_80CBBDC
-_080D1188:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D1114
-
- thumb_func_start sub_80D1194
-sub_80D1194: @ 80D1194
- push {r4,lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080D11C2
- movs r0, 0x2
- movs r1, 0
- bl sub_80D1370
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x5
- bl sub_80D15D4
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x2
- movs r3, 0
- bl sub_80D1604
-_080D11C2:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D1194
-
- thumb_func_start sub_80D11CC
-sub_80D11CC: @ 80D11CC
- push {r4,lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x3
- bne _080D120A
- movs r4, 0
-_080D11DA:
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- lsls r0, r4, 4
- adds r1, r0
- ldr r2, =0x00002210
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080D1204
- subs r2, 0x2
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080D1204
- lsls r0, r4, 24
- lsrs r0, 24
- movs r1, 0x7
- movs r2, 0x2
- movs r3, 0
- bl sub_80D1604
-_080D1204:
- adds r4, 0x1
- cmp r4, 0x2
- ble _080D11DA
-_080D120A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D11CC
-
- thumb_func_start sub_80D1218
-sub_80D1218: @ 80D1218
- push {r4,r5,lr}
- movs r5, 0
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00002204
- adds r4, r0, r1
- adds r3, r0, 0
-_080D1226:
- ldr r1, =0x00002210
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080D1268
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x28
- ands r0, r1
- cmp r0, 0x8
- beq _080D124E
- ldr r1, [r2, 0x1C]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- beq _080D1268
- ldr r0, =sub_80D1AD8
- cmp r1, r0
- beq _080D1268
-_080D124E:
- movs r0, 0x1
- b _080D1274
- .pool
-_080D1268:
- adds r4, 0x10
- adds r3, 0x10
- adds r5, 0x1
- cmp r5, 0x2
- ble _080D1226
- movs r0, 0
-_080D1274:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80D1218
-
- thumb_func_start sub_80D127C
-sub_80D127C: @ 80D127C
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
- ldrb r0, [r1, 0x1]
- cmp r0, 0x3
- bne _080D12B0
- movs r2, 0
- ldr r0, =0x0000220e
- adds r1, r0
-_080D128E:
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- beq _080D12A8
- ldrb r0, [r1]
- cmp r0, 0x2
- bne _080D12A8
- movs r0, 0x1
- b _080D12B2
- .pool
-_080D12A8:
- adds r1, 0x10
- adds r2, 0x1
- cmp r2, 0x2
- ble _080D128E
-_080D12B0:
- movs r0, 0
-_080D12B2:
- pop {r1}
- bx r1
- thumb_func_end sub_80D127C
-
- thumb_func_start sub_80D12B8
-sub_80D12B8: @ 80D12B8
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00002234
- adds r0, r1
- ldrh r0, [r0]
- bl ItemId_GetName
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D12B8
-
- thumb_func_start sub_80D12D4
-sub_80D12D4: @ 80D12D4
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00002234
- adds r0, r1
- ldrh r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80D12D4
-
- thumb_func_start sub_80D12E8
-sub_80D12E8: @ 80D12E8
- push {r4,r5,lr}
- movs r2, 0
- ldr r5, =gUnknown_02039D08
- ldr r3, =0x00002210
- movs r4, 0x1
-_080D12F2:
- ldr r0, [r5]
- lsls r1, r2, 4
- adds r0, r1
- adds r1, r0, r3
- ldrb r0, [r1]
- cmp r0, 0
- bne _080D1310
- strb r4, [r1]
- adds r0, r2, 0
- b _080D131C
- .pool
-_080D1310:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x2
- bls _080D12F2
- movs r0, 0x3
-_080D131C:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80D12E8
-
- thumb_func_start sub_80D1324
-sub_80D1324: @ 80D1324
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r1, 24
- movs r3, 0
- ldr r0, =gUnknown_02039D08
- ldr r2, [r0]
-_080D1334:
- ldr r5, =0x00002210
- adds r0, r2, r5
- ldrb r0, [r0]
- cmp r0, 0
- beq _080D1360
- subs r5, 0x2
- adds r0, r2, r5
- ldrb r0, [r0]
- cmp r0, r4
- bne _080D1360
- adds r5, 0x1
- adds r0, r2, r5
- ldrb r0, [r0]
- cmp r0, r1
- bne _080D1360
- movs r0, 0x1
- b _080D136A
- .pool
-_080D1360:
- adds r2, 0x10
- adds r3, 0x1
- cmp r3, 0x2
- ble _080D1334
- movs r0, 0
-_080D136A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80D1324
-
- thumb_func_start sub_80D1370
-sub_80D1370: @ 80D1370
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- movs r3, 0
- ldr r0, =gUnknown_02039D08
- ldr r1, [r0]
-_080D1380:
- lsls r0, r3, 4
- adds r2, r1, r0
- ldr r6, =0x00002210
- adds r0, r2, r6
- ldrb r0, [r0]
- cmp r0, 0
- beq _080D13B0
- subs r6, 0x2
- adds r0, r2, r6
- ldrb r0, [r0]
- cmp r0, r5
- bne _080D13B0
- adds r6, 0x1
- adds r0, r2, r6
- ldrb r0, [r0]
- cmp r0, r4
- bne _080D13B0
- adds r0, r3, 0
- b _080D13BC
- .pool
-_080D13B0:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x2
- bls _080D1380
- movs r0, 0x3
-_080D13BC:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80D1370
-
- thumb_func_start sub_80D13C4
-sub_80D13C4: @ 80D13C4
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r2, 0
- ldr r0, =gUnknown_02039D08
- ldr r3, [r0]
- ldr r0, =0x00002204
- adds r4, r3, r0
- ldr r6, =0x00002210
-_080D13D4:
- lsls r1, r2, 4
- adds r0, r3, r1
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0
- beq _080D13F8
- adds r0, r4, r1
- ldr r0, [r0]
- cmp r0, r5
- bne _080D13F8
- adds r0, r2, 0
- b _080D1404
- .pool
-_080D13F8:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x2
- bls _080D13D4
- movs r0, 0x3
-_080D1404:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80D13C4
-
- thumb_func_start sub_80D140C
-sub_80D140C: @ 80D140C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r2, 24
- lsrs r7, r2, 24
- cmp r5, 0x2
- bhi _080D150A
- cmp r1, 0
- beq _080D1438
- cmp r1, 0x1
- beq _080D1494
- ldr r4, =gUnknown_02039D08
- lsls r3, r5, 4
- b _080D14F4
- .pool
-_080D1438:
- adds r0, r7, 0
- movs r1, 0x6
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r7, 0
- movs r1, 0x6
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- ldr r6, =gUnknown_02039D08
- ldr r2, [r6]
- lsls r5, 4
- ldr r1, =0x00002204
- adds r2, r1
- adds r2, r5
- ldr r3, [r2]
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 3
- adds r1, 0x70
- strh r1, [r3, 0x20]
- ldr r3, [r2]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, 0x38
- strh r1, [r3, 0x22]
- ldr r2, [r2]
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r2, 0x5]
- adds r4, r6, 0
- adds r3, r5, 0
- b _080D14F4
- .pool
-_080D1494:
- cmp r7, 0
- bne _080D14BC
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- lsls r3, r5, 4
- ldr r1, =0x00002204
- adds r0, r1
- adds r0, r3
- ldr r2, [r0]
- movs r1, 0x74
- strh r1, [r2, 0x20]
- ldr r1, [r0]
- movs r0, 0x4C
- strh r0, [r1, 0x22]
- b _080D14DC
- .pool
-_080D14BC:
- ldr r4, =gUnknown_02039D08
- ldr r0, [r4]
- lsls r3, r5, 4
- ldr r1, =0x00002204
- adds r0, r1
- adds r0, r3
- ldr r2, [r0]
- movs r1, 0xA4
- strh r1, [r2, 0x20]
- ldr r2, [r0]
- subs r1, r7, 0x1
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, 0x1C
- strh r0, [r2, 0x22]
-_080D14DC:
- ldr r0, [r4]
- ldr r1, =0x00002204
- adds r0, r1
- adds r0, r3
- ldr r2, [r0]
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x5]
-_080D14F4:
- ldr r0, [r4]
- adds r0, r3
- ldr r1, =0x0000220e
- adds r0, r1
- mov r1, r8
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, r3
- ldr r1, =0x0000220f
- adds r0, r1
- strb r7, [r0]
-_080D150A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D140C
-
- thumb_func_start sub_80D1524
-sub_80D1524: @ 80D1524
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- mov r8, r1
- mov r9, r2
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x2
- bhi _080D15AC
- movs r0, 0
- str r0, [sp]
- ldr r4, =gUnknown_02039D08
- ldr r1, [r4]
- ldr r6, =0x000042c4
- adds r1, r6
- ldr r2, =0x01000080
- mov r0, sp
- bl CpuFastSet
- ldr r1, [r4]
- ldr r5, =0x000022c4
- adds r1, r5
- mov r0, r8
- bl LZ77UnCompWram
- lsls r7, 4
- mov r8, r7
- adds r7, r4, 0
- movs r4, 0x2
-_080D1562:
- ldr r1, [r7]
- adds r0, r1, r5
- adds r1, r6
- movs r2, 0x18
- bl CpuFastSet
- adds r6, 0x80
- adds r5, 0x60
- subs r4, 0x1
- cmp r4, 0
- bge _080D1562
- ldr r5, =gUnknown_02039D08
- ldr r1, [r5]
- ldr r4, =0x000042c4
- adds r0, r1, r4
- ldr r2, =0x00002208
- adds r1, r2
- add r1, r8
- ldr r1, [r1]
- movs r2, 0x80
- bl CpuFastSet
- ldr r1, [r5]
- adds r1, r4
- mov r0, r9
- bl LZ77UnCompWram
- ldr r0, [r5]
- adds r4, r0, r4
- add r0, r8
- ldr r1, =0x0000220c
- adds r0, r1
- ldrh r1, [r0]
- adds r0, r4, 0
- movs r2, 0x20
- bl LoadPalette
-_080D15AC:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D1524
-
- thumb_func_start sub_80D15D4
-sub_80D15D4: @ 80D15D4
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- cmp r2, 0x2
- bhi _080D15F6
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- lsls r1, r2, 4
- ldr r2, =0x00002204
- adds r0, r2
- adds r0, r1
- ldr r0, [r0]
- adds r1, r3, 0
- bl StartSpriteAffineAnim
-_080D15F6:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D15D4
-
- thumb_func_start sub_80D1604
-sub_80D1604: @ 80D1604
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r0, r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- lsls r3, 24
- lsrs r3, 24
- cmp r4, 0x2
- bls _080D161C
- b _080D172E
-_080D161C:
- cmp r0, 0x7
- bls _080D1622
- b _080D172E
-_080D1622:
- lsls r0, 2
- ldr r1, =_080D1630
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080D1630:
- .4byte _080D1650
- .4byte _080D1674
- .4byte _080D1698
- .4byte _080D16C4
- .4byte _080D16F0
- .4byte _080D172E
- .4byte _080D172E
- .4byte _080D171C
-_080D1650:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- lsls r1, r4, 4
- ldr r2, =0x00002204
- adds r0, r2
- adds r0, r1
- ldr r1, [r0]
- strh r4, [r1, 0x2E]
- ldr r1, [r0]
- ldr r0, =sub_80D1A48
- b _080D172C
- .pool
-_080D1674:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- lsls r1, r4, 4
- ldr r2, =0x00002204
- adds r0, r2
- adds r0, r1
- ldr r2, [r0]
- movs r1, 0
- strh r1, [r2, 0x2E]
- ldr r1, [r0]
- ldr r0, =sub_80D1A74
- b _080D172C
- .pool
-_080D1698:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- lsls r1, r4, 4
- ldr r2, =0x00002204
- adds r0, r2
- adds r0, r1
- ldr r2, [r0]
- movs r1, 0
- strh r1, [r2, 0x2E]
- ldr r1, [r0]
- strh r5, [r1, 0x3A]
- ldr r1, [r0]
- strh r3, [r1, 0x3C]
- ldr r1, [r0]
- ldr r0, =sub_80D1B14
- b _080D172C
- .pool
-_080D16C4:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- lsls r1, r4, 4
- ldr r2, =0x00002204
- adds r0, r2
- adds r0, r1
- ldr r2, [r0]
- movs r1, 0
- strh r1, [r2, 0x2E]
- ldr r2, [r0]
- ldr r1, =sub_80D1B94
- str r1, [r2, 0x1C]
- strh r5, [r2, 0x3A]
- ldr r0, [r0]
- strh r3, [r0, 0x3C]
- b _080D172E
- .pool
-_080D16F0:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- lsls r1, r4, 4
- ldr r2, =0x00002204
- adds r0, r2
- adds r0, r1
- ldr r2, [r0]
- movs r1, 0
- strh r1, [r2, 0x2E]
- ldr r1, [r0]
- strh r5, [r1, 0x3A]
- ldr r1, [r0]
- strh r3, [r1, 0x3C]
- ldr r1, [r0]
- ldr r0, =sub_80D1C30
- b _080D172C
- .pool
-_080D171C:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- lsls r1, r4, 4
- ldr r2, =0x00002204
- adds r0, r2
- adds r0, r1
- ldr r1, [r0]
- ldr r0, =sub_80D1CCC
-_080D172C:
- str r0, [r1, 0x1C]
-_080D172E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D1604
-
- thumb_func_start sub_80D1740
-sub_80D1740: @ 80D1740
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r2, 0x2
- bhi _080D1780
- ldr r1, =gUnknown_02039D08
- ldr r0, [r1]
- lsls r2, 4
- adds r0, r2
- ldr r3, =0x00002210
- adds r0, r3
- strb r4, [r0]
- ldr r0, [r1]
- ldr r1, =0x00002204
- adds r0, r1
- adds r0, r2
- ldr r0, [r0]
- movs r3, 0
- cmp r4, 0
- bne _080D176E
- movs r3, 0x1
-_080D176E:
- adds r2, r0, 0
- adds r2, 0x3E
- lsls r3, 2
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- orrs r0, r3
- strb r0, [r2]
-_080D1780:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D1740
-
- thumb_func_start GetItemIconPic
-GetItemIconPic: @ 80D1794
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- bl GetItemIconPicOrPalette
- pop {r1}
- bx r1
- thumb_func_end GetItemIconPic
-
- thumb_func_start GetItemIconPalette
-GetItemIconPalette: @ 80D17A4
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- bl GetItemIconPicOrPalette
- pop {r1}
- bx r1
- thumb_func_end GetItemIconPalette
-
- thumb_func_start sub_80D17B4
-sub_80D17B4: @ 80D17B4
- push {r4,lr}
- sub sp, 0x14
- bl sub_80D127C
- lsls r0, 24
- cmp r0, 0
- beq _080D17D4
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00002234
- b _080D17DA
- .pool
-_080D17D4:
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00000ce6
-_080D17DA:
- adds r0, r1
- ldrh r0, [r0]
- bl ItemId_GetDescription
- adds r4, r0, 0
- movs r0, 0x2
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- str r0, [sp, 0xC]
- movs r0, 0x1
- str r0, [sp, 0x10]
- movs r0, 0x2
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0x4
- bl AddTextPrinterParameterized5
- add sp, 0x14
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D17B4
-
- thumb_func_start sub_80D1818
-sub_80D1818: @ 80D1818
- push {lr}
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00002236
- adds r0, r1
- movs r1, 0x15
- strh r1, [r0]
- ldr r1, =gUnknown_0857BB24
- movs r3, 0x9D
- lsls r3, 1
- movs r0, 0
- movs r2, 0x80
- bl LoadBgTiles
- movs r0, 0
- bl sub_80D19B4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D1818
-
- thumb_func_start sub_80D184C
-sub_80D184C: @ 80D184C
- push {r4,r5,lr}
- sub sp, 0x10
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r2, =0x00002236
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, 0
- bne _080D186C
- movs r0, 0
- b _080D18D2
- .pool
-_080D186C:
- subs r0, 0x1
- strh r0, [r1]
- ldrh r1, [r1]
- movs r0, 0x15
- subs r5, r0, r1
- movs r4, 0
- cmp r4, r5
- bge _080D18BC
-_080D187C:
- movs r0, 0
- movs r1, 0xA
- bl GetBgAttribute
- adds r1, r0, 0
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r2, =0x00002236
- adds r0, r2
- adds r1, 0x14
- ldrh r0, [r0]
- adds r1, r0
- adds r1, r4
- lsls r1, 16
- lsrs r1, 16
- lsls r2, r4, 24
- lsrs r2, 24
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0x7
- str r0, [sp, 0x4]
- movs r0, 0xF
- str r0, [sp, 0x8]
- movs r0, 0x15
- str r0, [sp, 0xC]
- movs r0, 0
- movs r3, 0xD
- bl WriteSequenceToBgTilemapBuffer
- adds r4, 0x1
- cmp r4, r5
- blt _080D187C
-_080D18BC:
- adds r0, r5, 0
- bl sub_80D19B4
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r1, =0x00002236
- adds r0, r1
- ldrh r1, [r0]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
-_080D18D2:
- add sp, 0x10
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D184C
-
- thumb_func_start sub_80D18E4
-sub_80D18E4: @ 80D18E4
- push {r4,r5,lr}
- sub sp, 0x10
- ldr r5, =gUnknown_02039D08
- ldr r0, [r5]
- ldr r4, =0x00002236
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, 0x16
- bne _080D1904
- movs r0, 0
- b _080D19A4
- .pool
-_080D1904:
- cmp r0, 0
- bne _080D1920
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0x9
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0x15
- movs r3, 0xC
- bl FillBgTilemapBufferRect
-_080D1920:
- ldr r1, [r5]
- adds r1, r4
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- ldrh r1, [r1]
- movs r0, 0x15
- subs r5, r0, r1
- movs r4, 0
- cmp r4, r5
- bge _080D1976
-_080D1936:
- movs r0, 0
- movs r1, 0xA
- bl GetBgAttribute
- adds r1, r0, 0
- ldr r0, =gUnknown_02039D08
- ldr r0, [r0]
- ldr r2, =0x00002236
- adds r0, r2
- adds r1, 0x14
- ldrh r0, [r0]
- adds r1, r0
- adds r1, r4
- lsls r1, 16
- lsrs r1, 16
- lsls r2, r4, 24
- lsrs r2, 24
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0x7
- str r0, [sp, 0x4]
- movs r0, 0xF
- str r0, [sp, 0x8]
- movs r0, 0x15
- str r0, [sp, 0xC]
- movs r0, 0
- movs r3, 0xD
- bl WriteSequenceToBgTilemapBuffer
- adds r4, 0x1
- cmp r4, r5
- blt _080D1936
-_080D1976:
- cmp r5, 0
- blt _080D1980
- adds r0, r5, 0
- bl sub_80D19B4
-_080D1980:
- adds r2, r5, 0x1
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0x9
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r3, 0xC
- bl FillBgTilemapBufferRect
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x1
-_080D19A4:
- add sp, 0x10
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D18E4
-
- thumb_func_start sub_80D19B4
-sub_80D19B4: @ 80D19B4
- push {r4-r7,lr}
- sub sp, 0xC
- adds r7, r0, 0
- cmp r7, 0
- beq _080D19EC
- movs r1, 0x9D
- lsls r1, 1
- lsls r4, r7, 24
- lsrs r4, 24
- str r4, [sp]
- movs r6, 0x1
- str r6, [sp, 0x4]
- movs r5, 0xF
- str r5, [sp, 0x8]
- movs r0, 0
- movs r2, 0
- movs r3, 0xC
- bl FillBgTilemapBufferRect
- ldr r1, =0x0000093a
- str r4, [sp]
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r2, 0
- movs r3, 0x14
- bl FillBgTilemapBufferRect
-_080D19EC:
- ldr r1, =0x0000013b
- lsls r5, r7, 24
- lsrs r5, 24
- movs r4, 0x1
- str r4, [sp]
- movs r0, 0x7
- str r0, [sp, 0x4]
- movs r6, 0xF
- str r6, [sp, 0x8]
- movs r0, 0
- adds r2, r5, 0
- movs r3, 0xD
- bl FillBgTilemapBufferRect
- movs r1, 0x9E
- lsls r1, 1
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- adds r2, r5, 0
- movs r3, 0xC
- bl FillBgTilemapBufferRect
- ldr r1, =0x0000013d
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- adds r2, r5, 0
- movs r3, 0x14
- bl FillBgTilemapBufferRect
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D19B4
-
- thumb_func_start sub_80D1A48
-sub_80D1A48: @ 80D1A48
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080D1A68
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_80D1740
- ldr r0, =SpriteCallbackDummy
- str r0, [r4, 0x1C]
-_080D1A68:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D1A48
-
- thumb_func_start sub_80D1A74
-sub_80D1A74: @ 80D1A74
- push {lr}
- adds r3, r0, 0
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- cmp r1, 0
- beq _080D1A86
- cmp r1, 0x1
- beq _080D1AA2
- b _080D1AD0
-_080D1A86:
- ldrh r0, [r3, 0x20]
- lsls r0, 4
- strh r0, [r3, 0x30]
- ldrh r0, [r3, 0x22]
- lsls r0, 4
- strh r0, [r3, 0x32]
- movs r0, 0xA
- strh r0, [r3, 0x34]
- movs r0, 0x15
- strh r0, [r3, 0x36]
- strh r1, [r3, 0x38]
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
-_080D1AA2:
- ldrh r1, [r3, 0x30]
- ldrh r0, [r3, 0x34]
- subs r1, r0
- strh r1, [r3, 0x30]
- ldrh r0, [r3, 0x32]
- ldrh r2, [r3, 0x36]
- subs r0, r2
- strh r0, [r3, 0x32]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r3, 0x20]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r3, 0x22]
- ldrh r0, [r3, 0x38]
- adds r0, 0x1
- strh r0, [r3, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB
- ble _080D1AD0
- ldr r0, =sub_80D1AD8
- str r0, [r3, 0x1C]
-_080D1AD0:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D1A74
-
- thumb_func_start sub_80D1AD8
-sub_80D1AD8: @ 80D1AD8
- ldr r1, =gUnknown_02039D08
- ldr r3, [r1]
- ldr r1, =0x00000cb4
- adds r3, r1
- ldr r1, [r3]
- ldrh r1, [r1, 0x20]
- adds r1, 0x4
- strh r1, [r0, 0x20]
- ldr r2, [r3]
- ldrh r1, [r2, 0x26]
- ldrh r2, [r2, 0x22]
- adds r1, r2
- adds r1, 0x8
- strh r1, [r0, 0x22]
- ldr r1, [r3]
- ldrb r1, [r1, 0x5]
- movs r2, 0xC
- ands r2, r1
- ldrb r3, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r3
- orrs r1, r2
- strb r1, [r0, 0x5]
- bx lr
- .pool
- thumb_func_end sub_80D1AD8
-
- thumb_func_start sub_80D1B14
-sub_80D1B14: @ 80D1B14
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- cmp r1, 0
- beq _080D1B26
- cmp r1, 0x1
- beq _080D1B42
- b _080D1B8A
-_080D1B26:
- ldrh r0, [r4, 0x20]
- lsls r0, 4
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- lsls r0, 4
- strh r0, [r4, 0x32]
- movs r0, 0xA
- strh r0, [r4, 0x34]
- movs r0, 0x15
- strh r0, [r4, 0x36]
- strh r1, [r4, 0x38]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
-_080D1B42:
- ldrh r0, [r4, 0x34]
- ldrh r1, [r4, 0x30]
- adds r0, r1
- strh r0, [r4, 0x30]
- ldrh r1, [r4, 0x36]
- ldrh r2, [r4, 0x32]
- adds r1, r2
- strh r1, [r4, 0x32]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r4, 0x20]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r4, 0x22]
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB
- ble _080D1B8A
- adds r0, r4, 0
- bl sub_80D13C4
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x3A]
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r4, 0x3C]
- lsls r2, 24
- lsrs r2, 24
- bl sub_80D140C
- ldr r0, =SpriteCallbackDummy
- str r0, [r4, 0x1C]
-_080D1B8A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D1B14
-
- thumb_func_start sub_80D1B94
-sub_80D1B94: @ 80D1B94
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- cmp r1, 0
- beq _080D1BA6
- cmp r1, 0x1
- beq _080D1BC2
- b _080D1C20
-_080D1BA6:
- ldrh r0, [r4, 0x20]
- lsls r0, 4
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- lsls r0, 4
- strh r0, [r4, 0x32]
- movs r0, 0xA
- strh r0, [r4, 0x34]
- movs r0, 0x15
- strh r0, [r4, 0x36]
- strh r1, [r4, 0x38]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
-_080D1BC2:
- ldrh r1, [r4, 0x30]
- ldrh r0, [r4, 0x34]
- subs r1, r0
- strh r1, [r4, 0x30]
- ldrh r0, [r4, 0x32]
- ldrh r2, [r4, 0x36]
- subs r0, r2
- strh r0, [r4, 0x32]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r4, 0x20]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r4, 0x22]
- ldr r1, =gSineTable
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- lsls r0, 4
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB
- ble _080D1C20
- adds r0, r4, 0
- bl sub_80D13C4
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x3A]
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r4, 0x3C]
- lsls r2, 24
- lsrs r2, 24
- bl sub_80D140C
- movs r0, 0
- strh r0, [r4, 0x24]
- ldr r0, =sub_80D1AD8
- str r0, [r4, 0x1C]
-_080D1C20:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D1B94
-
- thumb_func_start sub_80D1C30
-sub_80D1C30: @ 80D1C30
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- cmp r1, 0
- beq _080D1C42
- cmp r1, 0x1
- beq _080D1C5E
- b _080D1CBE
-_080D1C42:
- ldrh r0, [r4, 0x20]
- lsls r0, 4
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- lsls r0, 4
- strh r0, [r4, 0x32]
- movs r0, 0xA
- strh r0, [r4, 0x34]
- movs r0, 0x15
- strh r0, [r4, 0x36]
- strh r1, [r4, 0x38]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
-_080D1C5E:
- ldrh r0, [r4, 0x34]
- ldrh r1, [r4, 0x30]
- adds r0, r1
- strh r0, [r4, 0x30]
- ldrh r1, [r4, 0x36]
- ldrh r2, [r4, 0x32]
- adds r1, r2
- strh r1, [r4, 0x32]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r4, 0x20]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r4, 0x22]
- ldr r1, =gSineTable
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- lsls r0, 4
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 20
- negs r0, r0
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB
- ble _080D1CBE
- adds r0, r4, 0
- bl sub_80D13C4
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x3A]
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r4, 0x3C]
- lsls r2, 24
- lsrs r2, 24
- bl sub_80D140C
- ldr r0, =SpriteCallbackDummy
- str r0, [r4, 0x1C]
- movs r0, 0
- strh r0, [r4, 0x24]
-_080D1CBE:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D1C30
-
- thumb_func_start sub_80D1CCC
-sub_80D1CCC: @ 80D1CCC
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x22]
- subs r0, 0x8
- strh r0, [r2, 0x22]
- movs r1, 0x22
- ldrsh r0, [r2, r1]
- movs r3, 0x26
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r1, 0x10
- negs r1, r1
- cmp r0, r1
- bge _080D1CFC
- ldr r0, =SpriteCallbackDummy
- str r0, [r2, 0x1C]
- adds r0, r2, 0
- bl sub_80D13C4
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_80D1740
-_080D1CFC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D1CCC
-
- thumb_func_start TaskDummy0
-TaskDummy0: @ 80D1D04
- bx lr
- thumb_func_end TaskDummy0
-
- thumb_func_start nullsub_98
-nullsub_98: @ 80D1D08
- bx lr
- thumb_func_end nullsub_98
-
- thumb_func_start StorageGetCurrentBox
-@ char StorageGetCurrentBox()
-StorageGetCurrentBox: @ 80D1D0C
- ldr r0, =gPokemonStoragePtr
- ldr r0, [r0]
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end StorageGetCurrentBox
-
- thumb_func_start SetCurrentBox
-SetCurrentBox: @ 80D1D18
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xD
- bhi _080D1D28
- ldr r0, =gPokemonStoragePtr
- ldr r0, [r0]
- strb r1, [r0]
-_080D1D28:
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetCurrentBox
-
- thumb_func_start GetBoxMonDataFromAnyBox
-GetBoxMonDataFromAnyBox: @ 80D1D30
- push {r4,r5,lr}
- adds r5, r2, 0
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r3, 0xD
- bhi _080D1D6C
- cmp r4, 0x1D
- bhi _080D1D6C
- ldr r2, =gPokemonStoragePtr
- lsls r0, r3, 2
- adds r0, r3
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 5
- adds r1, 0x4
- ldr r0, [r2]
- adds r0, r1
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 4
- adds r0, r1
- adds r1, r5, 0
- bl GetBoxMonData
- b _080D1D6E
- .pool
-_080D1D6C:
- movs r0, 0
-_080D1D6E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end GetBoxMonDataFromAnyBox
-
- thumb_func_start SetBoxMonDataFromAnyBox
-SetBoxMonDataFromAnyBox: @ 80D1D74
- push {r4-r6,lr}
- adds r5, r2, 0
- adds r6, r3, 0
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r3, 0xD
- bhi _080D1DAC
- cmp r4, 0x1D
- bhi _080D1DAC
- ldr r2, =gPokemonStoragePtr
- lsls r0, r3, 2
- adds r0, r3
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 5
- adds r1, 0x4
- ldr r0, [r2]
- adds r0, r1
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 4
- adds r0, r1
- adds r1, r5, 0
- adds r2, r6, 0
- bl SetBoxMonData
-_080D1DAC:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetBoxMonDataFromAnyBox
-
- thumb_func_start GetBoxMonDataFromSelectedBox
-GetBoxMonDataFromSelectedBox: @ 80D1DB8
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- lsls r3, 24
- lsrs r3, 24
- ldr r0, =gPokemonStoragePtr
- ldr r0, [r0]
- ldrb r0, [r0]
- adds r1, r3, 0
- bl GetBoxMonDataFromAnyBox
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetBoxMonDataFromSelectedBox
-
- thumb_func_start SetBoxMonDataFromSelectedBox
-SetBoxMonDataFromSelectedBox: @ 80D1DD8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r3, r2, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gPokemonStoragePtr
- ldr r0, [r0]
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r2, r5, 0
- bl SetBoxMonDataFromAnyBox
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetBoxMonDataFromSelectedBox
-
- thumb_func_start GetBoxMonNickFromAnyBox
-GetBoxMonNickFromAnyBox: @ 80D1DFC
- push {r4,r5,lr}
- adds r5, r2, 0
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r3, 0xD
- bhi _080D1E38
- cmp r4, 0x1D
- bhi _080D1E38
- ldr r2, =gPokemonStoragePtr
- lsls r0, r3, 2
- adds r0, r3
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 5
- adds r1, 0x4
- ldr r0, [r2]
- adds r0, r1
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 4
- adds r0, r1
- movs r1, 0x2
- adds r2, r5, 0
- bl GetBoxMonData
- b _080D1E3C
- .pool
-_080D1E38:
- movs r0, 0xFF
- strb r0, [r5]
-_080D1E3C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetBoxMonNickFromAnyBox
-
- thumb_func_start sub_80D1E44
-sub_80D1E44: @ 80D1E44
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r2, r1, 24
- cmp r0, 0xD
- bhi _080D1E84
- cmp r2, 0x1D
- bhi _080D1E84
- ldr r6, =gPokemonStoragePtr
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- adds r5, r0, 0x4
- ldr r0, [r6]
- adds r0, r5
- lsls r1, r2, 2
- adds r1, r2
- lsls r4, r1, 4
- adds r0, r4
- movs r1, 0x5
- bl GetBoxMonData
- cmp r0, 0
- beq _080D1E84
- ldr r0, [r6]
- adds r0, r5
- adds r0, r4
- bl GetLevelFromBoxMonExp
-_080D1E84:
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D1E44
-
- thumb_func_start SetBoxMonNickFromAnyBox
-SetBoxMonNickFromAnyBox: @ 80D1E90
- push {r4,r5,lr}
- adds r5, r2, 0
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r3, 0xD
- bhi _080D1EC6
- cmp r4, 0x1D
- bhi _080D1EC6
- ldr r2, =gPokemonStoragePtr
- lsls r0, r3, 2
- adds r0, r3
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 5
- adds r1, 0x4
- ldr r0, [r2]
- adds r0, r1
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 4
- adds r0, r1
- movs r1, 0x2
- adds r2, r5, 0
- bl SetBoxMonData
-_080D1EC6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetBoxMonNickFromAnyBox
-
- thumb_func_start GetAndCopyBoxMonDataFromAnyBox
-GetAndCopyBoxMonDataFromAnyBox: @ 80D1ED0
- push {r4-r6,lr}
- adds r5, r2, 0
- adds r6, r3, 0
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r3, 0xD
- bhi _080D1F10
- cmp r4, 0x1D
- bhi _080D1F10
- ldr r2, =gPokemonStoragePtr
- lsls r0, r3, 2
- adds r0, r3
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 5
- adds r1, 0x4
- ldr r0, [r2]
- adds r0, r1
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 4
- adds r0, r1
- adds r1, r5, 0
- adds r2, r6, 0
- bl GetBoxMonData
- b _080D1F12
- .pool
-_080D1F10:
- movs r0, 0
-_080D1F12:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end GetAndCopyBoxMonDataFromAnyBox
-
- thumb_func_start CopyBoxMonFromAnyBox
-CopyBoxMonFromAnyBox: @ 80D1F18
- push {r4,r5,lr}
- adds r5, r2, 0
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r1, 24
- cmp r4, 0xD
- bhi _080D1F4E
- cmp r1, 0x1D
- bhi _080D1F4E
- ldr r0, =gPokemonStoragePtr
- ldr r0, [r0]
- lsls r3, r1, 2
- adds r3, r1
- lsls r3, 4
- lsls r2, r4, 2
- adds r2, r4
- lsls r1, r2, 4
- subs r1, r2
- lsls r1, 5
- adds r3, r1
- adds r0, r3
- adds r0, 0x4
- adds r1, r5, 0
- movs r2, 0x50
- bl memcpy
-_080D1F4E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end CopyBoxMonFromAnyBox
-
- thumb_func_start sub_80D1F58
-sub_80D1F58: @ 80D1F58
- push {r4,r5,lr}
- adds r5, r2, 0
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r2, r1, 24
- cmp r4, 0xD
- bhi _080D1F8E
- cmp r2, 0x1D
- bhi _080D1F8E
- ldr r0, =gPokemonStoragePtr
- ldr r1, [r0]
- lsls r3, r2, 2
- adds r3, r2
- lsls r3, 4
- lsls r2, r4, 2
- adds r2, r4
- lsls r0, r2, 4
- subs r0, r2
- lsls r0, 5
- adds r3, r0
- adds r1, r3
- adds r1, 0x4
- adds r0, r5, 0
- movs r2, 0x50
- bl memcpy
-_080D1F8E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D1F58
-
- thumb_func_start sub_80D1F98
-sub_80D1F98: @ 80D1F98
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- ldr r4, [sp, 0x30]
- ldr r5, [sp, 0x34]
- ldr r6, [sp, 0x3C]
- mov r12, r6
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 16
- lsrs r2, 16
- mov r9, r2
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- mov r0, r12
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r7, 0xD
- bhi _080D2004
- cmp r6, 0x1D
- bhi _080D2004
- ldr r2, =gPokemonStoragePtr
- lsls r0, r7, 2
- adds r0, r7
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 5
- adds r1, 0x4
- ldr r0, [r2]
- adds r0, r1
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 4
- adds r0, r1
- str r5, [sp]
- ldr r1, [sp, 0x38]
- str r1, [sp, 0x4]
- str r3, [sp, 0x8]
- ldr r1, [sp, 0x40]
- str r1, [sp, 0xC]
- mov r1, r9
- mov r2, r8
- adds r3, r4, 0
- bl CreateBoxMon
-_080D2004:
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D1F98
-
- thumb_func_start ClearMonInBox
-ClearMonInBox: @ 80D2018
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r3, 0xD
- bhi _080D2048
- cmp r4, 0x1D
- bhi _080D2048
- ldr r2, =gPokemonStoragePtr
- lsls r0, r3, 2
- adds r0, r3
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 5
- adds r1, 0x4
- ldr r0, [r2]
- adds r0, r1
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 4
- adds r0, r1
- bl ZeroBoxMonData
-_080D2048:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ClearMonInBox
-
- thumb_func_start sub_80D2054
-sub_80D2054: @ 80D2054
- push {r4,r5,lr}
- adds r5, r2, 0
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r3, 0xD
- bhi _080D2088
- cmp r4, 0x1D
- bhi _080D2088
- ldr r2, =gPokemonStoragePtr
- lsls r0, r3, 2
- adds r0, r3
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 5
- adds r1, 0x4
- ldr r0, [r2]
- adds r0, r1
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 4
- adds r0, r1
- adds r1, r5, 0
- bl BoxMonToMon
-_080D2088:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2054
-
- thumb_func_start GetBoxedMonPtr
-@ pokemon *GetBoxedMonPtr(u8 box_id, u8 pos)
-GetBoxedMonPtr: @ 80D2094
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r3, 0xD
- bhi _080D20C8
- cmp r4, 0x1D
- bhi _080D20C8
- ldr r2, =gPokemonStoragePtr
- lsls r0, r3, 2
- adds r0, r3
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 5
- adds r1, 0x4
- ldr r0, [r2]
- adds r0, r1
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 4
- adds r0, r1
- b _080D20CA
- .pool
-_080D20C8:
- movs r0, 0
-_080D20CA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetBoxedMonPtr
-
- thumb_func_start GetBoxNamePtr
-GetBoxNamePtr: @ 80D20D0
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xD
- bls _080D20DE
- movs r0, 0
- b _080D20EC
-_080D20DE:
- ldr r0, =gPokemonStoragePtr
- lsls r1, r2, 3
- adds r1, r2
- ldr r2, =0x00008344
- adds r1, r2
- ldr r0, [r0]
- adds r0, r1
-_080D20EC:
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetBoxNamePtr
-
- thumb_func_start sub_80D20F8
-sub_80D20F8: @ 80D20F8
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xD
- bls _080D2106
- movs r0, 0
- b _080D2112
-_080D2106:
- ldr r0, =gPokemonStoragePtr
- ldr r0, [r0]
- ldr r2, =0x000083c2
- adds r0, r2
- adds r0, r1
- ldrb r0, [r0]
-_080D2112:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D20F8
-
- thumb_func_start SetBoxWallpaper
-SetBoxWallpaper: @ 80D2120
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r1, 24
- cmp r2, 0xD
- bhi _080D213E
- cmp r1, 0x10
- bhi _080D213E
- ldr r0, =gPokemonStoragePtr
- ldr r0, [r0]
- ldr r3, =0x000083c2
- adds r0, r3
- adds r0, r2
- strb r1, [r0]
-_080D213E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetBoxWallpaper
-
- thumb_func_start sub_80D214C
-sub_80D214C: @ 80D214C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- lsls r1, 24
- lsrs r0, r1, 24
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r3, 24
- adds r4, r3, 0
- ldr r2, =0x0000ffff
- cmp r3, 0x1
- bhi _080D216E
- movs r2, 0x1
- cmp r3, 0x1
- beq _080D2172
-_080D216E:
- cmp r4, 0x3
- bne _080D21BC
-_080D2172:
- lsls r0, 24
- asrs r0, 24
- lsls r2, 16
- asrs r1, r2, 16
- adds r1, r0
- lsls r0, r1, 16
- asrs r1, r0, 16
- adds r6, r2, 0
- cmp r1, 0
- blt _080D2208
- cmp r1, r7
- bgt _080D2208
-_080D218A:
- asrs r4, r0, 16
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 4
- add r0, r8
- movs r1, 0xB
- bl GetBoxMonData
- cmp r0, 0
- bne _080D21B4
- asrs r0, r6, 16
- adds r0, r4, r0
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, 0
- blt _080D2208
- cmp r2, r7
- ble _080D218A
- b _080D2208
- .pool
-_080D21B4:
- adds r0, r4, 0
- b _080D220C
-_080D21B8:
- adds r0, r5, 0
- b _080D220C
-_080D21BC:
- lsls r0, 24
- asrs r0, 24
- lsls r2, 16
- asrs r1, r2, 16
- adds r1, r0
- lsls r0, r1, 16
- asrs r1, r0, 16
- adds r6, r2, 0
- cmp r1, 0
- blt _080D2208
- cmp r1, r7
- bgt _080D2208
-_080D21D4:
- asrs r5, r0, 16
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 4
- mov r1, r8
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetBoxMonData
- cmp r0, 0
- beq _080D21F8
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetBoxMonData
- cmp r0, 0
- beq _080D21B8
-_080D21F8:
- asrs r0, r6, 16
- adds r0, r5, r0
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, 0
- blt _080D2208
- cmp r2, r7
- ble _080D21D4
-_080D2208:
- movs r0, 0x1
- negs r0, r0
-_080D220C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80D214C
-
- thumb_func_start CheckFreePokemonStorageSpace
-CheckFreePokemonStorageSpace: @ 80D2218
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, =gPokemonStoragePtr
- mov r8, r0
- movs r7, 0x4
-_080D2228:
- movs r5, 0
- adds r6, r7, 0
- movs r4, 0
-_080D222E:
- mov r1, r8
- ldr r0, [r1]
- adds r0, r6
- adds r0, r4
- movs r1, 0x5
- str r2, [sp]
- bl GetBoxMonData
- ldr r2, [sp]
- cmp r0, 0
- bne _080D224C
- movs r0, 0x1
- b _080D2262
- .pool
-_080D224C:
- adds r4, 0x50
- adds r5, 0x1
- cmp r5, 0x1D
- ble _080D222E
- movs r0, 0x96
- lsls r0, 4
- adds r7, r0
- adds r2, 0x1
- cmp r2, 0xD
- ble _080D2228
- movs r0, 0
-_080D2262:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end CheckFreePokemonStorageSpace
-
- thumb_func_start sub_80D2270
-sub_80D2270: @ 80D2270
- push {r4-r6,lr}
- adds r2, r1, 0
- cmp r0, 0xD
- bhi _080D22C8
- cmp r2, 0x1D
- bhi _080D22C8
- ldr r6, =gPokemonStoragePtr
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- adds r5, r0, 0x4
- ldr r0, [r6]
- adds r0, r5
- lsls r1, r2, 2
- adds r1, r2
- lsls r4, r1, 4
- adds r0, r4
- movs r1, 0x5
- bl GetBoxMonData
- cmp r0, 0
- beq _080D22C8
- ldr r0, [r6]
- adds r0, r5
- adds r0, r4
- movs r1, 0x6
- bl GetBoxMonData
- cmp r0, 0
- bne _080D22C8
- ldr r0, [r6]
- adds r0, r5
- adds r0, r4
- movs r1, 0x4
- bl GetBoxMonData
- cmp r0, 0
- bne _080D22C8
- movs r0, 0x1
- b _080D22CA
- .pool
-_080D22C8:
- movs r0, 0
-_080D22CA:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80D2270
-
- thumb_func_start sub_80D22D0
-sub_80D22D0: @ 80D22D0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r7, 0
- movs r0, 0
- ldr r1, =gPokemonStoragePtr
- mov r9, r1
-_080D22E0:
- lsls r1, r0, 2
- adds r2, r0, 0x1
- mov r8, r2
- adds r1, r0
- movs r5, 0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- adds r4, r0, 0x4
- movs r6, 0x1D
-_080D22F4:
- mov r1, r9
- ldr r0, [r1]
- adds r0, r4
- adds r0, r5
- movs r1, 0x5
- bl GetBoxMonData
- cmp r0, 0
- beq _080D231A
- mov r2, r9
- ldr r0, [r2]
- adds r0, r4
- adds r0, r5
- movs r1, 0x6
- bl GetBoxMonData
- cmp r0, 0
- bne _080D231A
- adds r7, 0x1
-_080D231A:
- adds r5, 0x50
- subs r6, 0x1
- cmp r6, 0
- bge _080D22F4
- mov r0, r8
- cmp r0, 0xD
- ble _080D22E0
- adds r0, r7, 0
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D22D0
-
- thumb_func_start sub_80D233C
-sub_80D233C: @ 80D233C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r7, 0
- movs r0, 0
- ldr r1, =gPokemonStoragePtr
- mov r9, r1
-_080D234C:
- lsls r1, r0, 2
- adds r2, r0, 0x1
- mov r8, r2
- adds r1, r0
- movs r5, 0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- adds r4, r0, 0x4
- movs r6, 0x1D
-_080D2360:
- mov r1, r9
- ldr r0, [r1]
- adds r0, r4
- adds r0, r5
- movs r1, 0x5
- bl GetBoxMonData
- cmp r0, 0
- bne _080D2384
- mov r2, r9
- ldr r0, [r2]
- adds r0, r4
- adds r0, r5
- movs r1, 0x6
- bl GetBoxMonData
- cmp r0, 0
- beq _080D2386
-_080D2384:
- adds r7, 0x1
-_080D2386:
- adds r5, 0x50
- subs r6, 0x1
- cmp r6, 0
- bge _080D2360
- mov r0, r8
- cmp r0, 0xD
- ble _080D234C
- adds r0, r7, 0
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D233C
-
- thumb_func_start sub_80D23A8
-sub_80D23A8: @ 80D23A8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- mov r1, sp
- strh r0, [r1]
- ldr r0, =0x00000163
- strh r0, [r1, 0x2]
- movs r0, 0
- mov r8, r0
- ldr r7, =gPokemonStoragePtr
- movs r5, 0x4
-_080D23C0:
- movs r6, 0
- movs r4, 0
-_080D23C4:
- ldr r0, [r7]
- adds r0, r5
- adds r0, r4
- movs r1, 0x5
- bl GetBoxMonData
- cmp r0, 0
- beq _080D2404
- ldr r0, [r7]
- adds r0, r5
- adds r0, r4
- movs r1, 0x6
- bl GetBoxMonData
- cmp r0, 0
- bne _080D2404
- ldr r0, [r7]
- adds r0, r5
- adds r0, r4
- movs r1, 0x51
- mov r2, sp
- bl GetBoxMonData
- cmp r0, 0
- beq _080D2404
- movs r0, 0x1
- b _080D241E
- .pool
-_080D2404:
- adds r4, 0x50
- adds r6, 0x1
- cmp r6, 0x1D
- ble _080D23C4
- movs r0, 0x96
- lsls r0, 4
- adds r5, r0
- movs r0, 0x1
- add r8, r0
- mov r0, r8
- cmp r0, 0xD
- ble _080D23C0
- movs r0, 0
-_080D241E:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80D23A8
-
- thumb_func_start ResetWaldaWallpaper
-ResetWaldaWallpaper: @ 80D242C
- ldr r2, =gSaveBlock1Ptr
- ldr r0, [r2]
- ldr r1, =0x00003d84
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- ldr r3, =0x00003d85
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r2]
- adds r3, 0x1
- adds r0, r3
- strb r1, [r0]
- ldr r1, [r2]
- ldr r0, =0x00003d70
- adds r2, r1, r0
- ldr r0, =0x00007b35
- strh r0, [r2]
- subs r3, 0x14
- adds r2, r1, r3
- ldr r0, =0x00006186
- strh r0, [r2]
- ldr r0, =0x00003d74
- adds r1, r0
- movs r0, 0xFF
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end ResetWaldaWallpaper
-
- thumb_func_start SetWaldaWallpaperLockedOrUnlocked
-SetWaldaWallpaperLockedOrUnlocked: @ 80D2480
- ldr r1, =gSaveBlock1Ptr
- ldr r1, [r1]
- ldr r2, =0x00003d86
- adds r1, r2
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end SetWaldaWallpaperLockedOrUnlocked
-
- thumb_func_start IsWaldaWallpaperUnlocked
-IsWaldaWallpaperUnlocked: @ 80D2494
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003d86
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end IsWaldaWallpaperUnlocked
-
- thumb_func_start GetWaldaWallpaperPatternId
-GetWaldaWallpaperPatternId: @ 80D24A8
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003d85
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end GetWaldaWallpaperPatternId
-
- thumb_func_start SetWaldaWallpaperPatternId
-SetWaldaWallpaperPatternId: @ 80D24BC
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xF
- bhi _080D24D0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00003d85
- adds r0, r2
- strb r1, [r0]
-_080D24D0:
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetWaldaWallpaperPatternId
-
- thumb_func_start GetWaldaWallpaperIconId
-GetWaldaWallpaperIconId: @ 80D24DC
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003d84
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end GetWaldaWallpaperIconId
-
- thumb_func_start SetWaldaWallpaperIconId
-SetWaldaWallpaperIconId: @ 80D24F0
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1D
- bhi _080D2504
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00003d84
- adds r0, r2
- strb r1, [r0]
-_080D2504:
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetWaldaWallpaperIconId
-
- thumb_func_start GetWaldaWallpaperColorsPtr
-GetWaldaWallpaperColorsPtr: @ 80D2510
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003d70
- adds r0, r1
- bx lr
- .pool
- thumb_func_end GetWaldaWallpaperColorsPtr
-
- thumb_func_start SetWaldaWallpaperColors
-SetWaldaWallpaperColors: @ 80D2524
- push {r4,lr}
- ldr r2, =gSaveBlock1Ptr
- ldr r2, [r2]
- ldr r4, =0x00003d70
- adds r3, r2, r4
- strh r0, [r3]
- ldr r0, =0x00003d72
- adds r2, r0
- strh r1, [r2]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetWaldaWallpaperColors
-
- thumb_func_start GetWaldaPhrasePtr
-GetWaldaPhrasePtr: @ 80D2548
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003d74
- adds r0, r1
- bx lr
- .pool
- thumb_func_end GetWaldaPhrasePtr
-
- thumb_func_start SetWaldaPhrase
-SetWaldaPhrase: @ 80D255C
- push {lr}
- adds r1, r0, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00003d74
- adds r0, r2
- bl StringCopy
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetWaldaPhrase
-
- thumb_func_start IsWaldaPhraseEmpty
-IsWaldaPhraseEmpty: @ 80D2578
- push {lr}
- movs r1, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00003d74
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _080D258C
- movs r1, 0x1
-_080D258C:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end IsWaldaPhraseEmpty
-
- thumb_func_start sub_80D259C
-sub_80D259C: @ 80D259C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r6, =gUnknown_02039D84
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 4
- bl Alloc
- str r0, [r6]
- ldr r5, =gUnknown_02039D88
- movs r1, 0
- cmp r0, 0
- beq _080D25BA
- adds r1, r4, 0
-_080D25BA:
- strh r1, [r5]
- movs r2, 0
- cmp r2, r1
- bcs _080D25E2
- movs r3, 0
- adds r4, r5, 0
-_080D25C6:
- ldr r0, [r6]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 4
- adds r1, r0
- str r3, [r1, 0x18]
- adds r1, 0x2C
- strb r3, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- ldrh r0, [r4]
- cmp r2, r0
- bcc _080D25C6
-_080D25E2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D259C
-
- thumb_func_start sub_80D25F0
-sub_80D25F0: @ 80D25F0
- push {lr}
- ldr r0, =gUnknown_02039D84
- ldr r0, [r0]
- bl Free
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D25F0
-
- thumb_func_start sub_80D2604
-sub_80D2604: @ 80D2604
- push {r4,r5,lr}
- movs r4, 0
- ldr r0, =gUnknown_02039D88
- ldrh r0, [r0]
- cmp r4, r0
- bge _080D2634
- movs r5, 0
-_080D2612:
- ldr r0, =gUnknown_02039D84
- ldr r0, [r0]
- adds r0, r5, r0
- adds r0, 0x2C
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080D2628
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_80D2918
-_080D2628:
- adds r5, 0x30
- adds r4, 0x1
- ldr r0, =gUnknown_02039D88
- ldrh r0, [r0]
- cmp r4, r0
- blt _080D2612
-_080D2634:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2604
-
- thumb_func_start sub_80D2644
-sub_80D2644: @ 80D2644
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r4, r2, 0
- ldr r2, [sp, 0x24]
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r3, 16
- lsrs r3, 16
- mov r10, r3
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp]
- ldr r0, =gUnknown_02039D88
- ldrh r0, [r0]
- cmp r6, r0
- bcs _080D272C
- ldr r0, =gUnknown_02039D84
- mov r9, r0
- ldr r0, [r0]
- lsls r1, r6, 1
- mov r8, r1
- adds r5, r1, r6
- lsls r5, 4
- adds r0, r5, r0
- movs r1, 0
- str r1, [r0, 0x18]
- str r4, [r0, 0x1C]
- adds r0, 0x2B
- strb r7, [r0]
- mov r2, r9
- ldr r0, [r2]
- adds r0, r5, r0
- mov r3, r10
- strh r3, [r0, 0x24]
- mov r1, sp
- ldrh r1, [r1]
- strh r1, [r0, 0x26]
- adds r0, r7, 0
- movs r1, 0x3
- bl GetBgAttribute
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r7, 0
- movs r1, 0x9
- bl GetBgAttribute
- lsls r0, 16
- lsrs r0, 16
- mov r2, r9
- ldr r1, [r2]
- adds r5, r1
- ldr r2, =gSpriteTemplate_857BC88
- lsls r4, 2
- lsls r1, r0, 4
- adds r4, r1
- adds r4, r2
- ldrh r1, [r4]
- strh r1, [r5, 0x20]
- ldrh r1, [r4, 0x2]
- strh r1, [r5, 0x22]
- mov r2, r8
- cmp r0, 0
- beq _080D26E8
- adds r1, r5, 0
- adds r1, 0x2A
- movs r0, 0x1
- b _080D26EE
- .pool
-_080D26E8:
- adds r1, r5, 0
- adds r1, 0x2A
- movs r0, 0x2
-_080D26EE:
- strb r0, [r1]
- ldr r4, =gUnknown_02039D84
- ldr r1, [r4]
- adds r2, r6
- lsls r2, 4
- adds r1, r2, r1
- adds r0, r1, 0
- adds r0, 0x2A
- ldrb r0, [r0]
- mov r3, r10
- muls r3, r0
- movs r0, 0
- strh r3, [r1, 0x28]
- mov r3, r10
- strh r3, [r1, 0x10]
- mov r5, sp
- ldrh r5, [r5]
- strh r5, [r1, 0x12]
- strh r0, [r1, 0xC]
- strh r0, [r1, 0xE]
- strh r0, [r1, 0x14]
- strh r0, [r1, 0x16]
- adds r0, r1, 0
- adds r0, 0xC
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldr r0, [r4]
- adds r2, r0
- adds r2, 0x2C
- movs r0, 0x1
- strb r0, [r2]
-_080D272C:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2644
-
- thumb_func_start sub_80D2740
-sub_80D2740: @ 80D2740
- push {lr}
- adds r3, r1, 0
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_02039D88
- ldrh r0, [r0]
- cmp r2, r0
- bcs _080D2764
- ldr r0, =gUnknown_02039D84
- ldr r1, [r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 4
- adds r0, r1
- str r3, [r0, 0x18]
- adds r0, 0x2C
- movs r1, 0x1
- strb r1, [r0]
-_080D2764:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2740
-
- thumb_func_start sub_80D2770
-sub_80D2770: @ 80D2770
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 16
- lsrs r2, 16
- ldr r0, =gUnknown_02039D88
- ldrh r0, [r0]
- cmp r3, r0
- bcs _080D279C
- ldr r0, =gUnknown_02039D84
- ldr r1, [r0]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 4
- adds r0, r1
- strh r4, [r0, 0x14]
- strh r2, [r0, 0x16]
- adds r0, 0x2C
- movs r1, 0x1
- strb r1, [r0]
-_080D279C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2770
-
- thumb_func_start sub_80D27AC
-sub_80D27AC: @ 80D27AC
- push {r4-r6,lr}
- ldr r4, [sp, 0x10]
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r2, 16
- lsrs r2, 16
- lsls r3, 16
- lsrs r3, 16
- lsls r4, 16
- lsrs r4, 16
- ldr r0, =gUnknown_02039D88
- ldrh r0, [r0]
- cmp r5, r0
- bcs _080D27E6
- ldr r0, =gUnknown_02039D84
- ldr r1, [r0]
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 4
- adds r0, r1
- strh r6, [r0, 0xC]
- strh r2, [r0, 0xE]
- strh r3, [r0, 0x10]
- strh r4, [r0, 0x12]
- adds r0, 0x2C
- movs r1, 0x1
- strb r1, [r0]
-_080D27E6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D27AC
-
- thumb_func_start sub_80D27F4
-sub_80D27F4: @ 80D27F4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r0, =gUnknown_02039D88
- ldrh r0, [r0]
- cmp r5, r0
- bcc _080D280C
- b _080D290E
-_080D280C:
- ldr r4, =gUnknown_02039D84
- lsls r2, r5, 1
- cmp r1, 0x5
- bls _080D2816
- b _080D2900
-_080D2816:
- lsls r0, r1, 2
- ldr r1, =_080D282C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080D282C:
- .4byte _080D2844
- .4byte _080D2864
- .4byte _080D2888
- .4byte _080D28A8
- .4byte _080D28CC
- .4byte _080D28E8
-_080D2844:
- ldr r4, =gUnknown_02039D84
- ldr r0, [r4]
- lsls r3, r5, 1
- adds r1, r3, r5
- lsls r1, 4
- adds r1, r0
- lsls r2, r6, 24
- asrs r2, 24
- ldrh r0, [r1, 0x14]
- adds r0, r2
- strh r0, [r1, 0x14]
- ldrh r0, [r1, 0x10]
- subs r0, r2
- b _080D287E
- .pool
-_080D2864:
- ldr r4, =gUnknown_02039D84
- ldr r0, [r4]
- lsls r3, r5, 1
- adds r1, r3, r5
- lsls r1, 4
- adds r1, r0
- lsls r2, r6, 24
- asrs r2, 24
- ldrh r0, [r1, 0xC]
- adds r0, r2
- strh r0, [r1, 0xC]
- ldrh r0, [r1, 0x10]
- adds r0, r2
-_080D287E:
- strh r0, [r1, 0x10]
- adds r2, r3, 0
- b _080D2900
- .pool
-_080D2888:
- ldr r4, =gUnknown_02039D84
- ldr r0, [r4]
- lsls r3, r5, 1
- adds r1, r3, r5
- lsls r1, 4
- adds r1, r0
- lsls r2, r6, 24
- asrs r2, 24
- ldrh r0, [r1, 0x16]
- adds r0, r2
- strh r0, [r1, 0x16]
- ldrh r0, [r1, 0x12]
- subs r0, r2
- b _080D28C2
- .pool
-_080D28A8:
- ldr r4, =gUnknown_02039D84
- ldr r0, [r4]
- lsls r3, r5, 1
- adds r1, r3, r5
- lsls r1, 4
- adds r1, r0
- lsls r2, r6, 24
- asrs r2, 24
- ldrh r0, [r1, 0xE]
- subs r0, r2
- strh r0, [r1, 0xE]
- ldrh r0, [r1, 0x12]
- adds r0, r2
-_080D28C2:
- strh r0, [r1, 0x12]
- adds r2, r3, 0
- b _080D2900
- .pool
-_080D28CC:
- ldr r3, =gUnknown_02039D84
- ldr r0, [r3]
- lsls r2, r5, 1
- adds r1, r2, r5
- lsls r1, 4
- adds r1, r0
- lsls r0, r6, 24
- asrs r0, 24
- ldrh r4, [r1, 0x14]
- adds r0, r4
- strh r0, [r1, 0x14]
- b _080D28FE
- .pool
-_080D28E8:
- ldr r3, =gUnknown_02039D84
- ldr r0, [r3]
- lsls r2, r5, 1
- adds r1, r2, r5
- lsls r1, 4
- adds r1, r0
- lsls r0, r6, 24
- asrs r0, 24
- ldrh r4, [r1, 0x16]
- adds r0, r4
- strh r0, [r1, 0x16]
-_080D28FE:
- adds r4, r3, 0
-_080D2900:
- ldr r0, [r4]
- adds r1, r2, r5
- lsls r1, 4
- adds r1, r0
- adds r1, 0x2C
- movs r0, 0x1
- strb r0, [r1]
-_080D290E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D27F4
-
- thumb_func_start sub_80D2918
-sub_80D2918: @ 80D2918
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- adds r6, r2, 0
- ldr r0, =gUnknown_02039D88
- ldrh r0, [r0]
- cmp r2, r0
- bcs _080D2952
- ldr r5, =gUnknown_02039D84
- ldr r0, [r5]
- lsls r1, r2, 1
- adds r1, r2
- lsls r4, r1, 4
- adds r0, r4, r0
- ldr r0, [r0, 0x18]
- cmp r0, 0
- beq _080D2940
- adds r0, r2, 0
- bl sub_80D2960
-_080D2940:
- adds r0, r6, 0
- bl sub_80D29F8
- ldr r1, [r5]
- adds r1, r4, r1
- adds r0, r1, 0
- adds r0, 0xC
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
-_080D2952:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2918
-
- thumb_func_start sub_80D2960
-sub_80D2960: @ 80D2960
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r4, =gUnknown_02039D84
- ldr r1, [r4]
- lsls r5, r0, 1
- adds r0, r5, r0
- lsls r0, 4
- adds r0, r1
- adds r1, r0, 0
- adds r1, 0x2A
- ldrb r3, [r1]
- ldrh r1, [r0, 0x20]
- adds r2, r3, 0
- muls r2, r1
- mov r9, r2
- movs r6, 0xA
- ldrsh r1, [r0, r6]
- mov r2, r9
- muls r2, r1
- ldr r1, [r0, 0x18]
- adds r1, r2
- movs r6, 0x8
- ldrsh r2, [r0, r6]
- muls r2, r3
- adds r7, r1, r2
- movs r6, 0
- ldrh r0, [r0, 0x6]
- cmp r6, r0
- bge _080D29E4
- mov r10, r4
-_080D29AA:
- mov r0, r10
- ldr r1, [r0]
- mov r2, r8
- adds r4, r5, r2
- lsls r4, 4
- adds r1, r4, r1
- adds r0, r1, 0
- adds r0, 0x2B
- ldrb r0, [r0]
- ldrb r2, [r1, 0x8]
- ldrb r3, [r1, 0xA]
- adds r3, r6
- lsls r3, 24
- lsrs r3, 24
- ldrb r1, [r1, 0x4]
- str r1, [sp]
- movs r1, 0x1
- str r1, [sp, 0x4]
- adds r1, r7, 0
- bl CopyToBgTilemapBufferRect
- add r7, r9
- adds r6, 0x1
- mov r1, r10
- ldr r0, [r1]
- adds r4, r0
- ldrh r4, [r4, 0x6]
- cmp r6, r4
- blt _080D29AA
-_080D29E4:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2960
-
- thumb_func_start sub_80D29F8
-sub_80D29F8: @ 80D29F8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r4, =gUnknown_02039D84
- ldr r1, [r4]
- lsls r5, r0, 1
- adds r0, r5, r0
- lsls r0, 4
- adds r0, r1
- adds r1, r0, 0
- adds r1, 0x2A
- ldrb r3, [r1]
- ldrh r1, [r0, 0x24]
- adds r2, r3, 0
- muls r2, r1
- mov r9, r2
- movs r6, 0xE
- ldrsh r1, [r0, r6]
- mov r2, r9
- muls r2, r1
- ldr r1, [r0, 0x1C]
- adds r1, r2
- movs r6, 0xC
- ldrsh r2, [r0, r6]
- muls r2, r3
- adds r7, r1, r2
- movs r6, 0
- ldrh r0, [r0, 0x12]
- cmp r6, r0
- bge _080D2A7C
- mov r10, r4
-_080D2A42:
- mov r0, r10
- ldr r1, [r0]
- mov r2, r8
- adds r4, r5, r2
- lsls r4, 4
- adds r1, r4, r1
- adds r0, r1, 0
- adds r0, 0x2B
- ldrb r0, [r0]
- ldrb r2, [r1, 0x14]
- ldrb r3, [r1, 0x16]
- adds r3, r6
- lsls r3, 24
- lsrs r3, 24
- ldrb r1, [r1, 0x10]
- str r1, [sp]
- movs r1, 0x1
- str r1, [sp, 0x4]
- adds r1, r7, 0
- bl CopyToBgTilemapBufferRect
- add r7, r9
- adds r6, 0x1
- mov r1, r10
- ldr r0, [r1]
- adds r4, r0
- ldrh r4, [r4, 0x12]
- cmp r6, r4
- blt _080D2A42
-_080D2A7C:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D29F8
-
- thumb_func_start sub_80D2A90
-sub_80D2A90: @ 80D2A90
- ldr r3, =gUnknown_02039D8C
- str r0, [r3]
- str r1, [r0]
- movs r1, 0
- strb r2, [r0, 0x5]
- strb r1, [r0, 0x4]
- bx lr
- .pool
- thumb_func_end sub_80D2A90
-
- thumb_func_start sub_80D2AA4
-sub_80D2AA4: @ 80D2AA4
- push {r4,r5,lr}
- ldr r2, =gUnknown_02039D8C
- ldr r1, [r2]
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- beq _080D2AE2
- movs r4, 0
- ldrb r1, [r1, 0x4]
- cmp r4, r1
- bcs _080D2ADA
- adds r5, r2, 0
-_080D2ABA:
- ldr r0, [r5]
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 2
- ldr r0, [r0]
- adds r0, r1
- ldr r1, [r0, 0x10]
- bl _call_via_r1
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, [r5]
- ldrb r0, [r0, 0x4]
- cmp r4, r0
- bcc _080D2ABA
-_080D2ADA:
- ldr r0, =gUnknown_02039D8C
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0x4]
-_080D2AE2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2AA4
-
- thumb_func_start sub_80D2AEC
-sub_80D2AEC: @ 80D2AEC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r9, r0
- mov r10, r3
- ldr r0, [sp, 0x24]
- ldr r3, [sp, 0x28]
- ldr r4, [sp, 0x2C]
- ldr r5, [sp, 0x30]
- ldr r6, [sp, 0x34]
- lsls r1, 16
- lsrs r1, 16
- mov r12, r1
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp]
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r3, 16
- lsrs r3, 16
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 16
- lsrs r6, 16
- ldr r0, =gUnknown_02039D8C
- ldr r2, [r0]
- ldrb r0, [r2, 0x4]
- adds r1, r0, 0
- ldrb r7, [r2, 0x5]
- cmp r1, r7
- bcs _080D2B74
- adds r0, 0x1
- strb r0, [r2, 0x4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- ldr r1, [r2]
- adds r1, r0
- lsls r0, r4, 1
- strh r0, [r1, 0x8]
- ldr r2, [sp]
- lsls r0, r2, 5
- add r0, r12
- lsls r0, 1
- add r0, r9
- str r0, [r1, 0x4]
- adds r0, r3, 0
- muls r0, r6
- add r0, r8
- lsls r0, 1
- add r0, r10
- str r0, [r1]
- strh r5, [r1, 0xC]
- strh r6, [r1, 0xA]
- ldr r0, =sub_80D2B88
- str r0, [r1, 0x10]
- movs r0, 0x1
- b _080D2B76
- .pool
-_080D2B74:
- movs r0, 0
-_080D2B76:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80D2AEC
-
- thumb_func_start sub_80D2B88
-sub_80D2B88: @ 80D2B88
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r5, 0
- b _080D2BB2
-_080D2B90:
- ldr r0, [r4]
- ldr r1, [r4, 0x4]
- ldrh r2, [r4, 0x8]
- lsrs r2, 1
- bl CpuSet
- ldr r0, [r4, 0x4]
- adds r0, 0x40
- str r0, [r4, 0x4]
- ldrh r1, [r4, 0xA]
- lsls r1, 1
- ldr r0, [r4]
- adds r0, r1
- str r0, [r4]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_080D2BB2:
- ldrh r0, [r4, 0xC]
- cmp r5, r0
- bcc _080D2B90
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80D2B88
-
- thumb_func_start sub_80D2BC0
-sub_80D2BC0: @ 80D2BC0
- push {r4-r7,lr}
- mov r12, r0
- ldr r0, [sp, 0x14]
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r2, 16
- lsrs r4, r2, 16
- lsls r3, 16
- lsrs r3, 16
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, =gUnknown_02039D8C
- ldr r2, [r0]
- ldrb r0, [r2, 0x4]
- adds r1, r0, 0
- ldrb r7, [r2, 0x5]
- cmp r1, r7
- bcs _080D2C14
- adds r0, 0x1
- strb r0, [r2, 0x4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- ldr r1, [r2]
- adds r1, r0
- lsls r0, r3, 1
- strh r0, [r1, 0x8]
- lsls r0, r4, 5
- adds r0, r6
- lsls r0, 1
- add r0, r12
- str r0, [r1, 0x4]
- strh r5, [r1, 0xC]
- ldr r0, =sub_80D2C1C
- str r0, [r1, 0x10]
- movs r0, 0x1
- b _080D2C16
- .pool
-_080D2C14:
- movs r0, 0
-_080D2C16:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80D2BC0
-
- thumb_func_start sub_80D2C1C
-sub_80D2C1C: @ 80D2C1C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r6, r0, 0
- movs r0, 0
- ldrh r1, [r6, 0xC]
- cmp r0, r1
- bcs _080D2CAA
- movs r7, 0x80
- lsls r7, 5
- mov r5, sp
- ldr r2, =0x040000d4
- mov r8, r2
- movs r1, 0x81
- lsls r1, 24
- mov r10, r1
-_080D2C42:
- ldr r2, [r6, 0x4]
- ldrh r3, [r6, 0x8]
- mov r12, r2
- adds r0, 0x1
- mov r9, r0
- cmp r3, r7
- bhi _080D2C6C
- movs r0, 0
- strh r0, [r5]
- mov r2, sp
- mov r0, r8
- str r2, [r0]
- mov r1, r12
- str r1, [r0, 0x4]
- lsrs r0, r3, 1
- mov r2, r10
- orrs r0, r2
- mov r1, r8
- b _080D2C94
- .pool
-_080D2C6C:
- movs r4, 0
- strh r4, [r5]
- ldr r1, =0x040000d4
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- ldr r0, =0x81000800
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r7
- subs r3, r7
- cmp r3, r7
- bhi _080D2C6C
- strh r4, [r5]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 1
- mov r2, r10
- orrs r0, r2
-_080D2C94:
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- mov r0, r12
- adds r0, 0x40
- str r0, [r6, 0x4]
- mov r1, r9
- lsls r0, r1, 16
- lsrs r0, 16
- ldrh r2, [r6, 0xC]
- cmp r0, r2
- bcc _080D2C42
-_080D2CAA:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2C1C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokenav.s b/asm/pokenav.s
index 6fedbbd58..c1cd01c27 100644
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -409,14 +409,14 @@ _081C73C2:
_081C73C6:
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80D2270
+ bl CheckBoxMonSanityAt
cmp r0, 0
beq _081C73EC
lsls r1, r5, 24
lsrs r1, 24
lsrs r0, r6, 24
movs r2, 0x52
- bl GetBoxMonDataFromAnyBox
+ bl GetBoxMonDataAt
cmp r0, 0
beq _081C73EC
_081C73E2:
@@ -1524,7 +1524,7 @@ sub_81C7C28: @ 81C7C28
ldr r4, =gUnknown_0861FA4C
_081C7C36:
adds r0, r4, 0
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
adds r4, 0x8
adds r5, 0x1
cmp r5, 0
@@ -1648,7 +1648,7 @@ sub_81C7D28: @ 81C7D28
bl sub_81C763C
adds r6, r0, 0
ldr r0, =gUnknown_0861FA64
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
movs r0, 0x1
bl AllocSpritePalette
movs r0, 0x2
@@ -3924,7 +3924,7 @@ sub_81C8ED0: @ 81C8ED0
ldr r4, =gUnknown_0861FBFC
_081C8ED6:
adds r0, r4, 0
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
adds r4, 0x8
adds r5, 0x1
cmp r5, 0
@@ -6086,7 +6086,7 @@ sub_81C9FC4: @ 81C9FC4
ldr r4, =gUnknown_086201C4
_081C9FCA:
adds r0, r4, 0
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
adds r4, 0x8
adds r5, 0x1
cmp r5, 0x1
@@ -10537,7 +10537,7 @@ sub_81CC214: @ 81CC214
ldr r4, =gUnknown_08622810
_081CC224:
adds r0, r4, 0
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
adds r4, 0x8
adds r5, 0x1
cmp r5, 0
@@ -11509,7 +11509,7 @@ sub_81CC9C0: @ 81CC9C0
ldr r4, =gUnknown_086230F8
_081CC9C6:
adds r0, r4, 0
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
adds r4, 0x8
adds r5, 0x1
cmp r5, 0
@@ -12444,7 +12444,7 @@ _081CD174:
adds r1, r3, 0
movs r2, 0x8
mov r3, sp
- bl SetBoxMonDataFromAnyBox
+ bl SetBoxMonDataAt
_081CD180:
ldr r0, =0x00006304
adds r1, r6, r0
@@ -16376,7 +16376,7 @@ _081CF1F4:
_081CF1FC:
adds r0, r5, 0
adds r1, r4, 0
- bl sub_80D2270
+ bl CheckBoxMonSanityAt
cmp r0, 0
beq _081CF23A
ldr r1, =0xffffff00
@@ -16392,7 +16392,7 @@ _081CF1FC:
str r0, [sp]
ldr r2, [r6, 0x14]
adds r0, r7, 0
- bl GetBoxMonDataFromAnyBox
+ bl GetBoxMonDataAt
lsls r0, 16
ldr r2, =0x0000ffff
ldr r1, [sp]
@@ -17735,7 +17735,7 @@ sub_81CFC40: @ 81CFC40
_081CFC60:
adds r0, r7, 0
adds r1, r6, 0
- bl sub_80D2270
+ bl CheckBoxMonSanityAt
cmp r0, 0
beq _081CFCA6
lsls r0, r7, 24
@@ -17745,7 +17745,7 @@ _081CFC60:
adds r0, r5, 0
adds r1, r4, 0
movs r2, 0x52
- bl GetBoxMonDataFromAnyBox
+ bl GetBoxMonDataAt
adds r3, r0, 0
cmp r3, 0
beq _081CFCA6
@@ -17900,14 +17900,14 @@ _081CFD92:
_081CFD96:
adds r0, r5, 0
adds r1, r4, 0
- bl sub_80D2270
+ bl CheckBoxMonSanityAt
cmp r0, 0
beq _081CFDBC
lsls r1, r4, 24
lsrs r1, 24
lsrs r0, r6, 24
movs r2, 0x53
- bl GetBoxMonDataFromAnyBox
+ bl GetBoxMonDataAt
cmp r0, 0
beq _081CFDBC
_081CFDB2:
@@ -19257,7 +19257,7 @@ sub_81D07D8: @ 81D07D8
beq _081D07FA
ldrb r1, [r1, 0x1]
movs r2, 0x52
- bl GetBoxMonDataFromAnyBox
+ bl GetBoxMonDataAt
b _081D080A
_081D07FA:
ldrb r1, [r1, 0x1]
@@ -19302,7 +19302,7 @@ _081D0848:
ldrb r0, [r1]
ldrb r1, [r1, 0x1]
movs r2, 0x53
- bl GetBoxMonDataFromAnyBox
+ bl GetBoxMonDataAt
_081D0852:
mov r12, r0
movs r0, 0
@@ -20756,7 +20756,7 @@ sub_81D13FC: @ 81D13FC
push {r4,lr}
adds r4, r0, 0
ldr r0, =gUnknown_08624C78
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
ldr r0, =gUnknown_08624C80
bl sub_81C795C
ldr r0, =gUnknown_08624D04
@@ -23046,14 +23046,14 @@ _081D2CB0:
lsrs r0, 24
lsls r1, 24
lsrs r1, 24
- bl GetAndCopyBoxMonDataFromAnyBox
+ bl GetAndCopyBoxMonDataAt
b _081D2CCA
_081D2CBE:
lsls r0, 24
lsrs r0, 24
lsls r1, 24
lsrs r1, 24
- bl GetBoxMonDataFromAnyBox
+ bl GetBoxMonDataAt
_081D2CCA:
pop {r1}
bx r1
diff --git a/asm/psychic.s b/asm/psychic.s
deleted file mode 100644
index 0a39ea856..000000000
--- a/asm/psychic.s
+++ /dev/null
@@ -1,2172 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_810F1EC
-sub_810F1EC: @ 810F1EC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- bl IsContest
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810F212
- mov r0, r8
- cmp r0, 0
- beq _0810F22E
-_0810F212:
- ldrb r1, [r5, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r5, 0x5]
- adds r1, r5, 0
- adds r1, 0x43
- movs r0, 0xC8
- strb r0, [r1]
- mov r1, r8
- cmp r1, 0
- bne _0810F2B8
-_0810F22E:
- movs r0, 0x1
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r4, r0, 24
- adds r7, r4, 0
- adds r0, r4, 0
- bl sub_80A8364
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- eors r0, r1
- negs r1, r0
- orrs r1, r0
- lsrs r6, r1, 31
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _0810F264
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_80A438C
-_0810F264:
- movs r0, 0x2
- adds r4, r0, 0
- eors r4, r7
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _0810F284
- movs r0, 0x1
- eors r6, r0
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_80A438C
-_0810F284:
- mov r0, r8
- cmp r0, 0
- bne _0810F2B8
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _0810F2B8
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0810F2B0
- movs r0, 0x48
- strh r0, [r5, 0x20]
- movs r0, 0x50
- b _0810F2F2
- .pool
-_0810F2B0:
- movs r0, 0xB0
- strh r0, [r5, 0x20]
- movs r0, 0x28
- b _0810F2F2
-_0810F2B8:
- ldr r6, =gBattleAnimAttacker
- ldrb r0, [r6]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810F2CE
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- negs r0, r0
- strh r0, [r1]
-_0810F2CE:
- ldrb r0, [r6]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- ldr r4, =gBattleAnimArgs
- lsrs r0, 24
- ldrh r1, [r4]
- adds r0, r1
- strh r0, [r5, 0x20]
- ldrb r0, [r6]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r4, [r4, 0x2]
- adds r0, r4
-_0810F2F2:
- strh r0, [r5, 0x22]
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x4]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 20
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- strh r0, [r5, 0x2E]
- mov r0, r8
- cmp r0, 0
- beq _0810F32C
- ldrh r0, [r5, 0x22]
- adds r0, 0x9
- strh r0, [r5, 0x22]
- ldr r1, =sub_810F3C8
- str r1, [r5, 0x1C]
- adds r0, r5, 0
- bl _call_via_r1
- b _0810F330
- .pool
-_0810F32C:
- ldr r0, =sub_810F340
- str r0, [r5, 0x1C]
-_0810F330:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810F1EC
-@
-
- thumb_func_start sub_810F340
-sub_810F340: @ 810F340
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r0, 0x1
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r4, r0, 24
- movs r1, 0x3C
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0810F35C
- movs r0, 0x1
- strh r0, [r5, 0x3C]
- b _0810F3B6
-_0810F35C:
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _0810F382
- ldr r2, =gSprites
- ldr r0, =gBattlerSpriteIds
- adds r0, r4, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_0810F382:
- movs r0, 0x2
- eors r4, r0
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _0810F3AC
- ldr r2, =gSprites
- ldr r0, =gBattlerSpriteIds
- adds r0, r4, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_0810F3AC:
- ldr r1, =sub_810F3C8
- str r1, [r5, 0x1C]
- adds r0, r5, 0
- bl _call_via_r1
-_0810F3B6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810F340
-
- thumb_func_start sub_810F3C8
-sub_810F3C8: @ 810F3C8
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x34]
- movs r1, 0x10
- subs r1, r0
- lsls r1, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- ldrh r1, [r4, 0x34]
- movs r2, 0x34
- ldrsh r0, [r4, r2]
- cmp r0, 0xD
- bne _0810F3F4
- ldr r0, =sub_810F400
- str r0, [r4, 0x1C]
- b _0810F3F8
- .pool
-_0810F3F4:
- adds r0, r1, 0x1
- strh r0, [r4, 0x34]
-_0810F3F8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810F3C8
-
- thumb_func_start sub_810F400
-sub_810F400: @ 810F400
- push {r4-r7,lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x30]
- adds r0, 0x1
- strh r0, [r3, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- bne _0810F45E
- movs r0, 0
- strh r0, [r3, 0x30]
- ldrh r4, [r3, 0x2E]
- ldr r1, =gPlttBufferFaded
- adds r0, r4, 0
- adds r0, 0x8
- lsls r0, 1
- adds r0, r1
- ldrh r7, [r0]
- movs r5, 0x8
- adds r6, r1, 0
- adds r1, r4, 0x7
- lsls r0, r4, 1
- adds r0, r6
- adds r2, r0, 0
- adds r2, 0x10
- lsls r1, 1
- adds r1, r6
-_0810F436:
- ldrh r0, [r1]
- strh r0, [r2]
- subs r1, 0x2
- subs r2, 0x2
- subs r5, 0x1
- cmp r5, 0
- bgt _0810F436
- adds r0, r4, 0x1
- lsls r0, 1
- adds r0, r6
- strh r7, [r0]
- ldrh r0, [r3, 0x32]
- adds r0, 0x1
- strh r0, [r3, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- bne _0810F45E
- ldr r0, =sub_810F46C
- str r0, [r3, 0x1C]
-_0810F45E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810F400
-
- thumb_func_start sub_810F46C
-sub_810F46C: @ 810F46C
- push {r4-r6,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x34]
- movs r1, 0x10
- subs r1, r0
- lsls r1, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- ldrh r0, [r5, 0x34]
- subs r0, 0x1
- strh r0, [r5, 0x34]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _0810F512
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0810F502
- movs r0, 0x1
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _0810F4D4
- ldr r2, =gSprites
- ldr r0, =gBattlerSpriteIds
- adds r0, r4, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
-_0810F4D4:
- movs r0, 0x2
- adds r4, r0, 0
- eors r4, r6
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _0810F502
- ldr r2, =gSprites
- ldr r0, =gBattlerSpriteIds
- adds r0, r4, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
-_0810F502:
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, =sub_810F524
- str r0, [r5, 0x1C]
-_0810F512:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810F46C
-
- thumb_func_start sub_810F524
-sub_810F524: @ 810F524
- push {r4-r6,lr}
- adds r6, r0, 0
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0810F57C
- movs r0, 0x1
- bl GetBattlerAtPosition
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- bl sub_80A8364
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- eors r0, r1
- negs r1, r0
- orrs r1, r0
- lsrs r5, r1, 31
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _0810F562
- adds r0, r5, 0
- bl sub_80A477C
-_0810F562:
- movs r0, 0x2
- eors r4, r0
- adds r0, r4, 0
- bl IsBattlerSpriteVisible
- lsls r0, 24
- cmp r0, 0
- beq _0810F57C
- movs r0, 0x1
- eors r5, r0
- adds r0, r5, 0
- bl sub_80A477C
-_0810F57C:
- ldr r0, =DestroyAnimSprite
- str r0, [r6, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810F524
-
- thumb_func_start sub_810F58C
-sub_810F58C: @ 810F58C
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0810F618
- ldr r5, =gBattleAnimArgs
- movs r1, 0x6
- ldrsh r0, [r5, r1]
- movs r6, 0
- cmp r0, 0
- bne _0810F5A6
- movs r6, 0x1
-_0810F5A6:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0810F5EE
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _0810F5EE
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0810F5E0
- ldrh r0, [r5]
- movs r1, 0x48
- subs r1, r0
- strh r1, [r4, 0x20]
- ldrh r0, [r5, 0x2]
- adds r0, 0x50
- strh r0, [r4, 0x22]
- b _0810F610
- .pool
-_0810F5E0:
- ldrh r0, [r5]
- adds r0, 0xB0
- strh r0, [r4, 0x20]
- ldrh r0, [r5, 0x2]
- adds r0, 0x28
- strh r0, [r4, 0x22]
- b _0810F610
-_0810F5EE:
- ldr r0, =gBattleAnimArgs
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _0810F608
- adds r0, r4, 0
- adds r1, r6, 0
- bl InitAnimSpritePos
- b _0810F610
- .pool
-_0810F608:
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_80A6980
-_0810F610:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _0810F62C
-_0810F618:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x30
- ands r0, r1
- cmp r0, 0
- beq _0810F62C
- adds r0, r4, 0
- bl DestroySpriteAndMatrix
-_0810F62C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_810F58C
-
- thumb_func_start sub_810F634
-sub_810F634: @ 810F634
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810F684
- adds r0, r5, 0
- movs r1, 0x1
- bl StartSpriteAnim
- ldrh r0, [r5, 0x20]
- subs r0, 0x28
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x22]
- adds r0, 0xA
- strh r0, [r5, 0x22]
- ldr r0, =0x0000ffff
- b _0810F692
- .pool
-_0810F684:
- ldrh r0, [r5, 0x20]
- adds r0, 0x28
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x22]
- subs r0, 0xA
- strh r0, [r5, 0x22]
- movs r0, 0x1
-_0810F692:
- strh r0, [r5, 0x30]
- ldr r1, =DestroyAnimSprite
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =RunStoredCallbackWhenAnimEnds
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810F634
-
- thumb_func_start sub_810F6B0
-sub_810F6B0: @ 810F6B0
- push {r4-r7,lr}
- adds r5, r0, 0
- ldr r6, =gBattleAnimAttacker
- ldrb r0, [r6]
- movs r1, 0x1
- bl sub_80A861C
- lsls r0, 16
- asrs r1, r0, 16
- lsrs r0, 31
- adds r1, r0
- lsls r1, 15
- lsrs r4, r1, 16
- ldrb r0, [r6]
- movs r1, 0
- bl sub_80A861C
- lsls r0, 16
- asrs r1, r0, 16
- lsrs r0, 31
- adds r1, r0
- asrs r1, 1
- negs r1, r1
- lsls r1, 16
- lsrs r7, r1, 16
- ldrb r0, [r6]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0810F6F6
- lsls r0, r4, 16
- negs r0, r0
- lsrs r4, r0, 16
-_0810F6F6:
- ldrb r0, [r6]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r0, r4
- strh r0, [r5, 0x20]
- ldrb r0, [r6]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r0, r7
- strh r0, [r5, 0x22]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF
- bgt _0810F722
- movs r0, 0x10
- strh r0, [r5, 0x22]
-_0810F722:
- ldr r1, =sub_810F740
- adds r0, r5, 0
- bl StoreSpriteCallbackInData6
- ldr r0, =RunStoredCallbackWhenAnimEnds
- str r0, [r5, 0x1C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810F6B0
-
- thumb_func_start sub_810F740
-sub_810F740: @ 810F740
- push {r4,lr}
- adds r4, r0, 0
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldr r0, =gUnknown_08596740
- str r0, [r4, 0x10]
- movs r0, 0
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl InitSpriteAffineAnim
- ldr r0, =sub_810F774
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810F740
-
- thumb_func_start sub_810F774
-sub_810F774: @ 810F774
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0810F786
- cmp r0, 0x1
- beq _0810F7B4
- b _0810F7CC
-_0810F786:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0810F7CC
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x1]
- movs r0, 0x12
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _0810F7CC
-_0810F7B4:
- ldrh r0, [r4, 0x30]
- subs r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _0810F7CC
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810F7CC:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810F774
-
- thumb_func_start sub_810F7D4
-sub_810F7D4: @ 810F7D4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks
- adds r4, r0
- movs r0, 0
- bl GetAnimBattlerSpriteId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- strh r1, [r4, 0x8]
- ldr r2, =gUnknown_0859675C
- adds r0, r4, 0
- bl PrepareAffineAnimInTaskData
- ldr r0, =sub_810F810
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810F7D4
-
- thumb_func_start sub_810F810
-sub_810F810: @ 810F810
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks
- adds r0, r1
- bl RunAffineAnimFromTaskData
- lsls r0, 24
- cmp r0, 0
- bne _0810F830
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_0810F830:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810F810
-
- thumb_func_start sub_810F83C
-sub_810F83C: @ 810F83C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r4, r1, r0
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- strh r0, [r4, 0x8]
- strh r1, [r4, 0xA]
- strh r1, [r4, 0xC]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- movs r1, 0x8
- cmp r0, 0
- beq _0810F870
- movs r1, 0x4
-_0810F870:
- strh r1, [r4, 0xE]
- ldrb r1, [r4, 0x8]
- ldr r2, =gUnknown_0859677C
- adds r0, r4, 0
- bl PrepareAffineAnimInTaskData
- ldr r0, =sub_810F898
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810F83C
-
- thumb_func_start sub_810F898
-sub_810F898: @ 810F898
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0810F8BC
- cmp r0, 0x1
- beq _0810F8D8
- b _0810F936
- .pool
-_0810F8BC:
- adds r0, r4, 0
- bl RunAffineAnimFromTaskData
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _0810F936
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- b _0810F936
-_0810F8D8:
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0810F900
- ldr r2, =gSprites
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- subs r1, 0x8
- strh r1, [r0, 0x26]
- ldrh r0, [r4, 0xE]
- subs r0, 0x1
- strh r0, [r4, 0xE]
- b _0810F936
- .pool
-_0810F900:
- ldr r3, =gSprites
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0x88
- lsls r1, 1
- strh r1, [r0, 0x20]
- ldrb r0, [r4, 0x8]
- bl ResetSpriteRotScale
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_0810F936:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810F898
-
- thumb_func_start sub_810F940
-sub_810F940: @ 810F940
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r5, r1, r0
- movs r1, 0
- movs r0, 0x10
- strh r0, [r5, 0xE]
- strh r1, [r5, 0x10]
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x24]
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_80A861C
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r6, r0, 16
- ldrb r0, [r4]
- movs r1, 0
- bl sub_80A861C
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- adds r1, r0, 0
- cmp r0, r6
- bcs _0810F9AA
- adds r1, r6, 0
-_0810F9AA:
- strh r1, [r5, 0x20]
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0x10
- bl SetGpuReg
- ldr r0, =sub_810F9D4
- str r0, [r5]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810F940
-
- thumb_func_start sub_810F9D4
-sub_810F9D4: @ 810F9D4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- cmp r1, 0x1
- beq _0810FAD4
- cmp r1, 0x1
- bgt _0810F9FC
- cmp r1, 0
- beq _0810FA0A
- b _0810FB5A
- .pool
-_0810F9FC:
- cmp r1, 0x2
- bne _0810FA02
- b _0810FB36
-_0810FA02:
- cmp r1, 0x3
- bne _0810FA08
- b _0810FB44
-_0810FA08:
- b _0810FB5A
-_0810FA0A:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- bgt _0810FA1A
- b _0810FB5A
-_0810FA1A:
- strh r1, [r4, 0xA]
- ldr r0, =gUnknown_08596794
- movs r2, 0x22
- ldrsh r1, [r4, r2]
- movs r3, 0x24
- ldrsh r2, [r4, r3]
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- adds r1, 0x8
- lsls r1, 1
- adds r0, r4, 0
- adds r0, 0x8
- adds r0, r1
- strh r2, [r0]
- cmp r2, 0x40
- beq _0810FABE
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _0810FA78
- cmp r0, 0x1
- bgt _0810FA5C
- cmp r0, 0
- beq _0810FA66
- b _0810FABE
- .pool
-_0810FA5C:
- cmp r0, 0x2
- beq _0810FA90
- cmp r0, 0x3
- beq _0810FAA8
- b _0810FABE
-_0810FA66:
- ldr r0, =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r4, 0x20]
- b _0810FAB6
- .pool
-_0810FA78:
- ldr r0, =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r4, 0x20]
- negs r0, r0
- strh r0, [r1, 0x24]
- ldrh r0, [r4, 0x20]
- b _0810FABC
- .pool
-_0810FA90:
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r4, 0x20]
- strh r1, [r0, 0x24]
- ldrh r1, [r4, 0x20]
- strh r1, [r0, 0x26]
- b _0810FABE
- .pool
-_0810FAA8:
- ldr r0, =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r4, 0x20]
- negs r0, r0
-_0810FAB6:
- strh r0, [r1, 0x24]
- ldrh r0, [r4, 0x20]
- negs r0, r0
-_0810FABC:
- strh r0, [r1, 0x26]
-_0810FABE:
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- bne _0810FB5A
- b _0810FB36
- .pool
-_0810FAD4:
- ldrh r0, [r4, 0xA]
- ands r1, r0
- cmp r1, 0
- beq _0810FAE4
- ldrh r0, [r4, 0xE]
- subs r0, 0x1
- strh r0, [r4, 0xE]
- b _0810FAEA
-_0810FAE4:
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
-_0810FAEA:
- ldrh r1, [r4, 0x10]
- lsls r1, 8
- ldrh r0, [r4, 0xE]
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x20
- bne _0810FB5A
- movs r5, 0x8
- adds r6, r4, 0
- adds r6, 0x8
-_0810FB10:
- lsls r0, r5, 1
- adds r1, r6, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0x40
- beq _0810FB2C
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
-_0810FB2C:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0xC
- bls _0810FB10
-_0810FB36:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _0810FB5A
- .pool
-_0810FB44:
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_0810FB5A:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_810F9D4
-
-
- thumb_func_start sub_810FB60
-sub_810FB60: @ 810FB60
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x30
- ldrsh r1, [r4, r0]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- subs r0, 0xA
- cmp r1, r0
- ble _0810FB8A
- ldrh r0, [r4, 0x30]
- movs r1, 0x1
- ands r1, r0
- adds r3, r4, 0
- adds r3, 0x3E
- lsls r1, 2
- ldrb r2, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_0810FB8A:
- movs r0, 0x30
- ldrsh r1, [r4, r0]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _0810FB9C
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810FB9C:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810FB60
-
- thumb_func_start sub_810FBA8
-sub_810FBA8: @ 810FBA8
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _0810FBD4
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
-_0810FBD4:
- ldrh r0, [r6, 0x2]
- strh r0, [r5, 0x2E]
- ldr r0, =sub_810FB60
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810FBA8
-
- thumb_func_start sub_810FBF0
-sub_810FBF0: @ 810FBF0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r5, r1, r0
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _0810FC94
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- bne _0810FC60
- ldr r0, =0x0000fff6
- strh r0, [r5, 0x1C]
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x5
- bl sub_80A861C
- subs r0, 0x8
- strh r0, [r5, 0x1E]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_80A861C
- adds r0, 0x8
- strh r0, [r5, 0x20]
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x5
- bl sub_80A861C
- subs r0, 0x8
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_80A861C
- adds r0, 0x8
- b _0810FD1E
- .pool
-_0810FC60:
- movs r0, 0xA
- strh r0, [r5, 0x1C]
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x4
- bl sub_80A861C
- adds r0, 0x8
- strh r0, [r5, 0x1E]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_80A861C
- subs r0, 0x8
- strh r0, [r5, 0x20]
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x4
- bl sub_80A861C
- adds r0, 0x8
- b _0810FD12
- .pool
-_0810FC94:
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- bne _0810FCE8
- ldr r0, =0x0000fff6
- strh r0, [r5, 0x1C]
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x4
- bl sub_80A861C
- adds r0, 0x8
- strh r0, [r5, 0x1E]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_80A861C
- adds r0, 0x8
- strh r0, [r5, 0x20]
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x4
- bl sub_80A861C
- adds r0, 0x8
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_80A861C
- adds r0, 0x8
- b _0810FD1E
- .pool
-_0810FCE8:
- movs r0, 0xA
- strh r0, [r5, 0x1C]
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x5
- bl sub_80A861C
- subs r0, 0x8
- strh r0, [r5, 0x1E]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_80A861C
- subs r0, 0x8
- strh r0, [r5, 0x20]
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x5
- bl sub_80A861C
- subs r0, 0x8
-_0810FD12:
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_80A861C
- subs r0, 0x8
-_0810FD1E:
- strh r0, [r5, 0x24]
- movs r0, 0x6
- strh r0, [r5, 0xA]
- ldr r0, =sub_810FD3C
- str r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810FBF0
-
- thumb_func_start sub_810FD3C
-sub_810FD3C: @ 810FD3C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, =gTasks
- adds r5, r0, r1
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- cmp r1, 0
- beq _0810FD60
- cmp r1, 0x1
- beq _0810FDD4
- b _0810FDE8
- .pool
-_0810FD60:
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- ble _0810FDE8
- strh r1, [r5, 0xA]
- ldr r0, =gUnknown_08596864
- movs r2, 0x1E
- ldrsh r1, [r5, r2]
- movs r3, 0x20
- ldrsh r2, [r5, r3]
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _0810FDB4
- ldr r0, =gSprites
- lsls r4, r1, 4
- adds r4, r1
- lsls r4, 2
- adds r4, r0
- movs r0, 0x10
- strh r0, [r4, 0x2E]
- ldrh r0, [r5, 0x22]
- strh r0, [r4, 0x32]
- ldrh r0, [r5, 0x24]
- strh r0, [r4, 0x36]
- ldrh r0, [r5, 0x1C]
- strh r0, [r4, 0x38]
- adds r0, r4, 0
- bl InitAnimArcTranslation
- ldrb r0, [r5, 0xC]
- movs r1, 0x3
- ands r1, r0
- adds r0, r4, 0
- bl StartSpriteAffineAnim
-_0810FDB4:
- ldrh r0, [r5, 0xC]
- adds r0, 0x1
- strh r0, [r5, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC
- bne _0810FDE8
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _0810FDE8
- .pool
-_0810FDD4:
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x11
- ble _0810FDE8
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_0810FDE8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_810FD3C
-
- thumb_func_start sub_810FDF0
-sub_810FDF0: @ 810FDF0
- push {r4,lr}
- adds r4, r0, 0
- bl TranslateAnimArc
- lsls r0, 24
- cmp r0, 0
- beq _0810FE0E
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- adds r0, r4, 0
- bl DestroySprite
-_0810FE0E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810FDF0
-
- thumb_func_start sub_810FE14
-sub_810FE14: @ 810FE14
- push {r4-r6,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r4, r1, r0
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerYCoordWithElevation
- lsls r0, 24
- lsrs r1, r0, 24
- adds r0, r1, 0
- subs r0, 0x20
- strh r0, [r4, 0x24]
- ldr r0, =gBattleAnimArgs
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0x1
- beq _0810FE6A
- cmp r0, 0x1
- bgt _0810FE58
- cmp r0, 0
- beq _0810FE5E
- b _0810FE86
- .pool
-_0810FE58:
- cmp r0, 0x2
- beq _0810FE76
- b _0810FE86
-_0810FE5E:
- movs r0, 0x2
- strh r0, [r4, 0x1E]
- movs r0, 0x5
- strh r0, [r4, 0x20]
- movs r0, 0x40
- b _0810FE7E
-_0810FE6A:
- movs r0, 0x2
- strh r0, [r4, 0x1E]
- movs r0, 0x5
- strh r0, [r4, 0x20]
- movs r0, 0xC0
- b _0810FE7E
-_0810FE76:
- movs r0, 0x4
- strh r0, [r4, 0x1E]
- strh r0, [r4, 0x20]
- movs r0, 0
-_0810FE7E:
- strh r0, [r4, 0x22]
- adds r0, r1, 0
- adds r0, 0x20
- strh r0, [r4, 0x26]
-_0810FE86:
- movs r1, 0x24
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bge _0810FE92
- movs r0, 0
- strh r0, [r4, 0x24]
-_0810FE92:
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl sub_80A8364
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0810FEB8
- ldr r0, =gBattle_BG1_X
- ldrh r0, [r0]
- strh r0, [r4, 0x1C]
- ldr r0, =0x04000014
- b _0810FEC0
- .pool
-_0810FEB8:
- ldr r0, =gBattle_BG2_X
- ldrh r0, [r0]
- strh r0, [r4, 0x1C]
- ldr r0, =0x04000018
-_0810FEC0:
- str r0, [sp]
- ldrh r1, [r4, 0x24]
- lsls r3, r1, 16
- asrs r1, r3, 16
- movs r2, 0x24
- ldrsh r0, [r4, r2]
- adds r0, 0x40
- cmp r1, r0
- bgt _0810FEFA
- ldr r5, =gScanlineEffectRegBuffers
- movs r0, 0xF0
- lsls r0, 3
- adds r6, r5, r0
-_0810FEDA:
- asrs r3, 16
- lsls r1, r3, 1
- adds r2, r1, r5
- ldrh r0, [r4, 0x1C]
- strh r0, [r2]
- adds r1, r6
- ldrh r0, [r4, 0x1C]
- strh r0, [r1]
- adds r3, 0x1
- lsls r3, 16
- asrs r1, r3, 16
- movs r2, 0x24
- ldrsh r0, [r4, r2]
- adds r0, 0x40
- cmp r1, r0
- ble _0810FEDA
-_0810FEFA:
- ldr r0, =0xa2600001
- str r0, [sp, 0x4]
- mov r1, sp
- movs r2, 0
- movs r0, 0x1
- strb r0, [r1, 0x8]
- mov r0, sp
- strb r2, [r0, 0x9]
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- bl ScanlineEffect_SetParams
- ldr r0, =sub_810FF34
- str r0, [r4]
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810FE14
-
- thumb_func_start sub_810FF34
-sub_810FF34: @ 810FF34
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, =gTasks
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _0811000E
- cmp r0, 0x1
- bgt _0810FF60
- cmp r0, 0
- beq _0810FF66
- b _08110026
- .pool
-_0810FF60:
- cmp r0, 0x2
- beq _08110020
- b _08110026
-_0810FF66:
- ldrh r3, [r5, 0x22]
- ldrh r4, [r5, 0x24]
- movs r2, 0x24
- ldrsh r1, [r5, r2]
- movs r2, 0x26
- ldrsh r0, [r5, r2]
- cmp r1, r0
- bgt _0810FFFE
- ldr r0, =gSineTable
- mov r9, r0
- movs r7, 0x3
- ldr r1, =gScanlineEffectRegBuffers
- mov r12, r1
- movs r2, 0xF0
- lsls r2, 3
- add r2, r12
- mov r8, r2
-_0810FF88:
- lsls r2, r3, 16
- asrs r0, r2, 15
- add r0, r9
- movs r3, 0
- ldrsh r0, [r0, r3]
- movs r3, 0x20
- ldrsh r1, [r5, r3]
- asrs r0, r1
- lsls r0, 16
- lsrs r1, r0, 16
- asrs r3, r0, 16
- adds r6, r2, 0
- cmp r3, 0
- ble _0810FFB8
- ldrh r1, [r5, 0xA]
- adds r0, r7, 0
- ands r0, r1
- adds r0, r3, r0
- b _0810FFC4
- .pool
-_0810FFB8:
- cmp r3, 0
- bge _0810FFC8
- ldrh r1, [r5, 0xA]
- adds r0, r7, 0
- ands r0, r1
- subs r0, r3, r0
-_0810FFC4:
- lsls r0, 16
- lsrs r1, r0, 16
-_0810FFC8:
- lsls r2, r4, 16
- asrs r2, 16
- lsls r3, r2, 1
- mov r0, r12
- adds r4, r3, r0
- ldrh r0, [r5, 0x1C]
- lsls r1, 16
- asrs r1, 16
- adds r0, r1, r0
- strh r0, [r4]
- add r3, r8
- ldrh r0, [r5, 0x1C]
- adds r1, r0
- strh r1, [r3]
- asrs r0, r6, 16
- ldrh r1, [r5, 0x1E]
- adds r0, r1
- lsls r0, 16
- lsrs r3, r0, 16
- adds r2, 0x1
- lsls r2, 16
- lsrs r4, r2, 16
- asrs r2, 16
- movs r1, 0x26
- ldrsh r0, [r5, r1]
- cmp r2, r0
- ble _0810FF88
-_0810FFFE:
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x17
- ble _08110026
- b _08110014
-_0811000E:
- ldr r1, =gScanlineEffect
- movs r0, 0x3
- strb r0, [r1, 0x15]
-_08110014:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _08110026
- .pool
-_08110020:
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_08110026:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_810FF34
-
- thumb_func_start sub_8110034
-sub_8110034: @ 8110034
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r4, r0, 24
- mov r8, r4
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks
- adds r7, r0, r1
- bl AllocOamMatrix
- lsls r0, 24
- lsrs r5, r0, 24
- mov r10, r5
- adds r6, r5, 0
- cmp r6, 0xFF
- bne _0811006C
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- b _08110116
- .pool
-_0811006C:
- ldr r1, =gBattleAnimArgs
- ldrb r0, [r1]
- bl CloneBattlerSpriteWithBlend
- lsls r0, 16
- lsrs r1, r0, 16
- mov r9, r1
- asrs r0, 16
- cmp r0, 0
- bge _08110094
- adds r0, r5, 0
- bl FreeOamMatrix
- mov r0, r8
- bl DestroyAnimVisualTask
- b _08110116
- .pool
-_08110094:
- ldr r2, =gSprites
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- adds r0, r2, 0
- adds r0, 0x1C
- adds r0, r4, r0
- ldr r1, =SpriteCallbackDummy
- str r1, [r0]
- adds r4, r2
- ldrb r0, [r4, 0x1]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r4, 0x1]
- movs r0, 0x1F
- ands r6, r0
- lsls r2, r6, 1
- ldrb r1, [r4, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r1
- orrs r0, r2
- strb r0, [r4, 0x3]
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- adds r1, r4, 0
- adds r1, 0x43
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- mov r1, r9
- lsls r0, r1, 24
- lsrs r0, 24
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- movs r3, 0
- bl SetSpriteRotScale
- ldrb r3, [r4, 0x1]
- lsrs r1, r3, 6
- ldrb r2, [r4, 0x3]
- lsrs r2, 6
- lsls r3, 30
- lsrs r3, 30
- adds r0, r4, 0
- bl CalcCenterToCornerVec
- ldr r1, =gBattleAnimArgs
- ldrb r0, [r1]
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r7, 0x22]
- mov r0, r10
- strh r0, [r7, 0x24]
- mov r1, r9
- strh r1, [r7, 0x26]
- ldr r0, =sub_8110134
- str r0, [r7]
-_08110116:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8110034
-
- thumb_func_start sub_8110134
-sub_8110134: @ 8110134
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _081101B8
- cmp r0, 0x1
- bgt _0811015C
- cmp r0, 0
- beq _08110166
- b _08110238
- .pool
-_0811015C:
- cmp r0, 0x2
- beq _08110208
- cmp r0, 0x3
- beq _08110228
- b _08110238
-_08110166:
- ldrh r0, [r4, 0xA]
- adds r0, 0x4
- strh r0, [r4, 0xA]
- ldr r1, =gSineTable
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- lsls r1, 16
- asrs r1, 17
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- subs r0, r1
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0xC
- ldrsh r2, [r4, r1]
- adds r1, r2, 0
- movs r3, 0
- bl SetSpriteRotScale
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x22]
- lsls r1, 24
- lsrs r1, 24
- bl SetBattlerSpriteYOffsetFromOtherYScale
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0x30
- bne _08110238
- b _0811021A
- .pool
-_081101B8:
- ldrh r0, [r4, 0xA]
- subs r0, 0x4
- strh r0, [r4, 0xA]
- ldr r1, =gSineTable
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- lsls r1, 16
- asrs r1, 17
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- subs r0, r1
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0xC
- ldrsh r2, [r4, r1]
- adds r1, r2, 0
- movs r3, 0
- bl SetSpriteRotScale
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x22]
- lsls r1, 24
- lsrs r1, 24
- bl SetBattlerSpriteYOffsetFromOtherYScale
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _08110238
- b _0811021A
- .pool
-_08110208:
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl obj_delete_but_dont_free_vram
-_0811021A:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08110238
- .pool
-_08110228:
- ldrh r0, [r4, 0x24]
- lsls r0, 24
- lsrs r0, 24
- bl FreeOamMatrix
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_08110238:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8110134
-@*/
-
- thumb_func_start sub_8110240
-sub_8110240: @ 8110240
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _081102B8
- cmp r0, 0x1
- bgt _08110256
- cmp r0, 0
- beq _08110260
- b _08110360
-_08110256:
- cmp r0, 0x2
- beq _081102EA
- cmp r0, 0x3
- beq _0811034A
- b _08110360
-_08110260:
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _0811028E
- ldrh r0, [r5, 0x22]
- adds r0, 0xC
- strh r0, [r5, 0x22]
-_0811028E:
- movs r0, 0x8
- strh r0, [r5, 0x30]
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- ldrh r0, [r5, 0x30]
- movs r1, 0x10
- subs r1, r0
- lsls r1, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- b _081102E2
- .pool
-_081102B8:
- adds r0, r5, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08110360
- movs r0, 0x40
- negs r0, r0
- bl BattleAnimAdjustPanning
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0xCB
- bl PlaySE12WithPanning
- adds r0, r5, 0
- movs r1, 0x1
- bl ChangeSpriteAffineAnim
-_081102E2:
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- b _08110360
-_081102EA:
- ldrh r0, [r5, 0x32]
- adds r1, r0, 0x1
- strh r1, [r5, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _0811032E
- movs r0, 0
- strh r0, [r5, 0x32]
- ldrh r1, [r5, 0x30]
- subs r1, 0x1
- strh r1, [r5, 0x30]
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- movs r1, 0x30
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0811032E
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_0811032E:
- movs r0, 0xE0
- lsls r0, 2
- adds r2, r0, 0
- ldrh r1, [r5, 0x34]
- adds r2, r1
- lsls r1, r2, 16
- asrs r1, 24
- ldrh r0, [r5, 0x26]
- subs r0, r1
- strh r0, [r5, 0x26]
- movs r0, 0xFF
- ands r2, r0
- strh r2, [r5, 0x34]
- b _08110360
-_0811034A:
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- adds r0, r5, 0
- bl DestroyAnimSprite
-_08110360:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8110240
-
- .align 2, 0
diff --git a/asm/rom_8011DC0.s b/asm/rom_8011DC0.s
index 3e07135e6..b90c9701e 100644
--- a/asm/rom_8011DC0.s
+++ b/asm/rom_8011DC0.s
@@ -11006,7 +11006,7 @@ _0801C52C:
cmp r0, 0x1
bne _0801C5EE
ldr r0, =gUnknown_082F1D00
- bl LoadCompressedObjectPicUsingHeap
+ bl LoadCompressedSpriteSheetUsingHeap
ldr r0, [r4]
movs r2, 0xB8
lsls r2, 1
@@ -14596,7 +14596,7 @@ _0801E1B4:
movs r0, 0x5
bl PlaySE
movs r0, 0x1
- bl MoveMenuCursor
+ bl Menu_MoveCursor
b _0801E23A
.pool
_0801E1D4:
@@ -19425,7 +19425,7 @@ sub_8020890: @ 8020890
ldr r4, =gUnknown_082F3134
_08020896:
adds r0, r4, 0
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
adds r4, 0x8
adds r5, 0x1
cmp r5, 0x4
@@ -23100,7 +23100,7 @@ sub_8022730: @ 8022730
_08022746:
lsls r0, r5, 3
adds r0, r4
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
adds r0, r5, 0x1
lsls r0, 24
lsrs r5, r0, 24
@@ -43324,7 +43324,7 @@ sub_802C974: @ 802C974
ldr r5, =gUnknown_082FBE08
_0802C97C:
adds r0, r5, 0
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
adds r5, 0x8
adds r4, 0x1
cmp r4, 0x4
@@ -43447,7 +43447,7 @@ _0802CA32:
ands r1, r5
orrs r1, r4
str r1, [r0, 0x4]
- bl LoadCompressedObjectPalette
+ bl LoadCompressedSpritePalette
mov r0, r8
bl Free
mov r0, r10
@@ -47113,7 +47113,7 @@ sub_802E75C: @ 802E75C
lsls r0, 3
ldr r1, =gUnknown_082FE6C8
adds r0, r1
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
movs r2, 0x8
ldrsh r0, [r4, r2]
lsls r0, 3
@@ -48126,7 +48126,7 @@ sub_802EF50: @ 802EF50
orrs r0, r1
str r0, [r4, 0x4]
mov r0, sp
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
adds r0, r4, 0
bl LoadSpritePalette
add sp, 0x10
diff --git a/asm/roulette.s b/asm/roulette.s
index 1552ba4fe..4174924e6 100644
--- a/asm/roulette.s
+++ b/asm/roulette.s
@@ -4865,11 +4865,11 @@ sub_8142C0C: @ 8142C0C
ldr r0, =gUnknown_085B7384
bl LoadSpritePalettes
ldr r0, =gUnknown_085B7864
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
ldr r0, =gUnknown_085B7978
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
ldr r0, =gUnknown_085B7A40
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
b _08142C5A
.pool
_08142C44:
diff --git a/asm/trade.s b/asm/trade.s
index e701df67e..dd5ff89c5 100644
--- a/asm/trade.s
+++ b/asm/trade.s
@@ -656,7 +656,7 @@ _0807AD94:
_0807ADB2:
mov r0, r8
bl GetMonSpritePalStruct
- bl LoadCompressedObjectPalette
+ bl LoadCompressedSpritePalette
ldr r0, =gUnknown_020322A0
ldr r1, [r0]
adds r0, r1, 0
diff --git a/asm/trainer_card.s b/asm/trainer_card.s
index e0cb5e21e..10e4d6d8f 100644
--- a/asm/trainer_card.s
+++ b/asm/trainer_card.s
@@ -6952,10 +6952,10 @@ sub_80C62DC: @ 80C62DC
bl LoadSpritePalettes
ldr r4, =gUnknown_085714BC
adds r0, r4, 0
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
adds r4, 0x10
adds r0, r4, 0
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
ldr r0, =gUnknown_085715B4
ldr r1, =gUnknown_02039CEC
ldr r2, [r1]
@@ -7706,7 +7706,7 @@ sub_80C6974: @ 80C6974
bl LoadSpritePalettes
ldr r6, =gUnknown_085714BC
adds r0, r6, 0
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
ldr r0, =gUnknown_085715B4
mov r8, r0
ldr r4, =gUnknown_02039CF4
@@ -7747,7 +7747,7 @@ sub_80C6974: @ 80C6974
bl StartSpriteAnim
adds r6, 0x8
adds r0, r6, 0
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
movs r3, 0x18
add r8, r3
ldr r6, =gUnknown_08571650
@@ -7875,7 +7875,7 @@ _080C6AEE:
lsrs r4, r0, 16
_080C6AF2:
ldr r0, =gUnknown_085714D4
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
mov r1, sp
ldr r0, =gUnknown_085715FC
ldm r0!, {r2,r3,r6}
diff --git a/asm/use_pokeblock.s b/asm/use_pokeblock.s
index d294a2fae..d2d4913b1 100644
--- a/asm/use_pokeblock.s
+++ b/asm/use_pokeblock.s
@@ -3273,7 +3273,7 @@ sub_8168248: @ 8168248
orrs r0, r1
str r0, [sp, 0x4]
mov r0, sp
- bl LoadCompressedObjectPic
+ bl LoadCompressedSpriteSheet
add r0, sp, 0x8
bl LoadSpritePalette
add sp, 0x10
diff --git a/asm/water.s b/asm/water.s
deleted file mode 100644
index 693aceddd..000000000
--- a/asm/water.s
+++ /dev/null
@@ -1,3607 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start AnimTask_CreateRaindrops
-AnimTask_CreateRaindrops: @ 8107188
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _081071B0
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- strh r0, [r5, 0xA]
- ldrh r0, [r1, 0x2]
- strh r0, [r5, 0xC]
- ldrh r0, [r1, 0x4]
- strh r0, [r5, 0xE]
-_081071B0:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r2, 0x8
- ldrsh r0, [r5, r2]
- movs r2, 0xC
- ldrsh r1, [r5, r2]
- bl __modsi3
- cmp r0, 0x1
- bne _081071F8
- bl Random2
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xF0
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl Random2
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x50
- bl __umodsi3
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- ldr r0, =gUnknown_08595020
- adds r1, r4, 0
- movs r3, 0x4
- bl CreateSprite
-_081071F8:
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- movs r2, 0xE
- ldrsh r0, [r5, r2]
- cmp r1, r0
- bne _0810720A
- adds r0, r6, 0
- bl DestroyAnimVisualTask
-_0810720A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AnimTask_CreateRaindrops
-
- thumb_func_start sub_810721C
-sub_810721C: @ 810721C
- ldr r1, =sub_8107228
- str r1, [r0, 0x1C]
- bx lr
- .pool
- thumb_func_end sub_810721C
-
- thumb_func_start sub_8107228
-sub_8107228: @ 8107228
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xD
- bgt _08107246
- ldrh r0, [r2, 0x24]
- adds r0, 0x1
- strh r0, [r2, 0x24]
- ldrh r0, [r2, 0x26]
- adds r0, 0x4
- strh r0, [r2, 0x26]
-_08107246:
- adds r0, r2, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0810725A
- adds r0, r2, 0
- bl DestroySprite
-_0810725A:
- pop {r0}
- bx r0
- thumb_func_end sub_8107228
-
- thumb_func_start sub_8107260
-sub_8107260: @ 8107260
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r5, =gBattleAnimAttacker
- ldrb r0, [r5]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08107290
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldr r4, =gBattleAnimArgs
- ldrh r1, [r4]
- subs r0, r1
- b _081072A2
- .pool
-_08107290:
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- ldr r4, =gBattleAnimArgs
- lsrs r0, 24
- ldrh r1, [r4]
- adds r0, r1
-_081072A2:
- strh r0, [r6, 0x20]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r4, [r4, 0x2]
- adds r0, r4
- strh r0, [r6, 0x22]
- adds r2, r6, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _081072D8
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_081072D8:
- ldr r5, =gBattleAnimArgs
- ldrh r0, [r5, 0xC]
- strh r0, [r6, 0x2E]
- ldrh r0, [r6, 0x20]
- strh r0, [r6, 0x30]
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x32]
- ldrh r0, [r6, 0x22]
- strh r0, [r6, 0x34]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x36]
- adds r0, r6, 0
- bl InitAnimLinearTranslation
- ldr r0, =SpriteCallbackDummy
- bl CreateInvisibleSpriteWithCallback
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- strh r4, [r6, 0x38]
- ldrb r0, [r5, 0x8]
- movs r2, 0x4
- ldrsh r1, [r5, r2]
- bl Sin
- ldrh r1, [r6, 0x20]
- subs r1, r0
- strh r1, [r6, 0x20]
- ldrb r0, [r5, 0x8]
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- bl Cos
- ldrh r1, [r6, 0x22]
- subs r1, r0
- strh r1, [r6, 0x22]
- ldr r0, =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r5, 0x4]
- strh r0, [r1, 0x2E]
- ldrh r0, [r5, 0x6]
- strh r0, [r1, 0x30]
- ldrh r0, [r5, 0xA]
- strh r0, [r1, 0x32]
- ldrb r0, [r5, 0x8]
- lsls r0, 8
- strh r0, [r1, 0x34]
- ldrh r0, [r5, 0xC]
- strh r0, [r1, 0x36]
- ldr r1, =sub_8107380
- str r1, [r6, 0x1C]
- adds r0, r6, 0
- bl _call_via_r1
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8107260
-
- thumb_func_start sub_8107380
-sub_8107380: @ 8107380
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r5, r0, 0
- ldrh r1, [r5, 0x38]
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r7, r0, r2
- ldrh r4, [r7, 0x36]
- lsls r4, 24
- lsrs r4, 24
- ldrh r0, [r7, 0x34]
- mov r8, r0
- movs r0, 0x1
- strh r0, [r5, 0x2E]
- adds r0, r5, 0
- bl TranslateAnimLinear
- mov r1, r8
- lsrs r6, r1, 8
- movs r0, 0x2E
- ldrsh r1, [r7, r0]
- adds r0, r6, 0
- bl Sin
- ldrh r1, [r5, 0x24]
- adds r0, r1
- strh r0, [r5, 0x24]
- movs r0, 0x30
- ldrsh r1, [r7, r0]
- adds r0, r6, 0
- bl Cos
- ldrh r1, [r5, 0x26]
- adds r0, r1
- strh r0, [r5, 0x26]
- ldrh r0, [r7, 0x32]
- mov r1, r8
- adds r1, r0
- strh r1, [r7, 0x34]
- subs r4, 0x1
- lsls r4, 24
- lsrs r4, 24
- cmp r4, 0
- beq _081073EC
- strh r4, [r7, 0x36]
- b _081073F6
- .pool
-_081073EC:
- ldr r0, =sub_8107408
- str r0, [r5, 0x1C]
- adds r0, r7, 0
- bl DestroySprite
-_081073F6:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8107380
-
- thumb_func_start sub_8107408
-sub_8107408: @ 8107408
- push {lr}
- adds r3, r0, 0
- adds r3, 0x2C
- ldrb r2, [r3]
- movs r1, 0x41
- negs r1, r1
- ands r1, r2
- strb r1, [r3]
- ldr r1, =RunStoredCallbackWhenAnimEnds
- str r1, [r0, 0x1C]
- ldr r1, =sub_8107430
- bl StoreSpriteCallbackInData6
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8107408
-
- thumb_func_start sub_8107430
-sub_8107430: @ 8107430
- push {lr}
- movs r1, 0xA
- strh r1, [r0, 0x2E]
- ldr r1, =WaitAnimForDuration
- str r1, [r0, 0x1C]
- ldr r1, =DestroySpriteAndMatrix
- bl StoreSpriteCallbackInData6
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8107430
-
- thumb_func_start sub_810744C
-sub_810744C: @ 810744C
- push {r4-r7,lr}
- adds r5, r0, 0
- movs r1, 0x1
- bl InitAnimSpritePos
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810747C
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- negs r0, r0
- lsls r0, 16
- lsrs r6, r0, 16
- adds r7, r1, 0
- b _08107482
- .pool
-_0810747C:
- ldr r0, =gBattleAnimArgs
- ldrh r6, [r0, 0x4]
- adds r7, r0, 0
-_08107482:
- ldrh r0, [r7, 0x8]
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x20]
- strh r0, [r5, 0x30]
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r0, r6
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x22]
- strh r0, [r5, 0x34]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r7, [r7, 0x6]
- adds r0, r7
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- bl InitAnimLinearTranslation
- ldr r0, =sub_81074E4
- str r0, [r5, 0x1C]
- adds r2, r5, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- ldr r1, [r5, 0x1C]
- adds r0, r5, 0
- bl _call_via_r1
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810744C
-
- thumb_func_start sub_81074E4
-sub_81074E4: @ 81074E4
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r0, 0xE]
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _08107506
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
-_08107506:
- adds r0, r4, 0
- bl TranslateAnimLinear
- lsls r0, 24
- cmp r0, 0
- beq _08107518
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08107518:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81074E4
-
- thumb_func_start sub_8107528
-sub_8107528: @ 8107528
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0]
- strh r0, [r4, 0x8]
- ldr r0, =0x0000279c
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 20
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- strh r0, [r4, 0xC]
- ldr r0, =sub_810756C
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8107528
-
- thumb_func_start sub_810756C
-sub_810756C: @ 810756C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r1
- ldrh r0, [r2, 0x1C]
- adds r0, 0x1
- strh r0, [r2, 0x1C]
- lsls r0, 16
- asrs r0, 16
- mov r12, r1
- cmp r0, 0x3
- bne _081075BE
- movs r0, 0
- strh r0, [r2, 0x1C]
- ldrh r0, [r2, 0xC]
- adds r0, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r1, =gPlttBufferFaded
- lsls r0, r5, 1
- adds r0, r1
- ldrh r6, [r0]
- adds r7, r1, 0
- adds r3, r0, 0x2
- movs r1, 0x6
- adds r2, r0, 0
-_081075A8:
- ldrh r0, [r3]
- strh r0, [r2]
- adds r3, 0x2
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _081075A8
- adds r0, r5, 0x7
- lsls r0, 1
- adds r0, r7
- strh r6, [r0]
-_081075BE:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- add r0, r12
- ldrh r1, [r0, 0x1E]
- adds r1, 0x1
- strh r1, [r0, 0x1E]
- lsls r1, 16
- asrs r1, 16
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- cmp r1, r0
- bne _081075DE
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_081075DE:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810756C
-
- thumb_func_start sub_81075EC
-sub_81075EC: @ 81075EC
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x1
- bl InitAnimSpritePos
- movs r0, 0x1E
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x20]
- strh r0, [r5, 0x30]
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x22]
- strh r0, [r5, 0x34]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- bl InitAnimLinearTranslation
- movs r0, 0x2E
- ldrsh r1, [r5, r0]
- movs r0, 0xD2
- lsls r0, 8
- bl __divsi3
- strh r0, [r5, 0x38]
- ldr r0, =gBattleAnimArgs
- ldrh r2, [r0, 0x6]
- strh r2, [r5, 0x3C]
- ldrh r1, [r0, 0xE]
- movs r3, 0xE
- ldrsh r0, [r0, r3]
- cmp r0, 0x7F
- ble _0810765C
- adds r0, r1, 0
- subs r0, 0x7F
- lsls r0, 8
- strh r0, [r5, 0x3A]
- negs r0, r2
- strh r0, [r5, 0x3C]
- b _08107660
- .pool
-_0810765C:
- lsls r0, r1, 8
- strh r0, [r5, 0x3A]
-_08107660:
- ldr r1, =sub_8107674
- str r1, [r5, 0x1C]
- adds r0, r5, 0
- bl _call_via_r1
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81075EC
-
- thumb_func_start sub_8107674
-sub_8107674: @ 8107674
- push {r4,lr}
- adds r4, r0, 0
- bl TranslateAnimLinear
- lsls r0, 24
- cmp r0, 0
- beq _08107688
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08107688:
- ldrh r0, [r4, 0x3A]
- lsls r0, 16
- asrs r0, 24
- movs r2, 0x3C
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- adds r0, r1
- asrs r0, 8
- cmp r0, 0x7F
- ble _081076B8
- movs r0, 0
- strh r0, [r4, 0x3A]
- ldrh r0, [r4, 0x3C]
- negs r0, r0
- strh r0, [r4, 0x3C]
- b _081076C0
-_081076B8:
- ldrh r0, [r4, 0x38]
- ldrh r1, [r4, 0x3A]
- adds r0, r1
- strh r0, [r4, 0x3A]
-_081076C0:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8107674
-
- thumb_func_start sub_81076C8
-sub_81076C8: @ 81076C8
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r3, =gBattleAnimArgs
- ldrh r0, [r3]
- movs r2, 0
- strh r0, [r1, 0x8]
- strh r2, [r3, 0xE]
- ldr r0, =sub_81076F4
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81076C8
-
- thumb_func_start sub_81076F4
-sub_81076F4: @ 81076F4
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, =gBattleAnimArgs
- ldrh r0, [r2, 0xE]
- adds r0, 0x3
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r2, 0xE]
- ldr r1, =gTasks
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x8]
- subs r1, 0x1
- strh r1, [r0, 0x8]
- lsls r1, 16
- cmp r1, 0
- bne _08107722
- adds r0, r3, 0
- bl DestroyAnimVisualTask
-_08107722:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81076F4
-
- thumb_func_start sub_8107730
-sub_8107730: @ 8107730
- push {r4-r7,lr}
- adds r4, r0, 0
- ldr r7, =gBattleAnimAttacker
- ldrb r0, [r7]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x20]
- ldrb r0, [r7]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x22]
- ldr r6, =0x0000fff6
- strh r6, [r4, 0x26]
- ldrb r0, [r7]
- bl GetBattlerSpriteSubpriority
- lsls r0, 24
- lsrs r5, r0, 24
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0810778A
- ldrb r0, [r7]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08107784
- movs r0, 0xA
- strh r0, [r4, 0x24]
- b _0810778C
- .pool
-_08107784:
- strh r6, [r4, 0x24]
- subs r0, r5, 0x2
- b _0810778E
-_0810778A:
- strh r6, [r4, 0x24]
-_0810778C:
- adds r0, r5, 0x2
-_0810778E:
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- ldr r0, =sub_81077A4
- str r0, [r4, 0x1C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8107730
-
- thumb_func_start sub_81077A4
-sub_81077A4: @ 81077A4
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _081077BA
- adds r0, r2, 0
- bl DestroyAnimSprite
-_081077BA:
- pop {r0}
- bx r0
- thumb_func_end sub_81077A4
-
- thumb_func_start sub_81077C0
-sub_81077C0: @ 81077C0
- push {r4-r7,lr}
- adds r6, r0, 0
- ldr r5, =gBattleAnimAttacker
- ldrb r0, [r5]
- bl GetBattlerSide
- adds r4, r0, 0
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _0810780A
- ldr r4, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r4, r1]
- negs r0, r0
- strh r0, [r4]
- ldrb r0, [r5]
- bl GetBattlerPosition
- lsls r0, 24
- cmp r0, 0
- beq _08107802
- ldrb r0, [r5]
- bl GetBattlerPosition
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0810780A
-_08107802:
- movs r1, 0
- ldrsh r0, [r4, r1]
- negs r0, r0
- strh r0, [r4]
-_0810780A:
- ldr r5, =gBattleAnimArgs
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- movs r1, 0
- cmp r0, 0
- bne _0810781E
- movs r1, 0x1
-_0810781E:
- ldrb r0, [r5, 0xA]
- movs r7, 0x1
- cmp r0, 0
- bne _08107828
- movs r7, 0x3
-_08107828:
- adds r0, r6, 0
- bl InitAnimSpritePos
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _08107842
- ldrh r0, [r5, 0x4]
- negs r0, r0
- strh r0, [r5, 0x4]
-_08107842:
- ldrh r0, [r5, 0x8]
- strh r0, [r6, 0x2E]
- ldr r4, =gBattleAnimTarget
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x4]
- adds r0, r1
- strh r0, [r6, 0x32]
- ldrb r0, [r4]
- adds r1, r7, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- ldrh r5, [r5, 0x6]
- adds r0, r5
- strh r0, [r6, 0x36]
- ldr r0, =StartAnimLinearTranslation
- str r0, [r6, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r6, 0
- bl StoreSpriteCallbackInData6
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81077C0
-
- thumb_func_start sub_8107894
-sub_8107894: @ 8107894
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80A6980
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r0, 0x8]
- strh r1, [r4, 0x2E]
- ldrh r0, [r0, 0x4]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x22]
- adds r1, r0
- strh r1, [r4, 0x36]
- ldr r0, =StartAnimLinearTranslation
- str r0, [r4, 0x1C]
- ldr r1, =DestroyAnimSprite
- adds r0, r4, 0
- bl StoreSpriteCallbackInData6
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8107894
-
- thumb_func_start sub_81078D0
-sub_81078D0: @ 81078D0
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0x6
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _081078EC
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80A6980
- b _081078F4
- .pool
-_081078EC:
- adds r0, r4, 0
- movs r1, 0x1
- bl InitAnimSpritePos
-_081078F4:
- ldr r0, =gBattleAnimArgs
- ldrh r0, [r0, 0x4]
- strh r0, [r4, 0x3C]
- ldr r0, =sub_810790C
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81078D0
-
- thumb_func_start sub_810790C
-sub_810790C: @ 810790C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0xB
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x2E]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0x4
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x30]
- adds r0, 0x30
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 24
- negs r0, r0
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x3C]
- subs r0, 0x1
- strh r0, [r4, 0x3C]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _0810794C
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810794C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810790C
-
- thumb_func_start AnimTask_CreateSurfWave
-AnimTask_CreateSurfWave: @ 8107954
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r1, =0x00003f42
- movs r0, 0x50
- bl SetGpuReg
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0x1
- movs r1, 0x4
- movs r2, 0x1
- bl SetAnimBgAttribute
- movs r0, 0x1
- movs r1, 0
- movs r2, 0x1
- bl SetAnimBgAttribute
- mov r0, sp
- bl sub_80A6B30
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _081079E0
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0x1
- bl SetAnimBgAttribute
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081079D0
- mov r0, sp
- ldrb r0, [r0, 0x9]
- ldr r1, =gUnknown_08D95E00
- bl sub_80A6D48
- b _081079EA
- .pool
-_081079D0:
- mov r0, sp
- ldrb r0, [r0, 0x9]
- ldr r1, =gUnknown_08D960D0
- bl sub_80A6D48
- b _081079EA
- .pool
-_081079E0:
- ldr r1, =gUnknown_08D963A4
- mov r0, sp
- movs r2, 0x1
- bl sub_80A6D60
-_081079EA:
- mov r0, sp
- ldrb r0, [r0, 0x9]
- ldr r1, =gBattleAnimBackgroundImage_Surf
- mov r2, sp
- ldrh r2, [r2, 0xA]
- bl sub_80A6CC0
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _08107A24
- ldr r0, =gBattleAnimBackgroundPalette_Surf
- mov r1, sp
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- movs r2, 0x20
- bl LoadCompressedPalette
- b _08107A32
- .pool
-_08107A24:
- ldr r0, =gBattleAnimBackgroundImageMuddyWater_Pal
- mov r1, sp
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- movs r2, 0x20
- bl LoadCompressedPalette
-_08107A32:
- ldr r0, =sub_8107D58
- ldr r4, =gTasks
- mov r2, r10
- lsls r5, r2, 2
- adds r1, r5, r2
- lsls r1, 3
- adds r6, r1, r4
- ldrb r1, [r6, 0x7]
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r0, 0
- mov r9, r0
- mov r1, r8
- strh r1, [r6, 0x26]
- mov r2, r8
- lsls r0, r2, 2
- add r0, r8
- lsls r0, 3
- adds r7, r0, r4
- mov r0, r9
- strh r0, [r7, 0x8]
- movs r0, 0x80
- lsls r0, 5
- strh r0, [r7, 0xA]
- strh r0, [r7, 0xC]
- bl IsContest
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _08107AB4
- ldr r1, =0x0000ffb0
- adds r0, r1, 0
- ldr r2, =gBattle_BG1_X
- strh r0, [r2]
- adds r1, 0x20
- adds r0, r1, 0
- ldr r2, =gBattle_BG1_Y
- strh r0, [r2]
- movs r0, 0x2
- strh r0, [r6, 0x8]
- movs r0, 0x1
- strh r0, [r6, 0xA]
- mov r0, r9
- strh r0, [r7, 0xE]
- b _08107B0E
- .pool
-_08107AB4:
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1
- bne _08107AF8
- ldr r2, =0x0000ff20
- adds r0, r2, 0
- ldr r2, =gBattle_BG1_X
- strh r0, [r2]
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- ldr r2, =gBattle_BG1_Y
- strh r0, [r2]
- movs r0, 0x2
- strh r0, [r6, 0x8]
- ldr r0, =0x0000ffff
- strh r0, [r6, 0xA]
- strh r1, [r7, 0xE]
- b _08107B0E
- .pool
-_08107AF8:
- ldr r0, =gBattle_BG1_X
- strh r4, [r0]
- ldr r1, =0x0000ffd0
- adds r0, r1, 0
- ldr r2, =gBattle_BG1_Y
- strh r0, [r2]
- ldr r0, =0x0000fffe
- strh r0, [r6, 0x8]
- movs r0, 0x1
- strh r0, [r6, 0xA]
- strh r4, [r7, 0xE]
-_08107B0E:
- ldr r0, =gBattle_BG1_X
- ldrh r1, [r0]
- movs r0, 0x14
- bl SetGpuReg
- ldr r2, =gBattle_BG1_Y
- ldrh r1, [r2]
- movs r0, 0x16
- bl SetGpuReg
- ldr r1, =gTasks
- mov r2, r8
- lsls r0, r2, 2
- add r0, r8
- lsls r0, 3
- adds r1, r0, r1
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _08107B54
- movs r0, 0x30
- strh r0, [r1, 0x10]
- movs r0, 0x70
- b _08107B58
- .pool
-_08107B54:
- movs r0, 0
- strh r0, [r1, 0x10]
-_08107B58:
- strh r0, [r1, 0x12]
- ldr r1, =gTasks
- mov r2, r10
- adds r0, r5, r2
- lsls r0, 3
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0, 0x14]
- ldr r1, =sub_8107B84
- str r1, [r0]
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AnimTask_CreateSurfWave
-
- thumb_func_start sub_8107B84
-sub_8107B84: @ 8107B84
- push {r4-r7,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gBattle_BG1_X
- ldr r2, =gBattle_BG1_Y
- ldr r0, =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- ldrh r0, [r4, 0x8]
- ldrh r3, [r1]
- adds r0, r3
- strh r0, [r1]
- ldrh r0, [r4, 0xA]
- ldrh r1, [r2]
- adds r0, r1
- strh r0, [r2]
- mov r0, sp
- bl sub_80A6B30
- ldrh r0, [r4, 0xA]
- ldrh r3, [r4, 0xC]
- adds r0, r3
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bne _08107C18
- ldr r1, =gPlttBufferFaded
- mov r0, sp
- ldrb r0, [r0, 0x8]
- lsls r0, 4
- adds r0, 0x7
- lsls r0, 1
- adds r0, r1
- ldrh r6, [r0]
- movs r2, 0x6
- adds r7, r1, 0
- adds r3, r7, 0
- mov r4, sp
-_08107BDE:
- ldrb r0, [r4, 0x8]
- lsls r0, 4
- adds r1, r2, 0x1
- adds r0, r1
- lsls r1, r0, 1
- adds r1, r3
- subs r0, 0x1
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- strh r0, [r1]
- subs r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _08107BDE
- mov r0, sp
- ldrb r0, [r0, 0x8]
- lsls r0, 4
- adds r0, 0x1
- lsls r0, 1
- adds r0, r7
- strh r6, [r0]
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r2, [r0, 0x12]
-_08107C18:
- ldr r1, =gTasks
- lsls r2, r5, 2
- adds r0, r2, r5
- lsls r0, 3
- adds r3, r0, r1
- ldrh r0, [r3, 0x14]
- adds r0, 0x1
- strh r0, [r3, 0x14]
- lsls r0, 16
- asrs r0, 16
- adds r4, r1, 0
- adds r6, r2, 0
- cmp r0, 0x1
- ble _08107C86
- movs r0, 0
- strh r0, [r3, 0x14]
- ldrh r0, [r3, 0xE]
- adds r2, r0, 0x1
- strh r2, [r3, 0xE]
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, 0xD
- bgt _08107C62
- movs r1, 0x26
- ldrsh r0, [r3, r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r4
- movs r0, 0x10
- subs r0, r2
- lsls r0, 8
- orrs r2, r0
- strh r2, [r1, 0xA]
- ldrh r0, [r3, 0x10]
- adds r0, 0x1
- strh r0, [r3, 0x10]
-_08107C62:
- movs r1, 0xE
- ldrsh r0, [r3, r1]
- cmp r0, 0x36
- ble _08107C86
- ldrh r2, [r3, 0x10]
- subs r2, 0x1
- strh r2, [r3, 0x10]
- movs r1, 0x26
- ldrsh r0, [r3, r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r4
- movs r0, 0x10
- subs r0, r2
- lsls r0, 8
- orrs r2, r0
- strh r2, [r1, 0xA]
-_08107C86:
- adds r0, r6, r5
- lsls r0, 3
- adds r2, r0, r4
- movs r3, 0x26
- ldrsh r1, [r2, r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- ldrh r0, [r0, 0xA]
- movs r3, 0x1F
- ands r3, r0
- cmp r3, 0
- bne _08107CA8
- strh r3, [r2, 0x8]
- ldr r0, =sub_8107CC4
- str r0, [r2]
-_08107CA8:
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8107B84
-
- thumb_func_start sub_8107CC4
-sub_8107CC4: @ 8107CC4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r7, =gBattle_BG1_X
- ldr r0, =gBattle_BG1_Y
- mov r8, r0
- ldr r6, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r6
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08107D08
- movs r0, 0x1
- bl sub_80A6C68
- movs r0, 0x2
- bl sub_80A6C68
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08107D4A
- .pool
-_08107D08:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _08107D1C
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0
- bl SetAnimBgAttribute
-_08107D1C:
- movs r0, 0
- strh r0, [r7]
- mov r1, r8
- strh r0, [r1]
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- ldr r1, =0x0000ffff
- strh r1, [r0, 0x26]
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_08107D4A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8107CC4
-
- thumb_func_start sub_8107D58
-sub_8107D58: @ 8107D58
- push {r4-r7,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _08107D74
- b _08107EAC
-_08107D74:
- cmp r0, 0x1
- bgt _08107D84
- cmp r0, 0
- beq _08107D8C
- b _08108022
- .pool
-_08107D84:
- cmp r0, 0x2
- bne _08107D8A
- b _08107F78
-_08107D8A:
- b _08108022
-_08107D8C:
- movs r3, 0
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- ldr r1, =gScanlineEffectRegBuffers
- mov r12, r1
- cmp r3, r0
- bge _08107DCA
- mov r7, r12
- movs r5, 0xF0
- lsls r5, 3
- add r5, r12
- ldr r6, =0x0000ffff
-_08107DA4:
- lsls r2, r3, 16
- asrs r2, 16
- lsls r1, r2, 1
- adds r3, r1, r7
- adds r1, r5
- ldrh r0, [r4, 0xC]
- strh r0, [r1]
- ldrh r1, [r4, 0xC]
- adds r0, r6, 0
- ands r0, r1
- strh r0, [r3]
- adds r2, 0x1
- lsls r2, 16
- lsrs r3, r2, 16
- asrs r2, 16
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r2, r0
- blt _08107DA4
-_08107DCA:
- ldrh r3, [r4, 0x10]
- lsls r2, r3, 16
- asrs r1, r2, 16
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bge _08107E04
- ldr r5, =gScanlineEffectRegBuffers
- movs r0, 0xF0
- lsls r0, 3
- adds r6, r5, r0
- ldr r7, =0x0000ffff
-_08107DE2:
- asrs r2, 16
- lsls r1, r2, 1
- adds r3, r1, r5
- adds r1, r6
- ldrh r0, [r4, 0xA]
- strh r0, [r1]
- ldrh r1, [r4, 0xA]
- adds r0, r7, 0
- ands r0, r1
- strh r0, [r3]
- adds r2, 0x1
- lsls r2, 16
- asrs r1, r2, 16
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- blt _08107DE2
-_08107E04:
- ldrh r3, [r4, 0x12]
- lsls r2, r3, 16
- asrs r0, r2, 16
- cmp r0, 0x9F
- bgt _08107E3A
- ldr r5, =gScanlineEffectRegBuffers
- movs r0, 0xF0
- lsls r0, 3
- adds r6, r5, r0
- ldr r7, =0x0000ffff
-_08107E18:
- asrs r2, 16
- lsls r1, r2, 1
- adds r3, r1, r5
- adds r1, r6
- ldrh r0, [r4, 0xC]
- strh r0, [r1]
- ldrh r1, [r4, 0xC]
- adds r0, r7, 0
- ands r0, r1
- strh r0, [r3]
- adds r2, 0x1
- lsls r2, 16
- lsrs r3, r2, 16
- lsls r2, r3, 16
- asrs r0, r2, 16
- cmp r0, 0x9F
- ble _08107E18
-_08107E3A:
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08107E64
- lsls r0, r3, 16
- asrs r0, 15
- mov r3, r12
- adds r2, r0, r3
- movs r1, 0xF0
- lsls r1, 3
- add r1, r12
- adds r0, r1
- ldrh r1, [r4, 0xA]
- strh r1, [r0]
- ldrh r0, [r4, 0xA]
- b _08107E7A
- .pool
-_08107E64:
- lsls r0, r3, 16
- asrs r0, 15
- mov r1, r12
- adds r2, r0, r1
- movs r1, 0xF0
- lsls r1, 3
- add r1, r12
- adds r0, r1
- ldrh r1, [r4, 0xC]
- strh r1, [r0]
- ldrh r0, [r4, 0xC]
-_08107E7A:
- strh r0, [r2]
- ldr r0, =0x04000052
- str r0, [sp]
- ldr r0, =0xa2600001
- str r0, [sp, 0x4]
- mov r1, sp
- movs r2, 0
- movs r0, 0x1
- strb r0, [r1, 0x8]
- mov r0, sp
- strb r2, [r0, 0x9]
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- bl ScanlineEffect_SetParams
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08108022
- .pool
-_08107EAC:
- movs r2, 0xE
- ldrsh r1, [r4, r2]
- cmp r1, 0
- bne _08107EC4
- ldrh r0, [r4, 0x10]
- subs r0, 0x1
- strh r0, [r4, 0x10]
- lsls r0, 16
- cmp r0, 0
- bgt _08107ED8
- strh r1, [r4, 0x10]
- b _08107ED2
-_08107EC4:
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6F
- ble _08107ED8
-_08107ED2:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08107ED8:
- movs r3, 0
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r3, r0
- bge _08107F0C
- ldr r6, =gScanlineEffectRegBuffers
- ldr r5, =gScanlineEffect
-_08107EE6:
- lsls r1, r3, 16
- asrs r1, 16
- lsls r3, r1, 1
- ldrb r2, [r5, 0x14]
- lsls r0, r2, 4
- subs r0, r2
- lsls r0, 7
- adds r3, r0
- adds r3, r6
- ldrh r0, [r4, 0xC]
- strh r0, [r3]
- adds r1, 0x1
- lsls r1, 16
- lsrs r3, r1, 16
- asrs r1, 16
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- cmp r1, r0
- blt _08107EE6
-_08107F0C:
- ldrh r3, [r4, 0x10]
- lsls r2, r3, 16
- asrs r1, r2, 16
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bge _08107F40
- ldr r6, =gScanlineEffectRegBuffers
- ldr r5, =gScanlineEffect
-_08107F1E:
- asrs r3, r2, 16
- lsls r2, r3, 1
- ldrb r1, [r5, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r6
- ldrh r0, [r4, 0xA]
- strh r0, [r2]
- adds r3, 0x1
- lsls r2, r3, 16
- asrs r1, r2, 16
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- blt _08107F1E
-_08107F40:
- ldrh r3, [r4, 0x12]
- lsls r1, r3, 16
- asrs r0, r1, 16
- cmp r0, 0x9F
- bgt _08108022
- ldr r6, =gScanlineEffectRegBuffers
- ldr r5, =gScanlineEffect
-_08107F4E:
- asrs r3, r1, 16
- lsls r2, r3, 1
- ldrb r1, [r5, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r6
- ldrh r0, [r4, 0xC]
- strh r0, [r2]
- adds r3, 0x1
- lsls r1, r3, 16
- asrs r0, r1, 16
- cmp r0, 0x9F
- ble _08107F4E
- b _08108022
- .pool
-_08107F78:
- movs r3, 0
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r3, r0
- bge _08107FAC
- ldr r6, =gScanlineEffectRegBuffers
- ldr r5, =gScanlineEffect
-_08107F86:
- lsls r1, r3, 16
- asrs r1, 16
- lsls r3, r1, 1
- ldrb r2, [r5, 0x14]
- lsls r0, r2, 4
- subs r0, r2
- lsls r0, 7
- adds r3, r0
- adds r3, r6
- ldrh r0, [r4, 0xC]
- strh r0, [r3]
- adds r1, 0x1
- lsls r1, 16
- lsrs r3, r1, 16
- asrs r1, 16
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- cmp r1, r0
- blt _08107F86
-_08107FAC:
- ldrh r3, [r4, 0x10]
- lsls r2, r3, 16
- asrs r1, r2, 16
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bge _08107FE0
- ldr r6, =gScanlineEffectRegBuffers
- ldr r5, =gScanlineEffect
-_08107FBE:
- asrs r3, r2, 16
- lsls r2, r3, 1
- ldrb r1, [r5, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r6
- ldrh r0, [r4, 0xA]
- strh r0, [r2]
- adds r3, 0x1
- lsls r2, r3, 16
- asrs r1, r2, 16
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- blt _08107FBE
-_08107FE0:
- ldrh r3, [r4, 0x12]
- lsls r1, r3, 16
- asrs r0, r1, 16
- cmp r0, 0x9F
- bgt _0810800C
- ldr r6, =gScanlineEffectRegBuffers
- ldr r5, =gScanlineEffect
-_08107FEE:
- asrs r3, r1, 16
- lsls r2, r3, 1
- ldrb r1, [r5, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r6
- ldrh r0, [r4, 0xC]
- strh r0, [r2]
- adds r3, 0x1
- lsls r1, r3, 16
- asrs r0, r1, 16
- cmp r0, 0x9F
- ble _08107FEE
-_0810800C:
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _08108022
- bl ScanlineEffect_Stop
- adds r0, r7, 0
- bl DestroyTask
-_08108022:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8107D58
-
- thumb_func_start sub_8108034
-sub_8108034: @ 8108034
- push {r4-r6,lr}
- adds r4, r0, 0
- ldrh r2, [r4, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- adds r1, 0x8
- ldr r3, =0x000003ff
- adds r0, r3, 0
- ands r1, r0
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r4, 0x4]
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80A6980
- bl Random2
- movs r5, 0xFF
- ands r5, r0
- movs r0, 0x80
- lsls r0, 1
- adds r6, r0, 0
- orrs r5, r6
- bl Random2
- ldr r1, =0x000001ff
- ands r1, r0
- adds r0, r1, 0
- cmp r0, 0xFF
- ble _0810807A
- subs r0, r6, r0
- lsls r0, 16
- lsrs r1, r0, 16
-_0810807A:
- strh r5, [r4, 0x30]
- strh r1, [r4, 0x32]
- ldr r0, =sub_8108098
- str r0, [r4, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8108034
-
- thumb_func_start sub_8108098
-sub_8108098: @ 8108098
- push {r4,lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x30]
- ldrh r1, [r2, 0x34]
- adds r3, r0, r1
- strh r3, [r2, 0x34]
- ldrh r1, [r2, 0x32]
- ldrh r4, [r2, 0x36]
- adds r1, r4
- strh r1, [r2, 0x36]
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _081080BC
- lsls r0, r3, 16
- asrs r0, 24
- negs r0, r0
- b _081080C0
-_081080BC:
- lsls r0, r3, 16
- asrs r0, 24
-_081080C0:
- strh r0, [r2, 0x24]
- ldrh r0, [r2, 0x36]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r2, 0x26]
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x15
- bne _081080DE
- adds r0, r2, 0
- bl DestroyAnimSprite
-_081080DE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8108098
-
- thumb_func_start sub_81080E4
-sub_81080E4: @ 81080E4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks
- adds r4, r0
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x26]
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x22]
- strh r0, [r4, 0x12]
- bl sub_8108384
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl PrepareBattlerSpriteForRotScale
- ldr r0, =sub_8108140
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81080E4
-
- thumb_func_start sub_8108140
-sub_8108140: @ 8108140
- push {r4-r6,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x7
- bls _0810815C
- b _0810837A
-_0810815C:
- lsls r0, 2
- ldr r1, =_08108170
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08108170:
- .4byte _08108190
- .4byte _081081B6
- .4byte _08108248
- .4byte _0810827E
- .4byte _08108292
- .4byte _081082A0
- .4byte _08108320
- .4byte _0810836C
-_08108190:
- ldrh r1, [r4, 0x26]
- lsls r1, 24
- lsrs r1, 24
- movs r3, 0x80
- lsls r3, 1
- movs r0, 0xE0
- str r0, [sp]
- movs r0, 0x80
- lsls r0, 2
- str r0, [sp, 0x4]
- movs r0, 0x20
- str r0, [sp, 0x8]
- adds r0, r4, 0
- adds r2, r3, 0
- bl sub_80A805C
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_081081B6:
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _08108212
- movs r0, 0
- strh r0, [r4, 0xE]
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08108200
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x3
- strh r1, [r0, 0x24]
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x22]
- adds r1, 0x1
- strh r1, [r0, 0x22]
- b _08108212
- .pool
-_08108200:
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, =0x0000fffd
- strh r1, [r0, 0x24]
-_08108212:
- adds r0, r4, 0
- bl sub_80A80C8
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- beq _08108222
- b _0810837A
-_08108222:
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- bl SetBattlerSpriteYOffsetFromYScale
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r5, [r0, 0x24]
- strh r5, [r4, 0xE]
- b _0810835C
- .pool
-_08108248:
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bgt _08108258
- b _0810837A
-_08108258:
- ldrh r1, [r4, 0x26]
- lsls r1, 24
- lsrs r1, 24
- movs r3, 0x80
- lsls r3, 2
- movs r0, 0xC0
- lsls r0, 1
- str r0, [sp]
- movs r0, 0xE0
- str r0, [sp, 0x4]
- movs r0, 0x8
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r2, 0xE0
- bl sub_80A805C
- movs r0, 0
- strh r0, [r4, 0xE]
- b _0810835E
-_0810827E:
- adds r0, r4, 0
- bl sub_80A80C8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _0810837A
- strh r0, [r4, 0xE]
- strh r0, [r4, 0x10]
- b _0810835E
-_08108292:
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_8108408
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_081082A0:
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _0810837A
- movs r0, 0
- strh r0, [r4, 0xE]
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081082D8
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- adds r1, 0x2
- b _081082EA
- .pool
-_081082D8:
- ldr r2, =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- subs r1, 0x2
-_081082EA:
- strh r1, [r0, 0x26]
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r0, 0xA
- bne _0810837A
- ldrh r1, [r4, 0x26]
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0xC0
- lsls r2, 1
- movs r0, 0x80
- lsls r0, 1
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x8
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r3, 0xE0
- bl sub_80A805C
- movs r0, 0
- strh r0, [r4, 0xE]
- strh r0, [r4, 0x10]
- b _0810835E
- .pool
-_08108320:
- ldr r6, =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrh r1, [r0, 0x22]
- subs r1, 0x1
- strh r1, [r0, 0x22]
- adds r0, r4, 0
- bl sub_80A80C8
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _0810837A
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- bl ResetSpriteRotScale
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrh r1, [r4, 0x12]
- strh r1, [r0, 0x22]
-_0810835C:
- strh r5, [r4, 0x10]
-_0810835E:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _0810837A
- .pool
-_0810836C:
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0810837A
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_0810837A:
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8108140
-
- thumb_func_start sub_8108384
-sub_8108384: @ 8108384
- push {r4,r5,lr}
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _081083B8
- ldr r1, =gBattlerPartyIndexes
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- b _081083C8
- .pool
-_081083B4:
- adds r0, r2, 0
- b _081083FA
-_081083B8:
- ldr r1, =gBattlerPartyIndexes
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gEnemyParty
-_081083C8:
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0x3A
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- lsls r0, 16
- lsrs r3, r0, 16
- lsrs r4, 18
- movs r2, 0
-_081083E6:
- adds r1, r2, 0x1
- adds r0, r4, 0
- muls r0, r1
- cmp r3, r0
- blt _081083B4
- lsls r0, r1, 24
- lsrs r2, r0, 24
- cmp r2, 0x2
- bls _081083E6
- movs r0, 0x3
-_081083FA:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8108384
-
- thumb_func_start sub_8108408
-sub_8108408: @ 8108408
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- adds r7, r0, 0
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0xAC
- ldrb r0, [r4]
- bl GetBattlerSpriteSubpriority
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x8]
- ldrh r1, [r7, 0xA]
- movs r0, 0x4
- subs r0, r1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r0, 0
- bgt _08108458
- movs r1, 0x1
-_08108458:
- movs r0, 0
- str r0, [sp, 0x4]
- lsls r0, r1, 16
- mov r10, r8
- mov r9, r6
- mov r1, r10
- lsls r1, 4
- str r1, [sp, 0xC]
- mov r1, r9
- lsls r1, 4
- str r1, [sp, 0x10]
- asrs r0, 16
- mov r8, r0
-_08108472:
- ldr r0, =gUnknown_08595268
- mov r1, r10
- mov r2, r9
- ldr r3, [sp, 0x8]
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r6, r5, 16
- cmp r2, 0x40
- beq _081084DA
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r5, r0, r1
- mov r0, sp
- ldrh r0, [r0, 0x4]
- strh r0, [r5, 0x30]
- mov r1, sp
- ldrh r1, [r1, 0xC]
- strh r1, [r5, 0x32]
- mov r0, sp
- ldrh r0, [r0, 0x10]
- strh r0, [r5, 0x34]
- asrs r4, r6, 16
- adds r0, r4, 0
- movs r1, 0x40
- bl Cos
- strh r0, [r5, 0x36]
- adds r0, r4, 0
- movs r1, 0x40
- bl Sin
- strh r0, [r5, 0x38]
- mov r1, sp
- ldrh r1, [r1]
- strh r1, [r5, 0x3A]
- movs r0, 0x2
- strh r0, [r5, 0x3C]
- ldrh r1, [r7, 0xC]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081084D4
- adds r0, r5, 0
- bl sub_810851C
-_081084D4:
- ldrh r0, [r7, 0xC]
- adds r0, 0x1
- strh r0, [r7, 0xC]
-_081084DA:
- mov r1, r8
- lsls r0, r1, 1
- asrs r1, r6, 16
- adds r1, r0
- lsls r1, 16
- movs r0, 0xFF
- lsls r0, 16
- ands r0, r1
- lsrs r5, r0, 16
- ldr r1, [sp, 0x4]
- lsls r0, r1, 16
- asrs r0, 16
- add r0, r8
- lsls r0, 16
- lsrs r1, r0, 16
- str r1, [sp, 0x4]
- asrs r0, 16
- cmp r0, 0x13
- ble _08108472
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8108408
-
- thumb_func_start sub_810851C
-sub_810851C: @ 810851C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0810852E
- cmp r0, 0x1
- beq _08108564
- b _081085BE
-_0810852E:
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- movs r1, 0x6
- bl __modsi3
- lsls r0, 16
- asrs r0, 16
- lsls r1, r0, 1
- adds r1, r0
- ldrh r0, [r4, 0x36]
- adds r1, r0
- strh r1, [r4, 0x36]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x3
- bl __modsi3
- lsls r0, 16
- asrs r0, 16
- lsls r1, r0, 1
- adds r1, r0
- ldrh r2, [r4, 0x38]
- adds r1, r2
- strh r1, [r4, 0x38]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
-_08108564:
- ldrh r0, [r4, 0x36]
- ldrh r1, [r4, 0x32]
- adds r0, r1
- strh r0, [r4, 0x32]
- ldrh r1, [r4, 0x38]
- ldrh r2, [r4, 0x34]
- adds r1, r2
- strh r1, [r4, 0x34]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r4, 0x20]
- lsls r1, 16
- asrs r2, r1, 20
- strh r2, [r4, 0x22]
- adds r0, 0x8
- lsls r0, 16
- movs r1, 0x80
- lsls r1, 17
- cmp r0, r1
- bhi _0810859A
- adds r1, r2, 0
- movs r0, 0x8
- negs r0, r0
- cmp r1, r0
- blt _0810859A
- cmp r1, 0x78
- ble _081085BE
-_0810859A:
- ldr r3, =gTasks
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- lsls r1, 1
- movs r0, 0x3A
- ldrsh r2, [r4, r0]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r3, 0x8
- adds r1, r3
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- adds r0, r4, 0
- bl DestroySprite
-_081085BE:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810851C
-
- thumb_func_start sub_81085C8
-sub_81085C8: @ 81085C8
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r4, r1, r0
- bl sub_8108384
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0xA]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08108600
- movs r0, 0x88
- strh r0, [r4, 0x10]
- movs r0, 0x28
- b _08108606
- .pool
-_08108600:
- movs r0, 0x10
- strh r0, [r4, 0x10]
- movs r0, 0x50
-_08108606:
- strh r0, [r4, 0x14]
- movs r0, 0x62
- strh r0, [r4, 0x12]
- ldrh r0, [r4, 0x10]
- adds r0, 0x31
- strh r0, [r4, 0x16]
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- adds r0, 0x5
- strh r0, [r4, 0x20]
- ldr r0, =sub_810862C
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81085C8
-
- thumb_func_start sub_810862C
-sub_810862C: @ 810862C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r7, =gTasks
- adds r4, r0, r7
- movs r0, 0x8
- ldrsh r2, [r4, r0]
- cmp r2, 0
- beq _08108654
- cmp r2, 0x1
- beq _08108704
- b _08108712
- .pool
-_08108654:
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _0810866A
- strh r2, [r4, 0xC]
- adds r0, r4, 0
- bl sub_810871C
-_0810866A:
- movs r1, 0x1C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _081086E4
- movs r2, 0x22
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _081086E4
- ldr r5, =gBattleAnimArgs
- movs r1, 0x1
- mov r8, r1
- mov r2, r8
- strh r2, [r5]
- strh r0, [r5, 0x2]
- movs r0, 0xC
- strh r0, [r5, 0x4]
- ldr r6, =sub_81152DC
- adds r0, r6, 0
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- beq _081086B4
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r7
- ldr r1, [r0]
- adds r0, r2, 0
- bl _call_via_r1
- ldr r1, =gAnimVisualTaskCount
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_081086B4:
- movs r0, 0x3
- strh r0, [r5]
- adds r0, r6, 0
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- beq _081086E0
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r7
- ldr r1, [r0]
- adds r0, r2, 0
- bl _call_via_r1
- ldr r1, =gAnimVisualTaskCount
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_081086E0:
- mov r0, r8
- strh r0, [r4, 0x22]
-_081086E4:
- movs r2, 0x1E
- ldrsh r1, [r4, r2]
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- cmp r1, r0
- blt _08108712
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08108712
- .pool
-_08108704:
- movs r2, 0x1A
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _08108712
- adds r0, r1, 0
- bl DestroyAnimVisualTask
-_08108712:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_810862C
-
- thumb_func_start sub_810871C
-sub_810871C: @ 810871C
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r6, r1, 24
- ldr r1, =gSineTable
- movs r2, 0x18
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- adds r0, 0x3
- asrs r0, 4
- ldrh r2, [r4, 0x14]
- adds r0, r2
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, =gUnknown_08595268
- movs r2, 0x16
- ldrsh r1, [r4, r2]
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _08108776
- ldr r3, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r3, 0
- adds r1, 0x1C
- adds r1, r0, r1
- ldr r2, =sub_81087C0
- str r2, [r1]
- adds r0, r3
- strh r5, [r0, 0x38]
- strh r6, [r0, 0x3A]
- movs r1, 0x9
- strh r1, [r0, 0x3C]
- ldrh r0, [r4, 0x1A]
- adds r0, 0x1
- strh r0, [r4, 0x1A]
-_08108776:
- ldrh r0, [r4, 0x1E]
- adds r0, 0x1
- strh r0, [r4, 0x1E]
- ldrh r0, [r4, 0x18]
- adds r0, 0x27
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x18]
- movs r0, 0x16
- ldrsh r1, [r4, r0]
- ldr r0, =0x41c64e6d
- muls r0, r1
- ldr r1, =0x00003039
- adds r0, r1
- movs r2, 0x12
- ldrsh r1, [r4, r2]
- bl __modsi3
- ldrh r1, [r4, 0x10]
- adds r1, r0
- strh r1, [r4, 0x16]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810871C
-
- thumb_func_start sub_81087C0
-sub_81087C0: @ 81087C0
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _08108856
- ldrh r0, [r5, 0x22]
- adds r0, 0x8
- strh r0, [r5, 0x22]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x38
- ldrsh r1, [r5, r2]
- cmp r0, r1
- blt _08108856
- ldr r2, =gTasks
- movs r3, 0x3A
- ldrsh r1, [r5, r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r1, 0x1
- strh r1, [r0, 0x1C]
- ldr r0, =gUnknown_08597388
- movs r2, 0x20
- ldrsh r1, [r5, r2]
- movs r3, 0x22
- ldrsh r2, [r5, r3]
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x30]
- cmp r0, 0x40
- beq _08108850
- movs r0, 0x30
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- movs r1, 0x3
- bl StartSpriteAffineAnim
- movs r2, 0x30
- ldrsh r1, [r5, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r5, 0x3A]
- strh r1, [r0, 0x3A]
- movs r3, 0x30
- ldrsh r1, [r5, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r5, 0x3C]
- strh r1, [r0, 0x3C]
- movs r0, 0x30
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, 0x1C
- adds r0, r4
- ldr r1, =sub_810886C
- str r1, [r0]
-_08108850:
- adds r0, r5, 0
- bl DestroySprite
-_08108856:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81087C0
-
- thumb_func_start sub_810886C
-sub_810886C: @ 810886C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _081088D8
- movs r0, 0
- strh r0, [r4, 0x30]
- adds r3, r4, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC
- bne _081088D8
- ldr r3, =gTasks
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- lsls r1, 1
- movs r0, 0x3A
- ldrsh r2, [r4, r0]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r3, 0x8
- adds r1, r3
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- adds r0, r4, 0
- bl DestroySprite
-_081088D8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810886C
-
- thumb_func_start sub_81088E4
-sub_81088E4: @ 81088E4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r5, r1, r0
- ldr r4, =gBattleAnimAttacker
- ldrb r0, [r4]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- movs r6, 0
- strh r0, [r5, 0xE]
- ldrb r0, [r4]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x10]
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- movs r2, 0x1
- negs r2, r2
- adds r1, r2, 0
- cmp r0, 0
- bne _08108928
- movs r1, 0x1
-_08108928:
- strh r1, [r5, 0x16]
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _0810893C
- movs r1, 0x16
- ldrsh r0, [r5, r1]
- negs r0, r0
- strh r0, [r5, 0x16]
-_0810893C:
- movs r2, 0x16
- ldrsh r0, [r5, r2]
- lsls r0, 3
- ldrh r1, [r5, 0xE]
- adds r0, r1
- strh r0, [r5, 0x12]
- movs r2, 0x16
- ldrsh r1, [r5, r2]
- lsls r1, 3
- ldrh r0, [r5, 0x10]
- subs r0, r1
- strh r0, [r5, 0x14]
- ldr r0, =0x0000ffe0
- strh r0, [r5, 0x1A]
- strh r6, [r5, 0xA]
- strh r6, [r5, 0x8]
- ldr r0, =sub_8108978
- str r0, [r5]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81088E4
-
- thumb_func_start sub_8108978
-sub_8108978: @ 8108978
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x6
- bls _08108992
- b _08108AB2
-_08108992:
- lsls r0, 2
- ldr r1, =_081089A4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081089A4:
- .4byte _081089C0
- .4byte _081089D0
- .4byte _081089EA
- .4byte _08108A2C
- .4byte _08108A4E
- .4byte _08108A7C
- .4byte _08108AA2
-_081089C0:
- adds r0, r4, 0
- bl sub_8108AC0
- movs r1, 0x1C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08108AB8
- b _08108AAA
-_081089D0:
- adds r0, r4, 0
- bl sub_8108AC0
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- ble _08108AB8
- movs r0, 0
- strh r0, [r4, 0xA]
- b _08108AAA
-_081089EA:
- adds r0, r4, 0
- bl sub_8108AC0
- movs r1, 0x16
- ldrsh r0, [r4, r1]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 1
- ldrh r0, [r4, 0x12]
- adds r1, r0
- movs r2, 0
- strh r1, [r4, 0x12]
- adds r1, 0x10
- lsls r1, 16
- movs r0, 0x88
- lsls r0, 17
- cmp r1, r0
- bls _08108AB8
- ldrh r0, [r4, 0x20]
- adds r0, 0x1
- strh r0, [r4, 0x20]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _08108A28
- movs r0, 0x1
- strh r0, [r4, 0x22]
- movs r0, 0x6
- strh r0, [r4, 0x8]
- strh r2, [r4, 0xA]
- b _08108AB8
-_08108A28:
- strh r2, [r4, 0xA]
- b _08108AAA
-_08108A2C:
- adds r0, r4, 0
- bl sub_8108AC0
- movs r0, 0x16
- ldrsh r1, [r4, r0]
- lsls r1, 1
- ldrh r0, [r4, 0x14]
- subs r0, r1
- strh r0, [r4, 0x14]
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _08108AB8
- b _08108AAA
-_08108A4E:
- adds r0, r4, 0
- bl sub_8108AC0
- movs r1, 0x16
- ldrsh r0, [r4, r1]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 1
- ldrh r0, [r4, 0x12]
- subs r0, r1
- strh r0, [r4, 0x12]
- adds r0, 0x10
- lsls r0, 16
- movs r1, 0x88
- lsls r1, 17
- cmp r0, r1
- bls _08108AB8
- ldrh r0, [r4, 0x20]
- adds r0, 0x1
- strh r0, [r4, 0x20]
- movs r0, 0
- strh r0, [r4, 0xA]
- b _08108AAA
-_08108A7C:
- adds r0, r4, 0
- bl sub_8108AC0
- movs r0, 0x16
- ldrsh r1, [r4, r0]
- lsls r1, 1
- ldrh r0, [r4, 0x14]
- subs r0, r1
- strh r0, [r4, 0x14]
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _08108AB8
- movs r0, 0x2
- strh r0, [r4, 0x8]
- b _08108AB8
-_08108AA2:
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08108AB8
-_08108AAA:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08108AB8
-_08108AB2:
- adds r0, r2, 0
- bl DestroyAnimVisualTask
-_08108AB8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8108978
-
- thumb_func_start sub_8108AC0
-sub_8108AC0: @ 8108AC0
- push {r4-r6,lr}
- adds r6, r0, 0
- ldrh r0, [r6, 0xC]
- adds r0, 0x1
- strh r0, [r6, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _08108B1A
- movs r0, 0
- strh r0, [r6, 0xC]
- ldr r0, =gUnknown_08595268
- movs r2, 0xE
- ldrsh r1, [r6, r2]
- movs r3, 0x10
- ldrsh r2, [r6, r3]
- movs r3, 0xA
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _08108B1A
- ldr r5, =gSprites
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- adds r0, r4, r5
- movs r1, 0x10
- strh r1, [r0, 0x2E]
- ldrh r1, [r6, 0x12]
- strh r1, [r0, 0x32]
- ldrh r1, [r6, 0x14]
- strh r1, [r0, 0x36]
- ldrh r1, [r6, 0x1A]
- strh r1, [r0, 0x38]
- bl InitAnimArcTranslation
- adds r5, 0x1C
- adds r4, r5
- ldr r0, =sub_8108B2C
- str r0, [r4]
- ldrh r0, [r6, 0x18]
- adds r0, 0x1
- strh r0, [r6, 0x18]
-_08108B1A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8108AC0
-
- thumb_func_start sub_8108B2C
-sub_8108B2C: @ 8108B2C
- push {r4-r6,lr}
- adds r6, r0, 0
- bl TranslateAnimArc
- lsls r0, 24
- cmp r0, 0
- beq _08108B86
- ldrh r0, [r6, 0x24]
- ldrh r1, [r6, 0x20]
- adds r0, r1
- strh r0, [r6, 0x20]
- ldrh r0, [r6, 0x26]
- ldrh r1, [r6, 0x22]
- adds r0, r1
- strh r0, [r6, 0x22]
- movs r0, 0x6
- strh r0, [r6, 0x2E]
- bl Random2
- movs r4, 0x1F
- adds r1, r4, 0
- ands r1, r0
- ldr r5, =0x0000fff0
- adds r1, r5
- ldrh r0, [r6, 0x20]
- adds r1, r0
- strh r1, [r6, 0x32]
- bl Random2
- ands r4, r0
- adds r4, r5
- ldrh r1, [r6, 0x22]
- adds r4, r1
- strh r4, [r6, 0x36]
- bl Random2
- movs r1, 0x7
- ands r1, r0
- mvns r1, r1
- strh r1, [r6, 0x38]
- adds r0, r6, 0
- bl InitAnimArcTranslation
- ldr r0, =sub_8108B94
- str r0, [r6, 0x1C]
-_08108B86:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8108B2C
-
- thumb_func_start sub_8108B94
-sub_8108B94: @ 8108B94
- push {r4-r6,lr}
- adds r5, r0, 0
- bl TranslateAnimArc
- lsls r0, 24
- cmp r0, 0
- beq _08108BD0
- movs r4, 0
- ldr r6, =gTasks
-_08108BA6:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r6
- ldr r1, [r2]
- ldr r0, =sub_8108978
- cmp r1, r0
- bne _08108BC6
- movs r0, 0x1
- strh r0, [r2, 0x1C]
- ldrh r0, [r2, 0x18]
- subs r0, 0x1
- strh r0, [r2, 0x18]
- adds r0, r5, 0
- bl DestroySprite
-_08108BC6:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0xF
- bls _08108BA6
-_08108BD0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8108B94
-
- thumb_func_start sub_8108BE0
-sub_8108BE0: @ 8108BE0
- ldr r2, =gBattleAnimArgs
- ldrh r1, [r2]
- strh r1, [r0, 0x20]
- ldrh r1, [r2, 0x2]
- strh r1, [r0, 0x22]
- ldrh r1, [r2, 0x4]
- strh r1, [r0, 0x2E]
- ldrh r1, [r2, 0x6]
- strh r1, [r0, 0x30]
- ldrh r1, [r2, 0x8]
- strh r1, [r0, 0x32]
- ldrh r1, [r2, 0xA]
- strh r1, [r0, 0x34]
- ldr r1, =sub_8108C08
- str r1, [r0, 0x1C]
- bx lr
- .pool
- thumb_func_end sub_8108BE0
-
- thumb_func_start sub_8108C08
-sub_8108C08: @ 8108C08
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x36]
- ldrh r1, [r4, 0x2E]
- subs r0, r1
- strh r0, [r4, 0x36]
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- movs r1, 0xA
- bl __divsi3
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x30]
- ldrh r2, [r4, 0x38]
- adds r0, r2
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x34]
- subs r0, 0x1
- strh r0, [r4, 0x34]
- lsls r0, 16
- cmp r0, 0
- bne _08108C4C
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08108C4C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8108C08
-
- thumb_func_start sub_8108C54
-sub_8108C54: @ 8108C54
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- ldrh r1, [r4, 0x34]
- adds r0, r1
- strh r0, [r4, 0x34]
- ldrh r1, [r4, 0x32]
- ldrh r2, [r4, 0x36]
- adds r1, r2
- strh r1, [r4, 0x36]
- lsls r0, 16
- asrs r0, 23
- strh r0, [r4, 0x24]
- lsls r1, 16
- asrs r1, 23
- strh r1, [r4, 0x26]
- ldrh r0, [r4, 0x2E]
- subs r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bne _08108C8C
- adds r0, r4, 0
- bl FreeSpriteOamMatrix
- adds r0, r4, 0
- bl DestroySprite
-_08108C8C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8108C54
-
- thumb_func_start sub_8108C94
-sub_8108C94: @ 8108C94
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl InitAnimSpritePos
- ldr r5, =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x30]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x34]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x36]
- ldr r0, =sub_8108CDC
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8108C94
-
- thumb_func_start sub_8108CDC
-sub_8108CDC: @ 8108CDC
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r0, 0x30
- ldrsh r1, [r4, r0]
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- subs r6, r1, r0
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- movs r2, 0x22
- ldrsh r0, [r4, r2]
- subs r5, r1, r0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- muls r0, r6
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- bl __divsi3
- strh r0, [r4, 0x24]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- muls r0, r5
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- bl __divsi3
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- cmp r0, r1
- bne _08108D34
- movs r0, 0
- strh r0, [r4, 0x38]
- adds r0, r4, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl sub_8108D54
-_08108D34:
- movs r0, 0x34
- ldrsh r1, [r4, r0]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _08108D46
- adds r0, r4, 0
- bl DestroyAnimSprite
-_08108D46:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8108CDC
-
- thumb_func_start sub_8108D54
-sub_8108D54: @ 8108D54
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- adds r4, r1, 0
- adds r5, r2, 0
- movs r2, 0x2E
- ldrsh r1, [r0, r2]
- lsrs r2, r1, 31
- adds r1, r2
- lsls r1, 15
- lsrs r1, 16
- str r1, [sp]
- ldrh r1, [r0, 0x24]
- ldrh r3, [r0, 0x20]
- adds r1, r3
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- ldrh r1, [r0, 0x26]
- ldrh r0, [r0, 0x22]
- adds r1, r0
- lsls r1, 16
- lsrs r1, 16
- mov r10, r1
- bl Random2
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- adds r0, r5, r0
- subs r0, 0x5
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- bl Random2
- negs r4, r4
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- adds r4, r0
- subs r4, 0x5
- lsls r4, 16
- lsrs r7, r4, 16
- movs r6, 0
- mov r0, r8
- lsls r0, 16
- mov r8, r0
- mov r1, r10
- lsls r1, 16
- str r1, [sp, 0xC]
- ldr r2, [sp]
- lsls r2, 16
- str r2, [sp, 0x10]
- asrs r1, 16
- lsls r0, r7, 16
- asrs r5, r0, 16
- str r0, [sp, 0x14]
- negs r3, r5
- str r3, [sp, 0x4]
- asrs r0, r2, 16
- adds r1, r0
- lsls r1, 16
- mov r10, r1
-_08108DE2:
- ldr r0, =gUnknown_08595310
- mov r2, r8
- asrs r1, r2, 16
- mov r3, r10
- asrs r2, r3, 16
- movs r3, 0x82
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r4, r0, r1
- movs r0, 0x14
- strh r0, [r4, 0x2E]
- mov r0, r9
- strh r0, [r4, 0x30]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSpriteSubpriority
- subs r0, 0x1
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- cmp r5, 0
- bge _08108E30
- mov r1, sp
- ldrh r1, [r1, 0x4]
- strh r1, [r4, 0x32]
- b _08108E32
- .pool
-_08108E30:
- strh r7, [r4, 0x32]
-_08108E32:
- lsls r0, r6, 16
- movs r2, 0x80
- lsls r2, 9
- adds r0, r2
- lsrs r6, r0, 16
- cmp r0, 0
- ble _08108DE2
- movs r6, 0
- ldr r3, [sp, 0xC]
- asrs r1, r3, 16
- ldr r0, [sp, 0x14]
- asrs r5, r0, 16
- negs r2, r5
- str r2, [sp, 0x8]
- ldr r3, [sp, 0x10]
- asrs r0, r3, 16
- subs r1, r0
- lsls r1, 16
- mov r10, r1
-_08108E58:
- ldr r0, =gUnknown_08595310
- mov r2, r8
- asrs r1, r2, 16
- mov r3, r10
- asrs r2, r3, 16
- movs r3, 0x82
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r4, r0, r1
- movs r0, 0x14
- strh r0, [r4, 0x2E]
- mov r0, r9
- strh r0, [r4, 0x30]
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSpriteSubpriority
- subs r0, 0x1
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- cmp r5, 0
- ble _08108EA8
- mov r1, sp
- ldrh r1, [r1, 0x8]
- strh r1, [r4, 0x32]
- b _08108EAA
- .pool
-_08108EA8:
- strh r7, [r4, 0x32]
-_08108EAA:
- lsls r0, r6, 16
- movs r2, 0x80
- lsls r2, 9
- adds r0, r2
- lsrs r6, r0, 16
- cmp r0, 0
- ble _08108E58
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8108D54
-
- .align 2, 0
diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s
index 014aa2048..185d18df1 100644
--- a/data/battle_anim_scripts.s
+++ b/data/battle_anim_scripts.s
@@ -3484,7 +3484,7 @@ Move_HAIL:
loadspritegfx ANIM_TAG_ICE_CRYSTALS
createvisualtask sub_8116620, 10, 1, 3, 0, 6, RGB_BLACK
waitforvisualfinish
- createvisualtask sub_810C918, 5
+ createvisualtask AnimTask_Hail1, 5
loopsewithpan SE_W258, 0, 8, 10
waitforvisualfinish
createvisualtask sub_8116620, 10, 1, 3, 6, 0, RGB_BLACK
@@ -3956,7 +3956,7 @@ Move_MIST_BALL:
createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, 1, 1, 1, RGB(23, 16, 31), 16, 0x7FFF, 16
delay 0
playsewithpan SE_W114, 0
- createvisualtask sub_810C324, 5
+ createvisualtask AnimTask_LoadMistTiles, 5
createvisualtask sub_8116620, 10, 4, 3, 0, 16, RGB_WHITE
delay 8
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 4, 0, 70, 0
@@ -5443,54 +5443,54 @@ SolarBeamSetUp:
blendoff
goto SolarBeamEnd
SolarBeamSetUp1:
- createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 40, 40, 16
+ createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, 40, 40, 16
delay 2
- createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, -40, -40, 16
+ createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, -40, -40, 16
delay 2
- createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 0, 40, 16
+ createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, 0, 40, 16
delay 2
- createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 0, -40, 16
+ createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, 0, -40, 16
delay 2
- createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 40, -20, 16
+ createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, 40, -20, 16
delay 2
- createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 40, 20, 16
+ createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, 40, 20, 16
delay 2
- createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, -40, -20, 16
+ createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, -40, -20, 16
delay 2
- createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, -40, 20, 16
+ createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, -40, 20, 16
delay 2
- createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, -20, 30, 16
+ createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, -20, 30, 16
delay 2
- createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 20, -30, 16
+ createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, 20, -30, 16
delay 2
- createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, -20, -30, 16
+ createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, -20, -30, 16
delay 2
- createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 20, 30, 16
+ createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, 20, 30, 16
delay 2
- createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, -40, 0, 16
+ createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, -40, 0, 16
delay 2
- createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 40, 0, 16
+ createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, 40, 0, 16
delay 2
return
SolarBeamUnleash:
call SetSolarbeamBg
panse_1B SE_W076, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
- createvisualtask sub_80FEA58, 5
- createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 0
+ createvisualtask AnimTask_CreateSmallSolarbeamOrbs, 5
+ createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 0
delay 4
- createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 1
+ createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 1
delay 4
createvisualtask sub_8116620, 10, 4, 1, 0, 10, RGB(25, 31, 0)
- createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 2
+ createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 2
delay 4
createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 2, 0, 65, 1
- createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 3
+ createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 3
delay 4
- createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 4
+ createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 4
delay 4
- createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 5
+ createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 5
delay 4
- createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 6
+ createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 6
delay 4
call SolarBeamUnleash1
call SolarBeamUnleash1
@@ -5499,19 +5499,19 @@ SolarBeamUnleash:
call UnsetSolarbeamBg
goto SolarBeamEnd
SolarBeamUnleash1:
- createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 0
+ createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 0
delay 4
- createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 1
+ createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 1
delay 4
- createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 2
+ createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 2
delay 4
- createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 3
+ createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 3
delay 4
- createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 4
+ createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 4
delay 4
- createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 5
+ createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 5
delay 4
- createsprite gUnknown_085921F8, ANIM_TARGET, 3, 15, 0, 20, 6
+ createsprite gSolarbeamBigOrbSpriteTemplate, ANIM_TARGET, 3, 15, 0, 20, 6
delay 4
return
@@ -5717,28 +5717,28 @@ Move_ABSORB:
AbsorbEffect:
playsewithpan SE_W152, SOUND_PAN_TARGET
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26
delay 4
playsewithpan SE_W152, SOUND_PAN_TARGET
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -8, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -8, 26
delay 4
playsewithpan SE_W152, SOUND_PAN_TARGET
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -5, 15, 16, 33
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -5, 15, 16, 33
delay 4
playsewithpan SE_W152, SOUND_PAN_TARGET
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, -15, -16, 36
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, -15, -16, 36
delay 4
playsewithpan SE_W152, SOUND_PAN_TARGET
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26
delay 4
playsewithpan SE_W152, SOUND_PAN_TARGET
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -8, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -8, 26
delay 4
playsewithpan SE_W152, SOUND_PAN_TARGET
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -10, 20, 20, 39
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -10, 20, 20, 39
delay 4
playsewithpan SE_W152, SOUND_PAN_TARGET
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 5, -18, -20, 35
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 5, -18, -20, 35
delay 4
return
@@ -5770,36 +5770,36 @@ Move_MEGA_DRAIN:
MegaDrainEffect:
playsewithpan SE_W145C, SOUND_PAN_TARGET
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 5, -18, -20, 35
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 5, -18, -20, 35
delay 4
playsewithpan SE_W145C, SOUND_PAN_TARGET
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -8, 26
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -10, 20, 20, 39
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -8, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -10, 20, 20, 39
delay 4
playsewithpan SE_W145C, SOUND_PAN_TARGET
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -5, 15, 16, 33
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -8, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -5, 15, 16, 33
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -8, 26
delay 4
playsewithpan SE_W145C, SOUND_PAN_TARGET
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, -15, -16, 36
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, -15, -16, 36
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26
delay 4
playsewithpan SE_W145C, SOUND_PAN_TARGET
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, -15, -16, 36
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, -15, -16, 36
delay 4
playsewithpan SE_W145C, SOUND_PAN_TARGET
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -8, 26
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -5, 15, 16, 33
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -8, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -5, 15, 16, 33
delay 4
playsewithpan SE_W145C, SOUND_PAN_TARGET
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -10, 20, 20, 39
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -8, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -10, 20, 20, 39
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -8, 26
delay 4
playsewithpan SE_W145C, SOUND_PAN_TARGET
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 5, -18, -20, 35
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 5, -18, -20, 35
delay 4
return
@@ -5831,44 +5831,44 @@ Move_GIGA_DRAIN:
GigaDrainEffect:
playsewithpan SE_W202, SOUND_PAN_TARGET
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 5, -18, -40, 35
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -10, 20, 20, 39
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 5, -18, -40, 35
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -10, 20, 20, 39
delay 4
playsewithpan SE_W202, SOUND_PAN_TARGET
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 28, 26
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -8, 26
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -10, 20, 40, 39
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 28, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -8, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -10, 20, 40, 39
delay 4
playsewithpan SE_W202, SOUND_PAN_TARGET
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -8, 26
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -5, 15, 16, 33
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -32, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -8, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -5, 15, 16, 33
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -32, 26
delay 4
playsewithpan SE_W202, SOUND_PAN_TARGET
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, -15, -16, 36
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -8, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, -15, -16, 36
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -8, 26
delay 4
playsewithpan SE_W202, SOUND_PAN_TARGET
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -5, 15, 16, 33
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, -15, -16, 36
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -5, 15, 16, 33
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, -15, -16, 36
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26
delay 4
playsewithpan SE_W202, SOUND_PAN_TARGET
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -5, 15, 16, 33
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -40, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -5, 15, 16, 33
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -40, 26
delay 4
playsewithpan SE_W202, SOUND_PAN_TARGET
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -5, 15, 36, 33
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -8, 26
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -10, 20, 20, 39
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -5, 15, 36, 33
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -8, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -10, 20, 20, 39
delay 4
playsewithpan SE_W202, SOUND_PAN_TARGET
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 5, -18, -20, 35
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 5, -18, -20, 35
delay 4
return
@@ -6749,11 +6749,11 @@ Move_COTTON_SPORE:
end
CottonSpore1:
- createsprite gUnknown_085922EC, ANIM_ATTACKER, 2, 0, -20, 85, 80, 0
+ createsprite gSporeParticleSpriteTemplate, ANIM_ATTACKER, 2, 0, -20, 85, 80, 0
delay 12
- createsprite gUnknown_085922EC, ANIM_ATTACKER, 2, 0, -10, 170, 80, 0
+ createsprite gSporeParticleSpriteTemplate, ANIM_ATTACKER, 2, 0, -10, 170, 80, 0
delay 12
- createsprite gUnknown_085922EC, ANIM_ATTACKER, 2, 0, -15, 0, 80, 0
+ createsprite gSporeParticleSpriteTemplate, ANIM_ATTACKER, 2, 0, -15, 0, 80, 0
delay 12
return
@@ -6761,7 +6761,7 @@ Move_SPORE:
loadspritegfx ANIM_TAG_SPORE
monbg ANIM_DEF_PARTNER
setalpha 12, 8
- createvisualtask sub_80FEE1C, 2
+ createvisualtask AnimTask_SporeDoubleBattle, 2
loopsewithpan SE_W077, SOUND_PAN_TARGET, 16, 11
call Spore1
call Spore1
@@ -6773,11 +6773,11 @@ Move_SPORE:
end
Spore1:
- createsprite gUnknown_085922EC, ANIM_TARGET, 2, 0, -20, 85, 80, 1
+ createsprite gSporeParticleSpriteTemplate, ANIM_TARGET, 2, 0, -20, 85, 80, 1
delay 12
- createsprite gUnknown_085922EC, ANIM_TARGET, 2, 0, -10, 170, 80, 1
+ createsprite gSporeParticleSpriteTemplate, ANIM_TARGET, 2, 0, -10, 170, 80, 1
delay 12
- createsprite gUnknown_085922EC, ANIM_TARGET, 2, 0, -15, 0, 80, 1
+ createsprite gSporeParticleSpriteTemplate, ANIM_TARGET, 2, 0, -15, 0, 80, 1
delay 12
return
@@ -6788,23 +6788,23 @@ Move_PETAL_DANCE:
setalpha 12, 8
playsewithpan SE_W080, SOUND_PAN_ATTACKER
createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 12, 6, 6, 3
- createsprite gUnknown_0859231C, ANIM_ATTACKER, 2, 0, -24, 8, 140
- createsprite gUnknown_08592334, ANIM_ATTACKER, 2, 16, -24, 8, 100
- createsprite gUnknown_08592334, ANIM_ATTACKER, 2, -16, -24, 8, 100
+ createsprite gPetalDanceBigFlowerSpriteTemplate, ANIM_ATTACKER, 2, 0, -24, 8, 140
+ createsprite gPetalDanceSmallFlowerSpriteTemplate, ANIM_ATTACKER, 2, 16, -24, 8, 100
+ createsprite gPetalDanceSmallFlowerSpriteTemplate, ANIM_ATTACKER, 2, -16, -24, 8, 100
delay 15
- createsprite gUnknown_0859231C, ANIM_ATTACKER, 2, 0, -24, 8, 140
- createsprite gUnknown_08592334, ANIM_ATTACKER, 2, 32, -24, 8, 100
- createsprite gUnknown_08592334, ANIM_ATTACKER, 2, -32, -24, 8, 100
+ createsprite gPetalDanceBigFlowerSpriteTemplate, ANIM_ATTACKER, 2, 0, -24, 8, 140
+ createsprite gPetalDanceSmallFlowerSpriteTemplate, ANIM_ATTACKER, 2, 32, -24, 8, 100
+ createsprite gPetalDanceSmallFlowerSpriteTemplate, ANIM_ATTACKER, 2, -32, -24, 8, 100
delay 15
- createsprite gUnknown_0859231C, ANIM_ATTACKER, 2, 0, -24, 8, 140
- createsprite gUnknown_08592334, ANIM_ATTACKER, 2, 24, -24, 8, 100
- createsprite gUnknown_08592334, ANIM_ATTACKER, 2, -24, -24, 8, 100
+ createsprite gPetalDanceBigFlowerSpriteTemplate, ANIM_ATTACKER, 2, 0, -24, 8, 140
+ createsprite gPetalDanceSmallFlowerSpriteTemplate, ANIM_ATTACKER, 2, 24, -24, 8, 100
+ createsprite gPetalDanceSmallFlowerSpriteTemplate, ANIM_ATTACKER, 2, -24, -24, 8, 100
delay 30
- createsprite gUnknown_08592334, ANIM_ATTACKER, 2, 16, -24, 0, 100
- createsprite gUnknown_08592334, ANIM_ATTACKER, 2, -16, -24, 0, 100
+ createsprite gPetalDanceSmallFlowerSpriteTemplate, ANIM_ATTACKER, 2, 16, -24, 0, 100
+ createsprite gPetalDanceSmallFlowerSpriteTemplate, ANIM_ATTACKER, 2, -16, -24, 0, 100
delay 30
- createsprite gUnknown_08592334, ANIM_ATTACKER, 2, 20, -16, 14, 80
- createsprite gUnknown_08592334, ANIM_ATTACKER, 2, -20, -14, 16, 80
+ createsprite gPetalDanceSmallFlowerSpriteTemplate, ANIM_ATTACKER, 2, 20, -16, 14, 80
+ createsprite gPetalDanceSmallFlowerSpriteTemplate, ANIM_ATTACKER, 2, -20, -14, 16, 80
waitforvisualfinish
createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 24, 0, 0, 5
delay 3
@@ -6827,29 +6827,29 @@ Move_RAZOR_LEAF:
setalpha 12, 8
delay 1
loopsewithpan SE_W077, SOUND_PAN_ATTACKER, 10, 5
- createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -3, -2, 10
+ createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, -3, -2, 10
delay 2
- createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -1, -1, 15
+ createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, -1, -1, 15
delay 2
- createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -4, -4, 7
+ createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, -4, -4, 7
delay 2
- createsprite gUnknown_08592390, ANIM_ATTACKER, 2, 3, -3, 11
+ createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, 3, -3, 11
delay 2
- createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -1, -6, 8
+ createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, -1, -6, 8
delay 2
- createsprite gUnknown_08592390, ANIM_ATTACKER, 2, 2, -1, 12
+ createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, 2, -1, 12
delay 2
- createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -3, -4, 13
+ createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, -3, -4, 13
delay 2
- createsprite gUnknown_08592390, ANIM_ATTACKER, 2, 4, -5, 7
+ createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, 4, -5, 7
delay 2
- createsprite gUnknown_08592390, ANIM_ATTACKER, 2, 2, -6, 11
+ createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, 2, -6, 11
delay 2
- createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -3, -5, 8
+ createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, -3, -5, 8
delay 60
playsewithpan SE_W013B, SOUND_PAN_ATTACKER
- createsprite gUnknown_085923D8, ANIM_TARGET, 3, 20, -10, 20, 0, 22, 20, 1
- createsprite gUnknown_085923D8, ANIM_TARGET, 3, 20, -10, 20, 0, 22, -20, 1
+ createsprite gRazorLeafCutterSpriteTemplate, ANIM_TARGET, 3, 20, -10, 20, 0, 22, 20, 1
+ createsprite gRazorLeafCutterSpriteTemplate, ANIM_TARGET, 3, 20, -10, 20, 0, 22, -20, 1
delay 20
playsewithpan SE_W013, SOUND_PAN_TARGET
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1
@@ -6937,7 +6937,7 @@ Mist1:
Move_HAZE:
waitforvisualfinish
playsewithpan SE_W114, 0
- createvisualtask sub_810C0A0, 5
+ createvisualtask AnimTask_Haze1, 5
delay 30
createvisualtask sub_8116620, 10, 0x780, 2, 0, 16, RGB_BLACK
delay 0x5A
@@ -7025,44 +7025,44 @@ Move_DREAM_EATER:
end
DreamEaterEffect:
playsewithpan SE_W207, SOUND_PAN_TARGET
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 5, -18, -40, 35
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -10, 20, 20, 39
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 5, -18, -40, 35
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -10, 20, 20, 39
delay 4
playsewithpan SE_W207, SOUND_PAN_TARGET
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 28, 26
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -8, 26
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -10, 20, 40, 39
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 28, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -8, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -10, 20, 40, 39
delay 4
playsewithpan SE_W207, SOUND_PAN_TARGET
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -8, 26
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -5, 15, 16, 33
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -32, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -8, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -5, 15, 16, 33
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -32, 26
delay 4
playsewithpan SE_W207, SOUND_PAN_TARGET
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, -15, -16, 36
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -8, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, -15, -16, 36
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -8, 26
delay 4
playsewithpan SE_W207, SOUND_PAN_TARGET
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -5, 15, 16, 33
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, -15, -16, 36
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -5, 15, 16, 33
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, -15, -16, 36
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26
delay 4
playsewithpan SE_W207, SOUND_PAN_TARGET
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -5, 15, 16, 33
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -40, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -5, 15, 16, 33
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -40, 26
delay 4
playsewithpan SE_W207, SOUND_PAN_TARGET
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -5, 15, 36, 33
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 10, -5, -8, 26
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, -10, 20, 20, 39
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -5, 15, 36, 33
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 10, -5, -8, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, -10, 20, 20, 39
delay 4
playsewithpan SE_W207, SOUND_PAN_TARGET
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 0, 5, 8, 26
- createsprite gUnknown_08592270, ANIM_ATTACKER, 3, 5, -18, -20, 35
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 0, 5, 8, 26
+ createsprite gAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 3, 5, -18, -20, 35
delay 4
return
@@ -7573,19 +7573,19 @@ Move_RECOVER:
end
Recover1:
- createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 40, -10, 13
+ createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, 40, -10, 13
delay 3
- createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, -35, -10, 13
+ createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, -35, -10, 13
delay 3
- createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 15, -40, 13
+ createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, 15, -40, 13
delay 3
- createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, -10, -32, 13
+ createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, -10, -32, 13
delay 3
- createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 25, -20, 13
+ createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, 25, -20, 13
delay 3
- createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, -40, -20, 13
+ createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, -40, -20, 13
delay 3
- createsprite gUnknown_085921E0, ANIM_ATTACKER, 2, 5, -40, 13
+ createsprite gPowerAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, 5, -40, 13
delay 3
return
@@ -7597,7 +7597,7 @@ Move_MIMIC:
panse_1B SE_W107, SOUND_PAN_TARGET, SOUND_PAN_ATTACKER, -3, 0
createvisualtask sub_80FF458, 5, 128, 24
delay 15
- createsprite gUnknown_085924DC, ANIM_TARGET, 2, -12, 24
+ createsprite gMimicOrbSpriteTemplate, ANIM_TARGET, 2, -12, 24
delay 10
setarg 7, -1
waitforvisualfinish
@@ -7611,12 +7611,12 @@ Move_MIMIC:
Move_CONSTRICT:
loadspritegfx ANIM_TAG_TENDRILS
loopsewithpan SE_W010, SOUND_PAN_TARGET, 6, 4
- createsprite gUnknown_08592494, ANIM_TARGET, 4, 0, 16, 0, 2
+ createsprite gConstrictBindingSpriteTemplate, ANIM_TARGET, 4, 0, 16, 0, 2
delay 7
- createsprite gUnknown_08592494, ANIM_TARGET, 3, 0, 0, 0, 2
- createsprite gUnknown_08592494, ANIM_TARGET, 2, 0, 8, 1, 2
+ createsprite gConstrictBindingSpriteTemplate, ANIM_TARGET, 3, 0, 0, 0, 2
+ createsprite gConstrictBindingSpriteTemplate, ANIM_TARGET, 2, 0, 8, 1, 2
delay 7
- createsprite gUnknown_08592494, ANIM_TARGET, 3, 0, -8, 1, 2
+ createsprite gConstrictBindingSpriteTemplate, ANIM_TARGET, 3, 0, -8, 1, 2
delay 8
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 6, 1
delay 20
@@ -7824,28 +7824,28 @@ Move_FURY_SWIPES:
Move_INGRAIN:
loadspritegfx ANIM_TAG_ROOTS
loadspritegfx ANIM_TAG_ORBS
- createsprite gUnknown_0859254C, ANIM_ATTACKER, 2, 16, 26, -1, 2, 150
+ createsprite gIngrainRootSpriteTemplate, ANIM_ATTACKER, 2, 16, 26, -1, 2, 150
playsewithpan SE_W010, SOUND_PAN_ATTACKER
delay 10
- createsprite gUnknown_0859254C, ANIM_ATTACKER, 2, -32, 20, 1, 1, 140
+ createsprite gIngrainRootSpriteTemplate, ANIM_ATTACKER, 2, -32, 20, 1, 1, 140
playsewithpan SE_W010, SOUND_PAN_ATTACKER
delay 10
- createsprite gUnknown_0859254C, ANIM_ATTACKER, 2, 32, 22, 1, 0, 130
+ createsprite gIngrainRootSpriteTemplate, ANIM_ATTACKER, 2, 32, 22, 1, 0, 130
playsewithpan SE_W010, SOUND_PAN_ATTACKER
delay 10
- createsprite gUnknown_0859254C, ANIM_ATTACKER, 2, -16, 25, -1, 3, 120
+ createsprite gIngrainRootSpriteTemplate, ANIM_ATTACKER, 2, -16, 25, -1, 3, 120
playsewithpan SE_W010, SOUND_PAN_ATTACKER
delay 40
- createsprite gUnknown_0859258C, ANIM_ATTACKER, 3, 32, 26, -1, 3, 30
+ createsprite gIngrainOrbSpriteTemplate, ANIM_ATTACKER, 3, 32, 26, -1, 3, 30
delay 5
playsewithpan SE_W145C, SOUND_PAN_ATTACKER
delay 5
- createsprite gUnknown_0859258C, ANIM_ATTACKER, 3, -48, 20, 1, 2, 30
+ createsprite gIngrainOrbSpriteTemplate, ANIM_ATTACKER, 3, -48, 20, 1, 2, 30
playsewithpan SE_W145C, SOUND_PAN_ATTACKER
delay 5
playsewithpan SE_W145C, SOUND_PAN_ATTACKER
delay 5
- createsprite gUnknown_0859258C, ANIM_ATTACKER, 3, 48, 26, -2, 3, 18
+ createsprite gIngrainOrbSpriteTemplate, ANIM_ATTACKER, 3, 48, 26, -2, 3, 18
playsewithpan SE_W145C, SOUND_PAN_ATTACKER
delay 10
waitforvisualfinish
@@ -7854,7 +7854,7 @@ Move_INGRAIN:
Move_PRESENT:
loadspritegfx ANIM_TAG_ITEM_BAG
createvisualtask AnimTask_IsHealingMove, 2
- createsprite gUnknown_08592610, ANIM_TARGET, 2, 0, -5, 10, 2, -1
+ createsprite gPresentSpriteTemplate, ANIM_TARGET, 2, 0, -5, 10, 2, -1
playsewithpan SE_W039, SOUND_PAN_ATTACKER
delay 14
playsewithpan SE_W145B, SOUND_PAN_ATTACKER
@@ -7889,23 +7889,23 @@ PresentHeal:
loadspritegfx ANIM_TAG_GREEN_SPARKLE
loadspritegfx ANIM_TAG_BLUE_STAR
playsewithpan SE_W234, SOUND_PAN_TARGET
- createsprite gUnknown_08592658, ANIM_TARGET, 4, -16, 32, -3, 1
+ createsprite gPresentHealParticleSpriteTemplate, ANIM_TARGET, 4, -16, 32, -3, 1
delay 3
- createsprite gUnknown_08592658, ANIM_TARGET, 4, 16, 32, -3, -1
+ createsprite gPresentHealParticleSpriteTemplate, ANIM_TARGET, 4, 16, 32, -3, -1
delay 3
- createsprite gUnknown_08592658, ANIM_TARGET, 4, 32, 32, -3, 1
+ createsprite gPresentHealParticleSpriteTemplate, ANIM_TARGET, 4, 32, 32, -3, 1
delay 3
- createsprite gUnknown_08592658, ANIM_TARGET, 4, -32, 32, -3, 1
+ createsprite gPresentHealParticleSpriteTemplate, ANIM_TARGET, 4, -32, 32, -3, 1
delay 3
- createsprite gUnknown_08592658, ANIM_TARGET, 4, 0, 32, -3, 1
+ createsprite gPresentHealParticleSpriteTemplate, ANIM_TARGET, 4, 0, 32, -3, 1
delay 3
- createsprite gUnknown_08592658, ANIM_TARGET, 4, -8, 32, -3, 1
+ createsprite gPresentHealParticleSpriteTemplate, ANIM_TARGET, 4, -8, 32, -3, 1
delay 3
- createsprite gUnknown_08592658, ANIM_TARGET, 4, -8, 32, -3, 1
+ createsprite gPresentHealParticleSpriteTemplate, ANIM_TARGET, 4, -8, 32, -3, 1
delay 3
- createsprite gUnknown_08592658, ANIM_TARGET, 4, 24, 32, -3, 1
+ createsprite gPresentHealParticleSpriteTemplate, ANIM_TARGET, 4, 24, 32, -3, 1
delay 3
- createsprite gUnknown_08592658, ANIM_TARGET, 4, -24, 32, -3, 1
+ createsprite gPresentHealParticleSpriteTemplate, ANIM_TARGET, 4, -24, 32, -3, 1
waitforvisualfinish
waitsound
call HealingEffect2
@@ -8115,8 +8115,8 @@ Move_ENCORE:
Move_TRICK:
loadspritegfx ANIM_TAG_ITEM_BAG
loadspritegfx ANIM_TAG_SPEED_DUST
- createsprite gUnknown_085926E8, ANIM_ATTACKER, 2, -40, 80
- createsprite gUnknown_085926E8, ANIM_ATTACKER, 2, -40, 208
+ createsprite gTrickBagSpriteTemplate, ANIM_ATTACKER, 2, -40, 80
+ createsprite gTrickBagSpriteTemplate, ANIM_ATTACKER, 2, -40, 208
delay 16
playsewithpan SE_W166, 0
createvisualtask sub_8106020, 3
@@ -8167,21 +8167,21 @@ Move_STOCKPILE:
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 2, 0, 12, 0, RGB_WHITE
end
Stockpile1:
- createsprite gUnknown_08592244, ANIM_ATTACKER, 2, 55, 55, 13
+ createsprite gStockpileAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, 55, 55, 13
delay 1
- createsprite gUnknown_08592244, ANIM_ATTACKER, 2, -55, -55, 13
+ createsprite gStockpileAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, -55, -55, 13
delay 1
- createsprite gUnknown_08592244, ANIM_ATTACKER, 2, 0, 55, 13
+ createsprite gStockpileAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, 0, 55, 13
delay 1
- createsprite gUnknown_08592244, ANIM_ATTACKER, 2, 0, -55, 13
+ createsprite gStockpileAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, 0, -55, 13
delay 1
- createsprite gUnknown_08592244, ANIM_ATTACKER, 2, 55, -34, 13
+ createsprite gStockpileAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, 55, -34, 13
delay 1
- createsprite gUnknown_08592244, ANIM_ATTACKER, 2, 55, 34, 13
+ createsprite gStockpileAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, 55, 34, 13
delay 1
- createsprite gUnknown_08592244, ANIM_ATTACKER, 2, -55, -34, 13
+ createsprite gStockpileAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, -55, -34, 13
delay 1
- createsprite gUnknown_08592244, ANIM_ATTACKER, 2, -55, 34, 13
+ createsprite gStockpileAbsorptionOrbSpriteTemplate, ANIM_ATTACKER, 2, -55, 34, 13
delay 1
return
@@ -8392,8 +8392,8 @@ Move_HYPER_BEAM:
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 1, 4, 16, 0, RGB_BLACK
end
HyperBeam1:
- createsprite gUnknown_08592288, ANIM_TARGET, 2
- createsprite gUnknown_08592288, ANIM_TARGET, 2
+ createsprite gHyperBeamOrbSpriteTemplate, ANIM_TARGET, 2
+ createsprite gHyperBeamOrbSpriteTemplate, ANIM_TARGET, 2
delay 1
return
@@ -8790,31 +8790,31 @@ Move_FRENZY_PLANT:
setalpha 12, 8
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, 1, 2, 0, 5, RGB_BLACK
waitforvisualfinish
- createsprite gUnknown_08592564, ANIM_ATTACKER, 2, 10, 8, 2, 0, 0, 100
+ createsprite gFrenzyPlantRootSpriteTemplate, ANIM_ATTACKER, 2, 10, 8, 2, 0, 0, 100
playsewithpan SE_W010, SOUND_PAN_ATTACKER
delay 5
- createsprite gUnknown_08592564, ANIM_ATTACKER, 2, 20, -8, -2, 0, 1, 95
+ createsprite gFrenzyPlantRootSpriteTemplate, ANIM_ATTACKER, 2, 20, -8, -2, 0, 1, 95
playsewithpan SE_W010, -43
delay 5
- createsprite gUnknown_08592564, ANIM_ATTACKER, 2, 30, 8, -4, 0, 0, 90
+ createsprite gFrenzyPlantRootSpriteTemplate, ANIM_ATTACKER, 2, 30, 8, -4, 0, 0, 90
playsewithpan SE_W010, -22
delay 5
- createsprite gUnknown_08592564, ANIM_ATTACKER, 2, 40, -8, 4, 0, 1, 85
+ createsprite gFrenzyPlantRootSpriteTemplate, ANIM_ATTACKER, 2, 40, -8, 4, 0, 1, 85
playsewithpan SE_W010, 0
delay 5
- createsprite gUnknown_08592564, ANIM_ATTACKER, 2, 50, 8, 0, 0, 0, 85
+ createsprite gFrenzyPlantRootSpriteTemplate, ANIM_ATTACKER, 2, 50, 8, 0, 0, 0, 85
playsewithpan SE_W010, +21
delay 5
- createsprite gUnknown_08592564, ANIM_ATTACKER, 2, 60, -8, -2, 0, 1, 85
+ createsprite gFrenzyPlantRootSpriteTemplate, ANIM_ATTACKER, 2, 60, -8, -2, 0, 1, 85
playsewithpan SE_W010, +42
delay 5
- createsprite gUnknown_08592564, ANIM_ATTACKER, 2, 75, 8, 0, 0, 0, 85
+ createsprite gFrenzyPlantRootSpriteTemplate, ANIM_ATTACKER, 2, 75, 8, 0, 0, 0, 85
playsewithpan SE_W010, SOUND_PAN_TARGET
delay 5
- createsprite gUnknown_08592564, ANIM_ATTACKER, 2, 85, 16, 6, 0, 3, 80
+ createsprite gFrenzyPlantRootSpriteTemplate, ANIM_ATTACKER, 2, 85, 16, 6, 0, 3, 80
playsewithpan SE_W010, SOUND_PAN_TARGET
delay 5
- createsprite gUnknown_08592564, ANIM_ATTACKER, 2, 85, -16, -6, 0, 2, 75
+ createsprite gFrenzyPlantRootSpriteTemplate, ANIM_ATTACKER, 2, 85, -16, -6, 0, 2, 75
playsewithpan SE_W010, SOUND_PAN_TARGET
delay 5
createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -10, 1, 3
@@ -9649,26 +9649,26 @@ Move_TWISTER:
monbg ANIM_DEF_PARTNER
monbgprio_28 ANIM_TARGET
playsewithpan SE_W239, SOUND_PAN_TARGET
- createsprite gUnknown_085923A8, ANIM_TARGET, 2, 120, 70, 5, 70, 30
+ createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 120, 70, 5, 70, 30
delay 1
- createsprite gUnknown_085923A8, ANIM_TARGET, 2, 115, 55, 6, 60, 25
+ createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 115, 55, 6, 60, 25
delay 1
- createsprite gUnknown_085923A8, ANIM_TARGET, 2, 115, 60, 7, 60, 30
- createsprite gUnknown_085923A8, ANIM_TARGET, 2, 115, 55, 10, 60, 30
+ createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 115, 60, 7, 60, 30
+ createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 115, 55, 10, 60, 30
delay 3
createsprite gUnknown_08596CC8, ANIM_TARGET, 2, 100, 50, 4, 50, 26
delay 1
- createsprite gUnknown_085923A8, ANIM_TARGET, 2, 105, 25, 8, 60, 20
+ createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 105, 25, 8, 60, 20
delay 1
- createsprite gUnknown_085923A8, ANIM_TARGET, 2, 115, 40, 10, 48, 30
+ createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 115, 40, 10, 48, 30
delay 3
createsprite gUnknown_08596CC8, ANIM_TARGET, 2, 120, 30, 6, 45, 25
- createsprite gUnknown_085923A8, ANIM_TARGET, 2, 115, 35, 10, 60, 30
+ createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 115, 35, 10, 60, 30
delay 3
createsprite gUnknown_08596CC8, ANIM_TARGET, 2, 105, 20, 8, 40, 0
delay 3
- createsprite gUnknown_085923A8, ANIM_TARGET, 2, 20, 255, 15, 32, 0
- createsprite gUnknown_085923A8, ANIM_TARGET, 2, 110, 10, 8, 32, 20
+ createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 20, 255, 15, 32, 0
+ createsprite gTwisterLeafParticleSpriteTemplate, ANIM_TARGET, 2, 110, 10, 8, 32, 20
waitforvisualfinish
createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, -32, -16, 1, 3
playsewithpan SE_W004, SOUND_PAN_TARGET
@@ -9697,29 +9697,29 @@ Move_MAGICAL_LEAF:
delay 1
loopsewithpan SE_W077, SOUND_PAN_ATTACKER, 10, 5
createvisualtask sub_81007C4, 5
- createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -3, -2, 10
+ createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, -3, -2, 10
delay 2
- createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -1, -1, 15
+ createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, -1, -1, 15
delay 2
- createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -4, -4, 7
+ createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, -4, -4, 7
delay 2
- createsprite gUnknown_08592390, ANIM_ATTACKER, 2, 3, -3, 11
+ createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, 3, -3, 11
delay 2
- createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -1, -6, 8
+ createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, -1, -6, 8
delay 2
- createsprite gUnknown_08592390, ANIM_ATTACKER, 2, 2, -1, 12
+ createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, 2, -1, 12
delay 2
- createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -3, -4, 13
+ createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, -3, -4, 13
delay 2
- createsprite gUnknown_08592390, ANIM_ATTACKER, 2, 4, -5, 7
+ createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, 4, -5, 7
delay 2
- createsprite gUnknown_08592390, ANIM_ATTACKER, 2, 2, -6, 11
+ createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, 2, -6, 11
delay 2
- createsprite gUnknown_08592390, ANIM_ATTACKER, 2, -3, -5, 8
+ createsprite gRazorLeafParticleSpriteTemplate, ANIM_ATTACKER, 2, -3, -5, 8
delay 60
playsewithpan SE_W013B, SOUND_PAN_ATTACKER
- createsprite gUnknown_085923D8, ANIM_TARGET, 3, 20, -10, 20, 0, 32, 20, 0
- createsprite gUnknown_085923D8, ANIM_TARGET, 3, 20, -10, 20, 0, 32, -20, 0
+ createsprite gRazorLeafCutterSpriteTemplate, ANIM_TARGET, 3, 20, -10, 20, 0, 32, 20, 0
+ createsprite gRazorLeafCutterSpriteTemplate, ANIM_TARGET, 3, 20, -10, 20, 0, 32, -20, 0
delay 30
playsewithpan SE_W013, SOUND_PAN_TARGET
createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, -10, -4, 1, 2
@@ -10344,7 +10344,7 @@ General_PokeblockThrow:
General_ItemKnockoff:
loadspritegfx ANIM_TAG_ITEM_BAG
- createsprite gBattleAnimSpriteTemplate_8592628, ANIM_TARGET, 2
+ createsprite gKnockOffItemSpriteTemplate, ANIM_TARGET, 2
end
General_TurnTrap:
@@ -10357,9 +10357,9 @@ General_TurnTrap:
Status_BindWrap:
loadspritegfx ANIM_TAG_TENDRILS
loopsewithpan SE_W010, SOUND_PAN_TARGET, 6, 2
- createsprite gUnknown_08592494, ANIM_TARGET, 4, 0, 16, 0, 1
+ createsprite gConstrictBindingSpriteTemplate, ANIM_TARGET, 4, 0, 16, 0, 1
delay 7
- createsprite gUnknown_08592494, ANIM_TARGET, 2, 0, 8, 1, 1
+ createsprite gConstrictBindingSpriteTemplate, ANIM_TARGET, 2, 0, 8, 1, 1
delay 3
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 8, 1
delay 20
@@ -10537,7 +10537,7 @@ General_ItemSteal:
createvisualtask sub_8117F30, 2
createvisualtask sub_8172ED0, 2
delay 1
- createsprite gUnknown_08592670, ANIM_ATTACKER, 2, 0, -5, 10, 2, -1
+ createsprite gItemStealSpriteTemplate, ANIM_ATTACKER, 2, 0, -5, 10, 2, -1
end
General_SnatchMove:
diff --git a/data/cry_id_table.inc b/data/cry_id_table.inc
deleted file mode 100644
index ece08de06..000000000
--- a/data/cry_id_table.inc
+++ /dev/null
@@ -1,137 +0,0 @@
- .align 1
-gSpeciesIdToCryId:: @ 831F61C
- .2byte 273 @ TREECKO
- .2byte 274 @ GROVYLE
- .2byte 275 @ SCEPTILE
- .2byte 270 @ TORCHIC
- .2byte 271 @ COMBUSKEN
- .2byte 272 @ BLAZIKEN
- .2byte 276 @ MUDKIP
- .2byte 277 @ MARSHTOMP
- .2byte 278 @ SWAMPERT
- .2byte 359 @ POOCHYENA
- .2byte 360 @ MIGHTYENA
- .2byte 378 @ ZIGZAGOON
- .2byte 375 @ LINOONE
- .2byte 290 @ WURMPLE
- .2byte 291 @ SILCOON
- .2byte 292 @ BEAUTIFLY
- .2byte 293 @ CASCOON
- .2byte 294 @ DUSTOX
- .2byte 283 @ LOTAD
- .2byte 284 @ LOMBRE
- .2byte 285 @ LUDICOLO
- .2byte 286 @ SEEDOT
- .2byte 287 @ NUZLEAF
- .2byte 288 @ SHIFTRY
- .2byte 301 @ NINCADA
- .2byte 302 @ NINJASK
- .2byte 303 @ SHEDINJA
- .2byte 266 @ TAILLOW
- .2byte 267 @ SWELLOW
- .2byte 374 @ SHROOMISH
- .2byte 373 @ BRELOOM
- .2byte 269 @ SPINDA
- .2byte 280 @ WINGULL
- .2byte 279 @ PELIPPER
- .2byte 310 @ SURSKIT
- .2byte 311 @ MASQUERAIN
- .2byte 377 @ WAILMER
- .2byte 381 @ WAILORD
- .2byte 312 @ SKITTY
- .2byte 313 @ DELCATTY
- .2byte 251 @ KECLEON
- .2byte 329 @ BALTOY
- .2byte 330 @ CLAYDOL
- .2byte 306 @ NOSEPASS
- .2byte 253 @ TORKOAL
- .2byte 362 @ SABLEYE
- .2byte 318 @ BARBOACH
- .2byte 319 @ WHISCASH
- .2byte 368 @ LUVDISC
- .2byte 320 @ CORPHISH
- .2byte 321 @ CRAWDAUNT
- .2byte 333 @ FEEBAS
- .2byte 334 @ MILOTIC
- .2byte 289 @ CARVANHA
- .2byte 260 @ SHARPEDO
- .2byte 324 @ TRAPINCH
- .2byte 325 @ VIBRAVA
- .2byte 326 @ FLYGON
- .2byte 304 @ MAKUHITA
- .2byte 305 @ HARIYAMA
- .2byte 254 @ ELECTRIKE
- .2byte 255 @ MANECTRIC
- .2byte 316 @ NUMEL
- .2byte 317 @ CAMERUPT
- .2byte 338 @ SPHEAL
- .2byte 339 @ SEALEO
- .2byte 340 @ WALREIN
- .2byte 327 @ CACNEA
- .2byte 328 @ CACTURNE
- .2byte 383 @ SNORUNT
- .2byte 307 @ GLALIE
- .2byte 331 @ LUNATONE
- .2byte 332 @ SOLROCK
- .2byte 262 @ AZURILL
- .2byte 322 @ SPOINK
- .2byte 323 @ GRUMPIG
- .2byte 308 @ PLUSLE
- .2byte 309 @ MINUN
- .2byte 363 @ MAWILE
- .2byte 336 @ MEDITITE
- .2byte 337 @ MEDICHAM
- .2byte 263 @ SWABLU
- .2byte 264 @ ALTARIA
- .2byte 258 @ WYNAUT
- .2byte 256 @ DUSKULL
- .2byte 361 @ DUSCLOPS
- .2byte 252 @ ROSELIA
- .2byte 298 @ SLAKOTH
- .2byte 299 @ VIGOROTH
- .2byte 300 @ SLAKING
- .2byte 314 @ GULPIN
- .2byte 315 @ SWALOT
- .2byte 376 @ TROPIUS
- .2byte 382 @ WHISMUR
- .2byte 380 @ LOUDRED
- .2byte 379 @ EXPLOUD
- .2byte 341 @ CLAMPERL
- .2byte 342 @ HUNTAIL
- .2byte 343 @ GOREBYSS
- .2byte 335 @ ABSOL
- .2byte 282 @ SHUPPET
- .2byte 281 @ BANETTE
- .2byte 259 @ SEVIPER
- .2byte 261 @ ZANGOOSE
- .2byte 367 @ RELICANTH
- .2byte 364 @ ARON
- .2byte 365 @ LAIRON
- .2byte 366 @ AGGRON
- .2byte 356 @ CASTFORM
- .2byte 357 @ VOLBEAT
- .2byte 358 @ ILLUMISE
- .2byte 344 @ LILEEP
- .2byte 345 @ CRADILY
- .2byte 346 @ ANORITH
- .2byte 347 @ ARMALDO
- .2byte 295 @ RALTS
- .2byte 296 @ KIRLIA
- .2byte 297 @ GARDEVOIR
- .2byte 351 @ BAGON
- .2byte 352 @ SHELGON
- .2byte 372 @ SALAMENCE
- .2byte 348 @ BELDUM
- .2byte 349 @ METANG
- .2byte 350 @ METAGROSS
- .2byte 353 @ REGIROCK
- .2byte 354 @ REGICE
- .2byte 355 @ REGISTEEL
- .2byte 370 @ KYOGRE
- .2byte 369 @ GROUDON
- .2byte 371 @ RAYQUAZA
- .2byte 257 @ LATIAS
- .2byte 384 @ LATIOS
- .2byte 385 @ JIRACHI
- .2byte 386 @ DEOXYS
- .2byte 387 @ CHIMECHO
diff --git a/data/data2c.s b/data/data2c.s
deleted file mode 100644
index 5bfea56ae..000000000
--- a/data/data2c.s
+++ /dev/null
@@ -1,56 +0,0 @@
-#include "constants/items.h"
-#include "constants/moves.h"
-#include "constants/species.h"
-#include "constants/trainers.h"
-#include "constants/pokemon.h"
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
- .align 2
-gBattleIntroSlideScanlineEffectParams:: @ 831AC70
- .4byte REG_BG3HOFS
- .4byte ((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1
- .4byte 1
-
- .align 2
-gUnknown_0831AC7C:: @ 831AC7C
- .4byte REG_BG3HOFS
- .4byte ((DMA_ENABLE | DMA_START_HBLANK | DMA_32BIT | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1
- .4byte 1
-
- .align 2
-gUnknown_0831AC88:: @ 831AC88
- spr_template 0x0000, 0x0000, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8038528
-
-gText_ShedinjaJapaneseName:: @ 831ACA0
- .string "ヌケニン$" @ Nukenin
-
- .align 2
-gUnknown_0831ACA8:: @ 831ACA8
- .2byte 0x0100
- .2byte 0xC000
- .2byte 0x0800
-
- .align 2
-gUnknown_0831ACB0:: @ 831ACB0
- .2byte 0x0100
- .2byte 0xC000
- .2byte 0x2800
-
- .align 2
-gUnknown_0831ACB8:: @ 831ACB8
- .2byte 0x0000, 0x0005, 0xfffe, 0x0000
-
- .align 2
-gUnknown_0831ACC0:: @ 831ACC0
- .4byte gUnknown_0831ACB8
-
- .align 2
-gUnknown_0831ACC4:: @ 831ACC4
- .2byte 0xfff0, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x3c00, 0x0000, 0x7ffe, 0x0001, 0x0000, 0x0000
-
- .align 2
-gUnknown_0831ACDC:: @ 831ACDC
- .4byte gUnknown_0831ACC4
diff --git a/data/event_scripts.s b/data/event_scripts.s
index 5bd8825ad..5b15bf090 100644
--- a/data/event_scripts.s
+++ b/data/event_scripts.s
@@ -1,5 +1,6 @@
#include "constants/battle_frontier.h"
#include "constants/battle_setup.h"
+#include "constants/event_objects.h"
#include "constants/field_effects.h"
#include "constants/flags.h"
#include "constants/items.h"
@@ -10,6 +11,7 @@
#include "constants/species.h"
#include "constants/trainers.h"
#include "constants/vars.h"
+#include "constants/weather.h"
.include "asm/macros.inc"
.include "asm/macros/event.inc"
.include "constants/constants.inc"
@@ -449,8 +451,7 @@ EventScript_SecretBasePC:: @ 823B4BB
EventScript_23B4D3:: @ 823B4D3
message Text_27681A
waitmessage
- checkflag FLAG_0x10C
- goto_eq EventScript_23B4EF
+ goto_if_set FLAG_0x10C, EventScript_23B4EF
goto EventScript_23B531
end
@@ -481,7 +482,7 @@ EventScript_23B531:: @ 823B531
EventScript_23B568:: @ 823B568
msgbox Text_2766AA, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq EventScript_23B4D3
+ goto_if_eq EventScript_23B4D3
closemessage
special sub_80E9AC0
releaseall
@@ -527,32 +528,32 @@ gUnknown_0823B5E9:: @ 823B5E9
EventScript_23B5F0:: @ 823B5F0
special sub_80E9BDC
compare VAR_RESULT, 1
- goto_eq EventScript_23B62F
+ goto_if_eq EventScript_23B62F
compare VAR_RESULT, 2
- goto_eq EventScript_23B652
+ goto_if_eq EventScript_23B652
special sub_80E980C
msgbox Text_276707, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq EventScript_23B5A1
+ goto_if_eq EventScript_23B5A1
msgbox Text_2767D1, MSGBOX_SIGN
special sub_80E9C2C
- special sub_80FA57C
+ special DoSecretBasePCTurnOffEffect
releaseall
end
EventScript_23B62F:: @ 823B62F
msgbox Text_276731, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq EventScript_23B5A1
+ goto_if_eq EventScript_23B5A1
msgbox Text_2767E9, MSGBOX_SIGN
special sub_80E9C2C
- special sub_80FA57C
+ special DoSecretBasePCTurnOffEffect
releaseall
end
EventScript_23B652:: @ 823B652
msgbox Text_27676F, MSGBOX_SIGN
- special sub_80FA57C
+ special DoSecretBasePCTurnOffEffect
closemessage
releaseall
end
@@ -563,7 +564,7 @@ EventScript_23B660:: @ 823B660
end
EventScript_23B66E:: @ 823B66E
- special sub_80FA57C
+ special DoSecretBasePCTurnOffEffect
closemessage
releaseall
end
@@ -591,15 +592,15 @@ EventScript_SecretBaseSandOrnament:: @ 823B684
end
EventScript_SecretBaseShieldOrToyTV:: @ 823B68C
- special sub_80FAC78
+ special GetShieldToyTVDecorationInfo
compare VAR_RESULT, 0
- goto_eq EventScript_23B6BC
+ goto_if_eq EventScript_23B6BC
compare VAR_RESULT, 1
- goto_eq EventScript_23B6C5
+ goto_if_eq EventScript_23B6C5
compare VAR_RESULT, 2
- goto_eq EventScript_23B6CE
+ goto_if_eq EventScript_23B6CE
compare VAR_RESULT, 3
- goto_eq EventScript_23B6D7
+ goto_if_eq EventScript_23B6D7
end
EventScript_23B6BC:: @ 823B6BC
@@ -847,9 +848,9 @@ VerdanturfTown_BattleTentLobby_EventScript_27134F:: @ 827134F
EventScript_271354:: @ 8271354
cmdD8
cmdD9
-
+
.include "data/scripts/trainer_battle.inc"
-
+
Std_MsgboxAutoclose:: @ 8271494
message 0x0
waitmessage
@@ -1108,7 +1109,7 @@ EverGrandeCity_HallOfFame_EventScript_2717C1:: @ 82717C1
setflag FLAG_0x87F
call EverGrandeCity_HallOfFame_EventScript_271829
compare VAR_0x40CC, 0
- call_if 1, EverGrandeCity_HallOfFame_EventScript_271839
+ call_if_eq EverGrandeCity_HallOfFame_EventScript_271839
clearflag FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS
call EverGrandeCity_HallOfFame_EventScript_2718CC
setflag FLAG_HIDE_SLATEPORT_CITY_STERNS_SHIPYARD_MR_BRINEY
@@ -1123,14 +1124,12 @@ EverGrandeCity_HallOfFame_EventScript_2717C1:: @ 82717C1
clearflag FLAG_HIDE_SAFARI_ZONE_SOUTH_EAST_EXPANSION
setflag FLAG_HIDE_LILYCOVE_CITY_RIVAL
special sub_813BA60
- checkflag FLAG_0x123
- call_if 0, EverGrandeCity_HallOfFame_EventScript_271843
- checkflag FLAG_0x12A
- call_if 0, EverGrandeCity_HallOfFame_EventScript_27183F
+ call_if_unset FLAG_0x123, EverGrandeCity_HallOfFame_EventScript_271843
+ call_if_unset FLAG_0x12A, EverGrandeCity_HallOfFame_EventScript_27183F
setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM
setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM
compare VAR_0x40D3, 0
- call_if 1, EverGrandeCity_HallOfFame_EventScript_271851
+ call_if_eq EverGrandeCity_HallOfFame_EventScript_271851
return
EverGrandeCity_HallOfFame_EventScript_271829:: @ 8271829
@@ -1166,11 +1165,11 @@ EventScript_WhiteOut:: @ 8271857
EventScript_271862:: @ 8271862
compare VAR_0x4096, 1
- goto_eq EverGrandeCity_HallOfFame_EventScript_271884
+ goto_if_eq EverGrandeCity_HallOfFame_EventScript_271884
compare VAR_0x4096, 2
- goto_eq EverGrandeCity_HallOfFame_EventScript_27189A
+ goto_if_eq EverGrandeCity_HallOfFame_EventScript_27189A
compare VAR_0x4096, 3
- goto_eq EverGrandeCity_HallOfFame_EventScript_2718B3
+ goto_if_eq EverGrandeCity_HallOfFame_EventScript_2718B3
end
EverGrandeCity_HallOfFame_EventScript_271884:: @ 8271884
@@ -1222,16 +1221,11 @@ PetalburgCity_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE
RustboroCity_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE
SlateportCity_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE
VerdanturfTown_PokemonCenter_1F_EventScript_2718DE:: @ 82718DE
- checkflag FLAG_0x0BC
- goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_27374E
- checkflag FLAG_0x4F4
- goto_eq OldaleTown_PokemonCenter_1F_EventScript_27374E
- checkflag FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT
- goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_27190C
- checkflag FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN
- goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_271912
- checkflag FLAG_HIDE_ROUTE_108_MR_BRINEY
- goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_271918
+ goto_if_unset FLAG_0x0BC, OldaleTown_PokemonCenter_1F_EventScript_27374E
+ goto_if_set FLAG_0x4F4, OldaleTown_PokemonCenter_1F_EventScript_27374E
+ 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
return
OldaleTown_PokemonCenter_1F_EventScript_27190C:: @ 827190C
@@ -1269,12 +1263,12 @@ VerdanturfTown_PokemonCenter_1F_EventScript_27191E:: @ 827191E
setvar VAR_0x8004, 0
specialvar VAR_RESULT, sub_80C2E40
compare VAR_RESULT, 4
- goto_eq OldaleTown_PokemonCenter_1F_EventScript_271A68
+ goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_271A68
msgbox gUnknown_082726EB, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq OldaleTown_PokemonCenter_1F_EventScript_27195A
+ goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_27195A
compare VAR_RESULT, 0
- goto_eq OldaleTown_PokemonCenter_1F_EventScript_271954
+ goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_271954
end
OldaleTown_PokemonCenter_1F_EventScript_271954:: @ 8271954
@@ -1284,13 +1278,12 @@ OldaleTown_PokemonCenter_1F_EventScript_271954:: @ 8271954
OldaleTown_PokemonCenter_1F_EventScript_27195A:: @ 827195A
incrementgamestat 15
compare VAR_0x8004, 0
- call_if 1, OldaleTown_PokemonCenter_1F_EventScript_271987
+ call_if_eq OldaleTown_PokemonCenter_1F_EventScript_271987
compare VAR_0x8004, 1
- call_if 1, OldaleTown_PokemonCenter_1F_EventScript_27198D
+ call_if_eq OldaleTown_PokemonCenter_1F_EventScript_27198D
waitmessage
call OldaleTown_PokemonCenter_1F_EventScript_271993
- checkflag FLAG_0x111
- goto_if 0, OldaleTown_PokemonCenter_1F_EventScript_271A43
+ goto_if_unset FLAG_0x111, OldaleTown_PokemonCenter_1F_EventScript_271A43
goto OldaleTown_PokemonCenter_1F_EventScript_2719B1
end
@@ -1315,18 +1308,18 @@ OldaleTown_PokemonCenter_1F_EventScript_271993:: @ 8271993
OldaleTown_PokemonCenter_1F_EventScript_2719B1:: @ 82719B1
specialvar VAR_RESULT, sub_8139ED0
compare VAR_RESULT, 0
- goto_eq OldaleTown_PokemonCenter_1F_EventScript_2719E2
+ goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_2719E2
specialvar VAR_RESULT, sp182_move_string
copyvar VAR_0x8008, VAR_RESULT
compare VAR_0x8008, 0
- goto_eq OldaleTown_PokemonCenter_1F_EventScript_2719E2
+ goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_2719E2
compare VAR_0x8008, 1
- goto_eq OldaleTown_PokemonCenter_1F_EventScript_271A19
+ goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_271A19
end
OldaleTown_PokemonCenter_1F_EventScript_2719E2:: @ 82719E2
compare VAR_0x8004, 1
- goto_eq OldaleTown_PokemonCenter_1F_EventScript_271A03
+ goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_271A03
message gUnknown_08272798
waitmessage
applymovement VAR_0x800B, OldaleTown_PokemonCenter_1F_Movement_271AD0
@@ -1343,8 +1336,7 @@ OldaleTown_PokemonCenter_1F_EventScript_271A03:: @ 8271A03
return
OldaleTown_PokemonCenter_1F_EventScript_271A19:: @ 8271A19
- checkflag FLAG_0x880
- goto_eq OldaleTown_PokemonCenter_1F_EventScript_2719E2
+ goto_if_set FLAG_0x880, OldaleTown_PokemonCenter_1F_EventScript_2719E2
msgbox gUnknown_08272798, MSGBOX_DEFAULT
setflag FLAG_0x880
message OldaleTown_PokemonCenter_1F_Text_278A48
@@ -1357,9 +1349,9 @@ OldaleTown_PokemonCenter_1F_EventScript_271A19:: @ 8271A19
OldaleTown_PokemonCenter_1F_EventScript_271A43:: @ 8271A43
specialvar VAR_RESULT, IsPokerusInParty
compare VAR_RESULT, 1
- goto_eq OldaleTown_PokemonCenter_1F_EventScript_271A5F
+ goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_271A5F
compare VAR_RESULT, 0
- goto_eq OldaleTown_PokemonCenter_1F_EventScript_2719B1
+ goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_2719B1
end
OldaleTown_PokemonCenter_1F_EventScript_271A5F:: @ 8271A5F
@@ -1368,8 +1360,7 @@ OldaleTown_PokemonCenter_1F_EventScript_271A5F:: @ 8271A5F
return
OldaleTown_PokemonCenter_1F_EventScript_271A68:: @ 8271A68
- checkflag FLAG_0x159
- goto_eq OldaleTown_PokemonCenter_1F_EventScript_271AAC
+ goto_if_set FLAG_0x159, OldaleTown_PokemonCenter_1F_EventScript_271AAC
setflag FLAG_0x159
msgbox gUnknown_082727F5, MSGBOX_DEFAULT
playse SE_PIN
@@ -1379,14 +1370,14 @@ OldaleTown_PokemonCenter_1F_EventScript_271A68:: @ 8271A68
waitmovement 0
msgbox gUnknown_08272860, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq OldaleTown_PokemonCenter_1F_EventScript_271AC5
+ 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_eq OldaleTown_PokemonCenter_1F_EventScript_271AC5
+ goto_if_eq OldaleTown_PokemonCenter_1F_EventScript_271AC5
message gUnknown_08272A07
return
@@ -1411,9 +1402,9 @@ EventScript_271AE3:: @ 8271AE3
checkitemtype VAR_0x8000
call EventScript_271B08
compare VAR_0x8007, 1
- call_if 1, EventScript_271B95
+ call_if_eq EventScript_271B95
compare VAR_0x8007, 0
- call_if 1, EventScript_271BA9
+ call_if_eq EventScript_271BA9
return
EventScript_271B08:: @ 8271B08
@@ -1428,31 +1419,31 @@ EventScript_271B08:: @ 8271B08
EventScript_271B45:: @ 8271B45
bufferstdstring 2, 14
compare VAR_0x8007, 1
- call_if 1, EventScript_271BAF
+ call_if_eq EventScript_271BAF
return
EventScript_271B55:: @ 8271B55
bufferstdstring 2, 15
compare VAR_0x8007, 1
- call_if 1, EventScript_271BAF
+ call_if_eq EventScript_271BAF
return
EventScript_271B65:: @ 8271B65
bufferstdstring 2, 16
compare VAR_0x8007, 1
- call_if 1, EventScript_271BAF
+ call_if_eq EventScript_271BAF
return
EventScript_271B75:: @ 8271B75
bufferstdstring 2, 17
compare VAR_0x8007, 1
- call_if 1, EventScript_271BB3
+ call_if_eq EventScript_271BB3
return
EventScript_271B85:: @ 8271B85
bufferstdstring 2, 18
compare VAR_0x8007, 1
- call_if 1, EventScript_271BAF
+ call_if_eq EventScript_271BAF
return
EventScript_271B95:: @ 8271B95
@@ -1483,9 +1474,9 @@ Std_ObtainDecoration:: @ 8271BB7
EventScript_271BC5:: @ 8271BC5
bufferdecorationname 1, VAR_0x8000
compare VAR_0x8007, 1
- call_if 1, EventScript_271BE0
+ call_if_eq EventScript_271BE0
compare VAR_0x8007, 0
- call_if 1, EventScript_271BF7
+ call_if_eq EventScript_271BF7
return
EventScript_271BE0:: @ 8271BE0
@@ -1512,9 +1503,9 @@ Std_FindItem:: @ 8271BFD
checkitemtype VAR_0x8000
call EventScript_271B08
compare VAR_0x8007, 1
- call_if 1, EventScript_271C3A
+ call_if_eq EventScript_271C3A
compare VAR_0x8007, 0
- call_if 1, EventScript_271CA1
+ call_if_eq EventScript_271CA1
release
return
@@ -1524,16 +1515,16 @@ EventScript_271C3A:: @ 8271C3A
specialvar VAR_RESULT, sub_81398C0
copyvar VAR_0x8008, VAR_RESULT
compare VAR_0x8008, 1
- call_if 1, EventScript_271C8F
+ call_if_eq EventScript_271C8F
compare VAR_0x8008, 0
- call_if 1, EventScript_271C9B
+ call_if_eq EventScript_271C9B
waitfanfare
waitmessage
bufferitemnameplural 1, VAR_0x8004, 32773
setvar VAR_0x8004, 12
special CallBattlePyramidFunction
compare VAR_RESULT, 1
- goto_eq EventScript_271C86
+ goto_if_eq EventScript_271C86
msgbox gUnknown_08272A9A, MSGBOX_DEFAULT
return
@@ -1565,9 +1556,9 @@ EventScript_HiddenItemScript:: @ 8271CB7
checkitemtype VAR_0x8005
call EventScript_271B08
compare VAR_0x8007, 1
- goto_eq EventScript_271CE8
+ goto_if_eq EventScript_271CE8
compare VAR_0x8007, 0
- goto_eq EventScript_271D47
+ goto_if_eq EventScript_271D47
end
EventScript_271CE8:: @ 8271CE8
@@ -1575,9 +1566,9 @@ EventScript_271CE8:: @ 8271CE8
copyvar VAR_0x8004, VAR_0x8005
specialvar VAR_RESULT, sub_81398C0
compare VAR_RESULT, 1
- goto_eq EventScript_271D0E
+ goto_if_eq EventScript_271D0E
compare VAR_RESULT, 0
- goto_eq EventScript_271D1F
+ goto_if_eq EventScript_271D1F
end
EventScript_271D0E:: @ 8271D0E
@@ -1614,9 +1605,9 @@ EventScript_271D5E:: @ 8271D5E
faceplayer
msgbox Text_27260D, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq EventScript_271D83
+ goto_if_eq EventScript_271D83
compare VAR_RESULT, 0
- goto_eq EventScript_271D89
+ goto_if_eq EventScript_271D89
goto EventScript_271D89
EventScript_271D83:: @ 8271D83
@@ -1668,12 +1659,10 @@ EventScript_271DF9:: @ 8271DF9
EventScript_271E0E:: @ 8271E0E
playse SE_PC_LOGIN
- checkflag FLAG_SYS_PC_LANETTE
- call_if 0, EventScript_271E35
- checkflag FLAG_SYS_PC_LANETTE
- call_if 1, EventScript_271E3E
+ call_if_unset FLAG_SYS_PC_LANETTE, EventScript_271E35
+ call_if_set FLAG_SYS_PC_LANETTE, EventScript_271E3E
msgbox gUnknown_082726A3, MSGBOX_DEFAULT
- special ShowPokemonStorageSystem
+ special ShowPokemonStorageSystemPC
waitstate
goto EventScript_271DAC
end
@@ -1694,8 +1683,7 @@ EventScript_271E47:: @ 8271E47
end
EventScript_271E54:: @ 8271E54
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, EventScript_271E47
+ goto_if_unset FLAG_SYS_GAME_CLEAR, EventScript_271E47
playse SE_PC_LOGIN
special AccessHallOfFamePC
waitstate
@@ -1776,13 +1764,13 @@ Route109_EventScript_271E95:: @ 8271E95
EventScript_UseSurf:: @ 8271EA0
checkpartymove MOVE_SURF
compare VAR_RESULT, 6
- goto_eq EventScript_271ED6
+ goto_if_eq EventScript_271ED6
bufferpartymonnick 0, VAR_RESULT
setfieldeffectargument 0, VAR_RESULT
lockall
msgbox gUnknown_08272FD6, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq EventScript_271ED5
+ goto_if_eq EventScript_271ED5
msgbox gUnknown_0827300D, MSGBOX_DEFAULT
dofieldeffect FLDEFF_USE_SURF
@@ -1805,9 +1793,9 @@ Route119_EventScript_271ED7:: @ 8271ED7
RustboroCity_EventScript_271ED7:: @ 8271ED7
checkplayergender
compare VAR_RESULT, 0
- goto_eq RustboroCity_EventScript_271EEF
+ goto_if_eq RustboroCity_EventScript_271EEF
compare VAR_RESULT, 1
- goto_eq RustboroCity_EventScript_271EF5
+ goto_if_eq RustboroCity_EventScript_271EF5
end
RustboroCity_EventScript_271EEF:: @ 8271EEF
@@ -1823,9 +1811,9 @@ Route110_EventScript_271EFB:: @ 8271EFB
Route119_EventScript_271EFB:: @ 8271EFB
checkplayergender
compare VAR_RESULT, 0
- goto_eq LavaridgeTown_EventScript_271F13
+ goto_if_eq LavaridgeTown_EventScript_271F13
compare VAR_RESULT, 1
- goto_eq LavaridgeTown_EventScript_271F19
+ goto_if_eq LavaridgeTown_EventScript_271F19
end
LavaridgeTown_EventScript_271F13:: @ 8271F13
@@ -1839,9 +1827,9 @@ LavaridgeTown_EventScript_271F19:: @ 8271F19
EventScript_271F1F:: @ 8271F1F
checkplayergender
compare VAR_RESULT, 0
- goto_eq EventScript_271F37
+ goto_if_eq EventScript_271F37
compare VAR_RESULT, 1
- goto_eq EventScript_271F3D
+ goto_if_eq EventScript_271F3D
end
EventScript_271F37:: @ 8271F37
@@ -2099,25 +2087,24 @@ LittlerootTown_ProfessorBirchsLab_EventScript_2720AD:: @ 82720AD
Route101_EventScript_2720AD:: @ 82720AD
Route103_EventScript_2720AD:: @ 82720AD
compare VAR_0x4085, 0
- goto_eq Route101_EventScript_27374E
- checkflag FLAG_SYS_GAME_CLEAR
- goto_eq Route101_EventScript_27211A
+ goto_if_eq Route101_EventScript_27374E
+ goto_if_set FLAG_SYS_GAME_CLEAR, Route101_EventScript_27211A
compare VAR_BIRCH_STATE, 0
- call_if 1, Route101_EventScript_27211A
+ call_if_eq Route101_EventScript_27211A
compare VAR_BIRCH_STATE, 1
- call_if 1, Route101_EventScript_27211A
+ call_if_eq Route101_EventScript_27211A
compare VAR_BIRCH_STATE, 2
- call_if 1, Route101_EventScript_272127
+ call_if_eq Route101_EventScript_272127
compare VAR_BIRCH_STATE, 3
- call_if 1, Route101_EventScript_272127
+ call_if_eq Route101_EventScript_272127
compare VAR_BIRCH_STATE, 4
- call_if 1, Route101_EventScript_272134
+ call_if_eq Route101_EventScript_272134
compare VAR_BIRCH_STATE, 5
- call_if 1, Route101_EventScript_272134
+ call_if_eq Route101_EventScript_272134
compare VAR_BIRCH_STATE, 6
- call_if 1, Route101_EventScript_27211A
+ call_if_eq Route101_EventScript_27211A
compare VAR_BIRCH_STATE, 7
- call_if 1, Route101_EventScript_27211A
+ call_if_eq Route101_EventScript_27211A
return
Route101_EventScript_27211A:: @ 827211A
@@ -2146,15 +2133,13 @@ Route101_EventScript_272141:: @ 8272141
Route103_EventScript_272141:: @ 8272141
lock
faceplayer
- checkflag FLAG_HAS_MATCH_CALL
- goto_if 0, Route101_EventScript_272155
- checkflag FLAG_0x119
- goto_if 0, Route101_EventScript_1FA2D2
+ goto_if_unset FLAG_HAS_MATCH_CALL, Route101_EventScript_272155
+ goto_if_unset FLAG_0x119, Route101_EventScript_1FA2D2
Route101_EventScript_272155:: @ 8272155
msgbox gUnknown_082A5C9C, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq Route101_EventScript_27216F
+ goto_if_eq Route101_EventScript_27216F
call Route101_EventScript_272184
release
end
@@ -2183,7 +2168,7 @@ Route101_EventScript_272184:: @ 8272184
msgbox gUnknown_082A5D2C, MSGBOX_DEFAULT
call Route101_EventScript_272179
compare VAR_0x800A, 0
- goto_eq Route101_EventScript_27374E
+ goto_if_eq Route101_EventScript_27374E
setvar VAR_0x8004, 1
specialvar VAR_RESULT, ScriptGetPokedexInfo
copyvar VAR_0x8008, VAR_0x8005
@@ -2234,11 +2219,11 @@ RusturfTunnel_EventScript_272216:: @ 8272216
EventScript_27222B:: @ 827222B
delay 30
- applymovement 255, PetalburgCity_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_2725A6
waitmovement 0
showobjectat 255, MAP_PETALBURG_CITY
delay 30
- applymovement 255, Movement_27224E
+ applymovement EVENT_OBJ_ID_PLAYER, Movement_27224E
waitmovement 0
delay 30
return
@@ -2253,9 +2238,9 @@ FarawayIsland_Entrance_EventScript_272250:: @ 8272250
NavelRock_Harbor_EventScript_272250:: @ 8272250
SouthernIsland_Exterior_EventScript_272250:: @ 8272250
compare VAR_FACING, 1
- call_if 1, BattleFrontier_OutsideWest_EventScript_242A21
+ call_if_eq BattleFrontier_OutsideWest_EventScript_242A21
compare VAR_FACING, 3
- call_if 1, BattleFrontier_OutsideWest_EventScript_242A2C
+ call_if_eq BattleFrontier_OutsideWest_EventScript_242A2C
delay 30
hideobjectat 255, MAP_PETALBURG_CITY
call BattleFrontier_OutsideWest_EventScript_2721E2
@@ -2362,7 +2347,7 @@ Route119_EventScript_272336:: @ 8272336
Route120_EventScript_272336:: @ 8272336
checkitem ITEM_DEVON_SCOPE, 1
compare VAR_RESULT, 1
- goto_eq Route119_EventScript_272350
+ goto_if_eq Route119_EventScript_272350
msgbox Route119_Text_1F5D00, MSGBOX_DEFAULT
release
end
@@ -2370,7 +2355,7 @@ Route120_EventScript_272336:: @ 8272336
Route119_EventScript_272350:: @ 8272350
msgbox Route119_Text_1F5D23, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq Route119_EventScript_272365
+ goto_if_eq Route119_EventScript_272365
release
end
@@ -2391,11 +2376,11 @@ Route119_EventScript_272365:: @ 8272365
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
compare VAR_RESULT, 1
- goto_eq Route119_EventScript_2723C1
+ goto_if_eq Route119_EventScript_2723C1
compare VAR_RESULT, 4
- goto_eq Route119_EventScript_2723C1
+ goto_if_eq Route119_EventScript_2723C1
compare VAR_RESULT, 5
- goto_eq Route119_EventScript_2723C1
+ goto_if_eq Route119_EventScript_2723C1
release
end
@@ -2454,7 +2439,7 @@ EverGrandeCity_DrakesRoom_EventScript_2723F8:: @ 82723F8
EverGrandeCity_GlaciasRoom_EventScript_2723F8:: @ 82723F8
EverGrandeCity_PhoebesRoom_EventScript_2723F8:: @ 82723F8
EverGrandeCity_SidneysRoom_EventScript_2723F8:: @ 82723F8
- applymovement 255, EverGrandeCity_SidneysRoom_Movement_2725C6
+ applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_SidneysRoom_Movement_2725C6
waitmovement 0
playse SE_DOOR
setmetatile 6, 1, 836, 0
@@ -2476,7 +2461,7 @@ EverGrandeCity_DrakesRoom_EventScript_272475:: @ 8272475
EverGrandeCity_GlaciasRoom_EventScript_272475:: @ 8272475
EverGrandeCity_PhoebesRoom_EventScript_272475:: @ 8272475
EverGrandeCity_SidneysRoom_EventScript_272475:: @ 8272475
- applymovement 255, EverGrandeCity_SidneysRoom_Movement_2725BA
+ applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_SidneysRoom_Movement_2725BA
waitmovement 0
playse SE_TRACK_DOOR
setmetatile 5, 12, 518, 1
@@ -3198,9 +3183,9 @@ EventScript_Poison:: @ 82736BC
special ExecuteWhiteOut
waitstate
compare VAR_RESULT, 1
- goto_eq EventScript_2736D9
+ goto_if_eq EventScript_2736D9
compare VAR_RESULT, 2
- goto_eq EventScript_2736F8
+ goto_if_eq EventScript_2736F8
releaseall
end
@@ -3211,8 +3196,7 @@ EventScript_2736D9:: @ 82736D9
special sub_80B05B4
waitstate
fadescreen 1
- checkflag FLAG_0x06C
- call_if 1, EventScript_2736F4
+ call_if_set FLAG_0x06C, EventScript_2736F4
special sp0C8_whiteout_maybe
waitstate
end
@@ -3228,17 +3212,17 @@ EventScript_2736F8:: @ 82736F8
setvar VAR_0x8004, 16
special CallBattlePikeFunction
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4222
+ goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4222
setvar VAR_0x8004, 12
special CallBattlePyramidFunction
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattlePyramidTop_EventScript_252B42
+ goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_252B42
compare VAR_RESULT, 2
- goto_eq BattleFrontier_BattlePyramidTop_EventScript_252B42
+ goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_252B42
setvar VAR_0x8004, 10
special sp194_trainer_tower
compare VAR_RESULT, 1
- goto_eq TrainerHill_1F_EventScript_2C83C9
+ goto_if_eq TrainerHill_1F_EventScript_2C83C9
special sub_80B05B4
waitstate
fadescreen 1
@@ -3396,16 +3380,14 @@ Route119_WeatherInstitute_2F_EventScript_2737A0:: @ 82737A0
RustboroCity_DevonCorp_2F_EventScript_2737A0:: @ 82737A0
bufferboxname 0, 16438
bufferspeciesname 1, VAR_TEMP_1
- checkflag FLAG_SYS_PC_LANETTE
- call_if 0, LittlerootTown_ProfessorBirchsLab_EventScript_2737BB
- checkflag FLAG_SYS_PC_LANETTE
- call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_2737E6
+ 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_eq LittlerootTown_ProfessorBirchsLab_EventScript_2737D4
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_2737D4
msgbox gText_PkmnTransferredSomeonesPC, MSGBOX_DEFAULT
return
@@ -3418,7 +3400,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_2737D4:: @ 82737D4
LittlerootTown_ProfessorBirchsLab_EventScript_2737E6:: @ 82737E6
specialvar VAR_RESULT, sub_813B21C
compare VAR_RESULT, 1
- goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_2737FF
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_2737FF
msgbox gText_PkmnTransferredLanettesPC, MSGBOX_DEFAULT
return
@@ -3440,27 +3422,25 @@ EventScript_Questionnaire:: @ 827381B
lockall
msgbox gUnknown_0827339F, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq EventScript_2738FD
+ goto_if_eq EventScript_2738FD
setvar VAR_0x8004, 20
call MauvilleCity_PokemonCenter_1F_EventScript_271E7C
lock
faceplayer
specialvar VAR_0x8008, sub_813B490
compare VAR_0x8004, 1
- goto_eq EventScript_27386D
+ goto_if_eq EventScript_27386D
compare VAR_0x8004, 2
- goto_eq EventScript_2738B5
+ goto_if_eq EventScript_2738B5
compare VAR_RESULT, 0
- goto_eq EventScript_2738FD
+ goto_if_eq EventScript_2738FD
compare VAR_RESULT, 1
- goto_eq EventScript_2738FF
+ goto_if_eq EventScript_2738FF
end
EventScript_27386D:: @ 827386D
- checkflag FLAG_SYS_POKEDEX_GET
- goto_if 0, EventScript_2738FF
- checkflag FLAG_SYS_MYSTERY_EVENT_ENABLE
- goto_eq EventScript_2738FF
+ goto_if_unset FLAG_SYS_POKEDEX_GET, EventScript_2738FF
+ goto_if_set FLAG_SYS_MYSTERY_EVENT_ENABLE, EventScript_2738FF
applymovement VAR_0x8008, BattleFrontier_Mart_Movement_2725B0
waitmovement 0
playse SE_PIN
@@ -3475,10 +3455,8 @@ EventScript_27386D:: @ 827386D
end
EventScript_2738B5:: @ 82738B5
- checkflag FLAG_SYS_POKEDEX_GET
- goto_if 0, EventScript_2738FF
- checkflag FLAG_SYS_MYSTERY_GIFT_ENABLE
- goto_eq EventScript_2738FF
+ goto_if_unset FLAG_SYS_POKEDEX_GET, EventScript_2738FF
+ goto_if_set FLAG_SYS_MYSTERY_GIFT_ENABLE, EventScript_2738FF
applymovement VAR_0x8008, BattleFrontier_Mart_Movement_2725B0
waitmovement 0
playse SE_PIN
@@ -3693,7 +3671,7 @@ gUnknown_08273D1F:: @ 8273D1F
gUnknown_08273D1F:: @ 8273D1F
lockall
compare VAR_0x4037, 9
- goto_if 4, Route105_EventScript_273D51
+ goto_if_ge Route105_EventScript_273D51
goto Route105_EventScript_273D5F
end
@@ -3963,7 +3941,7 @@ Std_RegisteredInMatchCall:: @ 82742C9
EventScript_TryGetTrainerScript:: @ 82742E6
special ShouldTryGetTrainerScript
compare VAR_RESULT, 1
- goto_eq EventScript_GotoTrainerScript
+ goto_if_eq EventScript_GotoTrainerScript
releaseall
end
@@ -4245,7 +4223,7 @@ gUnknown_0827EE07:: @ 27EE07
gUnknown_0827EE09:: @ 27EE09
.string "8$"
-
+
.include "data/scripts/tv.inc"
.include "data/text/tv.inc"
@@ -4262,13 +4240,13 @@ SlateportCity_PokemonFanClub_EventScript_28C7F0:: @ 828C7F0
setvar VAR_0x8005, 1
special InterviewBefore
compare VAR_RESULT, 1
- goto_eq SlateportCity_PokemonFanClub_EventScript_28C879
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_28C879
copyvar VAR_0x8009, VAR_0x8006
msgbox SlateportCity_PokemonFanClub_Text_280674, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq SlateportCity_PokemonFanClub_EventScript_28C827
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_28C827
compare VAR_RESULT, 0
- goto_eq SlateportCity_PokemonFanClub_EventScript_28C85C
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_28C85C
end
SlateportCity_PokemonFanClub_EventScript_28C827:: @ 828C827
@@ -4280,9 +4258,9 @@ SlateportCity_PokemonFanClub_EventScript_28C827:: @ 828C827
lock
faceplayer
compare VAR_RESULT, 1
- goto_eq SlateportCity_PokemonFanClub_EventScript_28C866
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_28C866
compare VAR_RESULT, 0
- goto_eq SlateportCity_PokemonFanClub_EventScript_28C85C
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_28C85C
end
SlateportCity_PokemonFanClub_EventScript_28C85C:: @ 828C85C
@@ -4307,24 +4285,23 @@ SlateportCity_OceanicMuseum_1F_EventScript_28C883:: @ 828C883
setvar VAR_0x8005, 2
special InterviewBefore
compare VAR_RESULT, 1
- goto_eq SlateportCity_OceanicMuseum_1F_EventScript_28C939
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_28C939
copyvar VAR_0x8009, VAR_0x8006
- checkflag FLAG_0x069
- goto_eq SlateportCity_OceanicMuseum_1F_EventScript_28C8C8
+ goto_if_set FLAG_0x069, SlateportCity_OceanicMuseum_1F_EventScript_28C8C8
setflag FLAG_0x069
msgbox SlateportCity_OceanicMuseum_1F_Text_2811A0, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq SlateportCity_OceanicMuseum_1F_EventScript_28C8E7
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_28C8E7
compare VAR_RESULT, 0
- goto_eq SlateportCity_OceanicMuseum_1F_EventScript_28C91C
+ 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_eq SlateportCity_OceanicMuseum_1F_EventScript_28C8E7
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_28C8E7
compare VAR_RESULT, 0
- goto_eq SlateportCity_OceanicMuseum_1F_EventScript_28C91C
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_28C91C
end
SlateportCity_OceanicMuseum_1F_EventScript_28C8E7:: @ 828C8E7
@@ -4336,9 +4313,9 @@ SlateportCity_OceanicMuseum_1F_EventScript_28C8E7:: @ 828C8E7
lock
faceplayer
compare VAR_RESULT, 1
- goto_eq SlateportCity_OceanicMuseum_1F_EventScript_28C926
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_28C926
compare VAR_RESULT, 0
- goto_eq SlateportCity_OceanicMuseum_1F_EventScript_28C91C
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_28C91C
end
SlateportCity_OceanicMuseum_1F_EventScript_28C91C:: @ 828C91C
@@ -4362,17 +4339,17 @@ SlateportCity_PokemonFanClub_EventScript_28C943:: @ 828C943
faceplayer
specialvar VAR_RESULT, sub_80EF8F8
compare VAR_RESULT, 0
- goto_eq SlateportCity_PokemonFanClub_EventScript_28C7F0
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_28C7F0
setvar VAR_0x8005, 3
special InterviewBefore
compare VAR_RESULT, 1
- goto_eq SlateportCity_PokemonFanClub_EventScript_28CA4F
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_28CA4F
copyvar VAR_0x8009, VAR_0x8006
msgbox SlateportCity_PokemonFanClub_Text_280270, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq SlateportCity_PokemonFanClub_EventScript_28C98C
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_28C98C
compare VAR_RESULT, 0
- goto_eq SlateportCity_PokemonFanClub_EventScript_28CA45
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_28CA45
end
SlateportCity_PokemonFanClub_EventScript_28C98C:: @ 828C98C
@@ -4408,14 +4385,14 @@ SlateportCity_PokemonFanClub_EventScript_28C9ED:: @ 828C9ED
lock
faceplayer
compare VAR_RESULT, 0
- goto_eq SlateportCity_PokemonFanClub_EventScript_28CA45
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_28CA45
msgbox SlateportCity_PokemonFanClub_Text_2804AC, MSGBOX_DEFAULT
setvar VAR_0x8006, 1
call SlateportCity_PokemonFanClub_EventScript_271E7C
lock
faceplayer
compare VAR_RESULT, 0
- goto_eq SlateportCity_PokemonFanClub_EventScript_28CA45
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_28CA45
msgbox SlateportCity_PokemonFanClub_Text_280523, MSGBOX_DEFAULT
copyvar VAR_0x8007, VAR_0x800A
setvar VAR_0x8005, 3
@@ -4435,18 +4412,17 @@ SlateportCity_PokemonFanClub_EventScript_28CA4F:: @ 828CA4F
LilycoveCity_ContestLobby_EventScript_28CA59:: @ 828CA59
lock
faceplayer
- checkflag FLAG_TEMP_2
- goto_eq LilycoveCity_ContestLobby_EventScript_28CB21
+ goto_if_set FLAG_TEMP_2, LilycoveCity_ContestLobby_EventScript_28CB21
setvar VAR_0x8005, 6
special InterviewBefore
compare VAR_RESULT, 1
- goto_eq LilycoveCity_ContestLobby_EventScript_28CB21
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_28CB21
copyvar VAR_0x8009, VAR_0x8006
msgbox LilycoveCity_ContestLobby_Text_27EF15, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq LilycoveCity_ContestLobby_EventScript_28CA9B
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_28CA9B
compare VAR_RESULT, 0
- goto_eq LilycoveCity_ContestLobby_EventScript_28CAD0
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_28CAD0
end
LilycoveCity_ContestLobby_EventScript_28CA9B:: @ 828CA9B
@@ -4458,9 +4434,9 @@ LilycoveCity_ContestLobby_EventScript_28CA9B:: @ 828CA9B
lock
faceplayer
compare VAR_RESULT, 1
- goto_eq LilycoveCity_ContestLobby_EventScript_28CADA
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_28CADA
compare VAR_RESULT, 0
- goto_eq LilycoveCity_ContestLobby_EventScript_28CAD0
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_28CAD0
end
LilycoveCity_ContestLobby_EventScript_28CAD0:: @ 828CAD0
@@ -4479,7 +4455,7 @@ LilycoveCity_ContestLobby_EventScript_28CADA:: @ 828CADA
lock
faceplayer
compare VAR_RESULT, 0
- goto_eq LilycoveCity_ContestLobby_EventScript_28CAD0
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_28CAD0
msgbox LilycoveCity_ContestLobby_Text_27F0EC, MSGBOX_DEFAULT
setflag FLAG_TEMP_2
setvar VAR_0x8005, 6
@@ -4493,11 +4469,11 @@ LilycoveCity_ContestLobby_EventScript_28CB21:: @ 828CB21
LilycoveCity_ContestLobby_EventScript_28CB2B:: @ 828CB2B
compare VAR_0x4086, 2
- goto_if 5, LilycoveCity_ContestLobby_EventScript_28CB95
+ goto_if_ne LilycoveCity_ContestLobby_EventScript_28CB95
setvar VAR_0x8005, 6
special InterviewBefore
compare VAR_RESULT, 1
- goto_eq LilycoveCity_ContestLobby_EventScript_28CB95
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_28CB95
switch VAR_0x4088
case 0, LilycoveCity_ContestLobby_EventScript_28CB95
case 2, LilycoveCity_ContestLobby_EventScript_28CB91
@@ -4517,18 +4493,17 @@ LilycoveCity_ContestLobby_EventScript_28CB95:: @ 828CB95
BattleFrontier_BattleTowerLobby_EventScript_28CB96:: @ 828CB96
lock
faceplayer
- checkflag FLAG_TEMP_2
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CC7A
+ goto_if_set FLAG_TEMP_2, BattleFrontier_BattleTowerLobby_EventScript_28CC7A
setvar VAR_0x8005, 7
special InterviewBefore
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CC7A
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CC7A
copyvar VAR_0x8009, VAR_0x8006
msgbox BattleFrontier_BattleTowerLobby_Text_27F704, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CBD8
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CBD8
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CC2E
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CC2E
end
BattleFrontier_BattleTowerLobby_EventScript_28CBD8:: @ 828CBD8
@@ -4537,9 +4512,9 @@ BattleFrontier_BattleTowerLobby_EventScript_28CBD8:: @ 828CBD8
multichoice 20, 8, 45, 1
copyvar VAR_0x8008, VAR_RESULT
compare VAR_RESULT, 0
- call_if 1, BattleFrontier_BattleTowerLobby_EventScript_28CC38
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CC38
compare VAR_RESULT, 1
- call_if 1, BattleFrontier_BattleTowerLobby_EventScript_28CC41
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CC41
msgbox BattleFrontier_BattleTowerLobby_Text_27F97A, MSGBOX_DEFAULT
setvar VAR_0x8004, 12
copyvar VAR_0x8005, VAR_0x8009
@@ -4547,9 +4522,9 @@ BattleFrontier_BattleTowerLobby_EventScript_28CBD8:: @ 828CBD8
lock
faceplayer
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CC4A
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CC4A
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CC70
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CC70
end
BattleFrontier_BattleTowerLobby_EventScript_28CC2E:: @ 828CC2E
@@ -4567,7 +4542,7 @@ BattleFrontier_BattleTowerLobby_EventScript_28CC41:: @ 828CC41
BattleFrontier_BattleTowerLobby_EventScript_28CC4A:: @ 828CC4A
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CC70
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CC70
msgbox BattleFrontier_BattleTowerLobby_Text_27F9FD, MSGBOX_DEFAULT
setflag FLAG_TEMP_2
copyvar VAR_0x8004, VAR_0x8008
@@ -4587,11 +4562,11 @@ BattleFrontier_BattleTowerLobby_EventScript_28CC7A:: @ 828CC7A
BattleFrontier_BattleTowerLobby_EventScript_28CC84:: @ 828CC84
compare VAR_0x40BC, 0
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CCA6
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CCA6
setvar VAR_0x8005, 7
special InterviewBefore
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_28CCA6
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_28CCA6
clearflag FLAG_HIDE_BATTLE_TOWER_REPORTER
return
@@ -4697,11 +4672,11 @@ Text_RepelWoreOff: @ 82A4B33
MauvilleCity_GameCorner_EventScript_2A5AB1:: @ 82A5AB1
checkitem ITEM_COIN_CASE, 1
compare VAR_RESULT, 0
- goto_eq MauvilleCity_GameCorner_EventScript_210456
+ goto_if_eq MauvilleCity_GameCorner_EventScript_210456
setvar VAR_0x8004, 0
getpricereduction 2
compare VAR_RESULT, 0
- goto_eq MauvilleCity_GameCorner_EventScript_2A5B0D
+ goto_if_eq MauvilleCity_GameCorner_EventScript_2A5B0D
addvar VAR_0x8004, 128
goto MauvilleCity_GameCorner_EventScript_2A5B0D
end
@@ -4709,11 +4684,11 @@ MauvilleCity_GameCorner_EventScript_2A5AB1:: @ 82A5AB1
MauvilleCity_GameCorner_EventScript_2A5ADF:: @ 82A5ADF
checkitem ITEM_COIN_CASE, 1
compare VAR_RESULT, 0
- goto_eq MauvilleCity_GameCorner_EventScript_210456
+ goto_if_eq MauvilleCity_GameCorner_EventScript_210456
setvar VAR_0x8004, 1
getpricereduction 2
compare VAR_RESULT, 0
- goto_eq MauvilleCity_GameCorner_EventScript_2A5B0D
+ goto_if_eq MauvilleCity_GameCorner_EventScript_2A5B0D
addvar VAR_0x8004, 128
goto MauvilleCity_GameCorner_EventScript_2A5B0D
end
@@ -4778,7 +4753,7 @@ MtPyre_2F_MapScript1_2A8331: @ 82A8331
EventScript_FallDownHole:: @ 82A8337
lockall
delay 20
- applymovement 255, GraniteCave_B1F_Movement_2A8369
+ applymovement EVENT_OBJ_ID_PLAYER, GraniteCave_B1F_Movement_2A8369
waitmovement 0
playse SE_RU_HYUU
delay 60
@@ -4789,7 +4764,7 @@ EventScript_FallDownHole:: @ 82A8337
gUnknown_082A8350:: @ 82A8350
lockall
delay 20
- applymovement 255, GraniteCave_B1F_Movement_2A8369
+ applymovement EVENT_OBJ_ID_PLAYER, GraniteCave_B1F_Movement_2A8369
waitmovement 0
playse SE_RU_HYUU
delay 60
@@ -4815,11 +4790,11 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8395:: @ 82A8395
msgbox LilycoveCity_PokemonCenter_1F_Text_2A8A69, MSGBOX_DEFAULT
specialvar VAR_RESULT, sub_818DBE8
compare VAR_RESULT, 0
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A83D0
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A83D0
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A83C6
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A83C6
compare VAR_RESULT, 2
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8510
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8510
end
LilycoveCity_PokemonCenter_1F_EventScript_2A83C6:: @ 82A83C6
@@ -4832,9 +4807,9 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A83D0:: @ 82A83D0
msgbox LilycoveCity_PokemonCenter_1F_Text_2A8A7D, MSGBOX_DEFAULT
specialvar VAR_RESULT, sub_818DC60
compare VAR_RESULT, 0
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8435
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8435
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A83F7
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A83F7
end
LilycoveCity_PokemonCenter_1F_EventScript_2A83F7:: @ 82A83F7
@@ -4842,9 +4817,9 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A83F7:: @ 82A83F7
special sub_818DD14
specialvar VAR_RESULT, sub_818DD54
compare VAR_RESULT, 0
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8419
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8419
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8427
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8427
end
LilycoveCity_PokemonCenter_1F_EventScript_2A8419:: @ 82A8419
@@ -4860,9 +4835,9 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8427:: @ 82A8427
LilycoveCity_PokemonCenter_1F_EventScript_2A8435:: @ 82A8435
msgbox LilycoveCity_PokemonCenter_1F_Text_2A8B69, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8454
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8454
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A845E
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A845E
end
LilycoveCity_PokemonCenter_1F_EventScript_2A8454:: @ 82A8454
@@ -4881,25 +4856,25 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A846C:: @ 82A846C
special sub_818DD78
waitstate
compare VAR_RESULT, 0
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A848E
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A848E
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84AD
+ 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_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8454
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8454
compare VAR_RESULT, 0
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A846C
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A846C
end
LilycoveCity_PokemonCenter_1F_EventScript_2A84AD:: @ 82A84AD
specialvar VAR_RESULT, sub_818DE44
compare VAR_RESULT, 0
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84C9
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84C9
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84D6
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84D6
end
LilycoveCity_PokemonCenter_1F_EventScript_2A84C9:: @ 82A84C9
@@ -4911,9 +4886,9 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A84C9:: @ 82A84C9
LilycoveCity_PokemonCenter_1F_EventScript_2A84D6:: @ 82A84D6
specialvar VAR_RESULT, sub_818DE5C
compare VAR_RESULT, 0
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84F2
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84F2
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84FF
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A84FF
end
LilycoveCity_PokemonCenter_1F_EventScript_2A84F2:: @ 82A84F2
@@ -4934,9 +4909,9 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8510:: @ 82A8510
msgbox LilycoveCity_PokemonCenter_1F_Text_2A8D5D, MSGBOX_DEFAULT
giveitem_std VAR_0x8004
compare VAR_RESULT, 0
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8545
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8545
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A854F
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A854F
end
LilycoveCity_PokemonCenter_1F_EventScript_2A8545:: @ 82A8545
@@ -4955,29 +4930,29 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8554:: @ 82A8554
msgbox LilycoveCity_PokemonCenter_1F_Text_2A8E2B, MSGBOX_DEFAULT
specialvar VAR_RESULT, sub_818E038
compare VAR_RESULT, 0
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8585
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8585
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85AC
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85AC
compare VAR_RESULT, 2
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A86EC
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A86EC
end
LilycoveCity_PokemonCenter_1F_EventScript_2A8585:: @ 82A8585
specialvar VAR_RESULT, sub_818E06C
compare VAR_RESULT, 0
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85C8
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85C8
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85D2
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85D2
compare VAR_RESULT, 2
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85E0
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85E0
end
LilycoveCity_PokemonCenter_1F_EventScript_2A85AC:: @ 82A85AC
specialvar VAR_RESULT, sub_818E2D8
compare VAR_RESULT, 0
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8759
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8759
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85C8
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A85C8
end
LilycoveCity_PokemonCenter_1F_EventScript_2A85C8:: @ 82A85C8
@@ -4999,9 +4974,9 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A85EE:: @ 82A85EE
setvar VAR_0x8004, 0
msgbox LilycoveCity_PokemonCenter_1F_Text_2A8EEC, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A861C
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A861C
compare VAR_RESULT, 0
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8612
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8612
end
LilycoveCity_PokemonCenter_1F_EventScript_2A8612:: @ 82A8612
@@ -5012,15 +4987,15 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8612:: @ 82A8612
LilycoveCity_PokemonCenter_1F_EventScript_2A861C:: @ 82A861C
special sub_818E3BC
compare VAR_0x8004, 0
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A864C
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A864C
compare VAR_0x8004, 15
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8656
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8656
LilycoveCity_PokemonCenter_1F_EventScript_2A8635:: @ 82A8635
compare VAR_RESULT, 0
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8660
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8660
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8689
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8689
end
LilycoveCity_PokemonCenter_1F_EventScript_2A864C:: @ 82A864C
@@ -5038,9 +5013,9 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8656:: @ 82A8656
LilycoveCity_PokemonCenter_1F_EventScript_2A8660:: @ 82A8660
msgbox LilycoveCity_PokemonCenter_1F_Text_2A8F7E, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A867F
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A867F
compare VAR_RESULT, 0
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A861C
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A861C
end
LilycoveCity_PokemonCenter_1F_EventScript_2A867F:: @ 82A867F
@@ -5053,9 +5028,9 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8689:: @ 82A8689
msgbox LilycoveCity_PokemonCenter_1F_Text_2A8F4D, MSGBOX_DEFAULT
specialvar VAR_RESULT, sub_818E308
compare VAR_RESULT, 0
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A86C7
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A86C7
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A86B0
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A86B0
end
LilycoveCity_PokemonCenter_1F_EventScript_2A86B0:: @ 82A86B0
@@ -5080,9 +5055,9 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A86C7:: @ 82A86C7
LilycoveCity_PokemonCenter_1F_EventScript_2A86EC:: @ 82A86EC
specialvar VAR_RESULT, sub_818E298
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8708
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8708
compare VAR_RESULT, 0
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8716
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8716
end
LilycoveCity_PokemonCenter_1F_EventScript_2A8708:: @ 82A8708
@@ -5101,7 +5076,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8724:: @ 82A8724
special sub_818E37C
giveitem_std VAR_0x8005
compare VAR_RESULT, 0
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A874C
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A874C
goto LilycoveCity_PokemonCenter_1F_EventScript_2A8759
end
@@ -5114,9 +5089,9 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A874C:: @ 82A874C
LilycoveCity_PokemonCenter_1F_EventScript_2A8759:: @ 82A8759
msgbox LilycoveCity_PokemonCenter_1F_Text_2A90FB, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8785
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8785
compare VAR_RESULT, 0
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8778
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8778
end
LilycoveCity_PokemonCenter_1F_EventScript_2A8778:: @ 82A8778
@@ -5134,17 +5109,17 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A878D:: @ 82A878D
special sub_818E3E0
waitstate
compare VAR_RESULT, 0
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A87AF
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A87AF
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A87CE
+ 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_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8778
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8778
compare VAR_RESULT, 0
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A878D
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A878D
end
LilycoveCity_PokemonCenter_1F_EventScript_2A87CE:: @ 82A87CE
@@ -5158,16 +5133,16 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A87E1:: @ 82A87E1
special sub_818E47C
waitstate
compare VAR_RESULT, 0
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A87F8
+ 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_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8778
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8778
compare VAR_RESULT, 0
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A87E1
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A87E1
end
LilycoveCity_PokemonCenter_1F_EventScript_2A8817:: @ 82A8817
@@ -5184,17 +5159,17 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A882A:: @ 82A882A
msgbox LilycoveCity_PokemonCenter_1F_Text_2A93A7, MSGBOX_DEFAULT
specialvar VAR_RESULT, sub_818E8B4
compare VAR_RESULT, 0
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8850
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8850
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A886C
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A886C
end
LilycoveCity_PokemonCenter_1F_EventScript_2A8850:: @ 82A8850
specialvar VAR_RESULT, sub_818E8E0
compare VAR_RESULT, 0
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8876
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8876
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A886C
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A886C
end
LilycoveCity_PokemonCenter_1F_EventScript_2A886C:: @ 82A886C
@@ -5207,12 +5182,12 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A8876:: @ 82A8876
msgbox LilycoveCity_PokemonCenter_1F_Text_2A93F4, MSGBOX_DEFAULT
checkitem ITEM_POKEBLOCK_CASE, 1
compare VAR_RESULT, 0
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A89AE
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A89AE
msgbox LilycoveCity_PokemonCenter_1F_Text_2A94E8, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88B0
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88B0
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88BA
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88BA
end
LilycoveCity_PokemonCenter_1F_EventScript_2A88B0:: @ 82A88B0
@@ -5225,17 +5200,17 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A88BA:: @ 82A88BA
special sub_818E92C
waitstate
compare VAR_RESULT, 65535
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88D7
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88D7
compare VAR_RESULT, 65535
- goto_if 5, LilycoveCity_PokemonCenter_1F_EventScript_2A88F6
+ 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_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88B0
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88B0
compare VAR_RESULT, 0
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88BA
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A88BA
end
LilycoveCity_PokemonCenter_1F_EventScript_2A88F6:: @ 82A88F6
@@ -5257,7 +5232,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A890A:: @ 82A890A
delay 120
waitmoncry
compare VAR_0x8004, 1
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A893F
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A893F
goto LilycoveCity_PokemonCenter_1F_EventScript_2A894C
end
@@ -5271,9 +5246,9 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A894C:: @ 82A894C
waitmovement 0
delay 60
compare VAR_0x8004, 0
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8970
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8970
compare VAR_0x8004, 1
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A897E
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A897E
end
LilycoveCity_PokemonCenter_1F_EventScript_2A8970:: @ 82A8970
@@ -5290,7 +5265,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A897E:: @ 82A897E
LilycoveCity_PokemonCenter_1F_EventScript_2A898F:: @ 82A898F
specialvar VAR_RESULT, sub_818E8E0
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A89A1
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A89A1
release
end
@@ -5335,15 +5310,15 @@ LilycoveCity_PokemonCenter_1F_EventScript_2A89C7:: @ 82A89C7
special sub_818E914
special sub_818E960
compare VAR_RESULT, 0
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A0A
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A0A
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A1D
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A1D
compare VAR_RESULT, 2
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A30
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A30
compare VAR_RESULT, 3
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A43
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A43
compare VAR_RESULT, 4
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A56
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_2A8A56
end
LilycoveCity_PokemonCenter_1F_EventScript_2A8A0A:: @ 82A8A0A
@@ -9007,13 +8982,13 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3EE8:: @ 82C3EE8
setvar VAR_0x8004, 5
special CallBattlePikeFunction
compare VAR_RESULT, 3
- goto_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F35
+ goto_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F35
compare VAR_RESULT, 6
- goto_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F35
+ goto_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F35
compare VAR_RESULT, 7
- goto_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F35
+ goto_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F35
compare VAR_RESULT, 8
- goto_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F3F
+ goto_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C3F3F
hideobjectat 2, MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1
setvar VAR_TEMP_4, 1
turnobject 255, 2
@@ -9079,7 +9054,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_2C3F6F:: @ 82C3F6F
end
BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030:: @ 82C4030
- applymovement 255, BattleFrontier_BattlePikeThreePathRoom_Movement_2C427A
+ 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
@@ -9087,7 +9062,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4030:: @ 82C4030
end
BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4049:: @ 82C4049
- applymovement 255, BattleFrontier_BattlePikeThreePathRoom_Movement_2C427A
+ 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
@@ -9124,9 +9099,9 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_2C40A2:: @ 82C40A2
setvar VAR_0x8004, 25
special CallBattlePikeFunction
compare VAR_RESULT, 1
- call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4128
+ call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4128
compare VAR_RESULT, 1
- call_if 5, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4136
+ call_if_ne BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4136
setvar VAR_0x8004, 1
setvar VAR_0x8005, 1
special CallBattlePikeFunction
@@ -9146,9 +9121,9 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_2C40A2:: @ 82C40A2
setvar VAR_0x8004, 3
special CallBattlePikeFunction
compare VAR_RESULT, 1
- call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4144
+ call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4144
compare VAR_RESULT, 0
- call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C415C
+ call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_2C415C
waitstate
end
@@ -9168,7 +9143,7 @@ BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4136:: @ 82C4136
BattleFrontier_BattlePikeRandomRoom1_EventScript_2C4144:: @ 82C4144
BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4144:: @ 82C4144
- applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_2C427A
+ 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
@@ -9176,7 +9151,7 @@ BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4144:: @ 82C4144
BattleFrontier_BattlePikeRandomRoom1_EventScript_2C415C:: @ 82C415C
BattleFrontier_BattlePikeRandomRoom3_EventScript_2C415C:: @ 82C415C
- applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_2C427A
+ 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
@@ -9188,9 +9163,9 @@ BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4174:: @ 82C4174
setvar VAR_0x8004, 25
special CallBattlePikeFunction
compare VAR_RESULT, 1
- call_if 1, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4128
+ call_if_eq BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4128
compare VAR_RESULT, 1
- call_if 5, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4136
+ call_if_ne BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4136
setvar VAR_0x8004, 1
setvar VAR_0x8005, 1
special CallBattlePikeFunction
@@ -9210,9 +9185,9 @@ BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4174:: @ 82C4174
setvar VAR_0x8004, 3
special CallBattlePikeFunction
compare VAR_RESULT, 1
- call_if 1, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4144
+ call_if_eq BattleFrontier_BattlePikeRandomRoom3_EventScript_2C4144
compare VAR_RESULT, 0
- call_if 1, BattleFrontier_BattlePikeRandomRoom3_EventScript_2C415C
+ call_if_eq BattleFrontier_BattlePikeRandomRoom3_EventScript_2C415C
waitstate
end
@@ -9245,9 +9220,9 @@ BattleFrontier_BattlePikeThreePathRoom_MapScript1_2C423E: @ 82C423E
setvar VAR_0x8005, 0
special CallFrontierUtilFunc
compare VAR_RESULT, 2
- goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_2C426B
+ goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_2C426B
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_2C426B
+ goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_2C426B
call BattleFrontier_BattlePikeThreePathRoom_EventScript_2C4271
BattleFrontier_BattlePikeThreePathRoom_EventScript_2C426B:: @ 82C426B
@@ -10083,19 +10058,18 @@ PacifidlogTown_PokemonCenter_1F_Text_2C7E7A: @ 82C7E7A
SlateportCity_PokemonFanClub_EventScript_2C7F16:: @ 82C7F16
lock
faceplayer
- checkflag FLAG_0x1B1
- goto_eq SlateportCity_PokemonFanClub_EventScript_2C7F74
+ goto_if_set FLAG_0x1B1, SlateportCity_PokemonFanClub_EventScript_2C7F74
msgbox SlateportCity_PokemonFanClub_Text_2C6E37, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq SlateportCity_PokemonFanClub_EventScript_2C7F6A
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_2C7F6A
call SlateportCity_PokemonFanClub_EventScript_2C832D
compare VAR_RESULT, 0
- goto_eq SlateportCity_PokemonFanClub_EventScript_2C7F6A
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_2C7F6A
msgbox SlateportCity_PokemonFanClub_Text_2C6F66, MSGBOX_DEFAULT
setvar VAR_0x8005, 23
call SlateportCity_PokemonFanClub_EventScript_2C8326
compare VAR_RESULT, 0
- goto_eq SlateportCity_PokemonFanClub_EventScript_2C7F6A
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_2C7F6A
setflag FLAG_0x1B1
goto SlateportCity_PokemonFanClub_EventScript_2C7F74
end
@@ -10113,19 +10087,18 @@ SlateportCity_PokemonFanClub_EventScript_2C7F74:: @ 82C7F74
MauvilleCity_EventScript_2C7F7E:: @ 82C7F7E
lock
faceplayer
- checkflag FLAG_0x1B2
- goto_eq MauvilleCity_EventScript_2C7FDC
+ goto_if_set FLAG_0x1B2, MauvilleCity_EventScript_2C7FDC
msgbox MauvilleCity_Text_2C6FDB, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq MauvilleCity_EventScript_2C7FD2
+ goto_if_eq MauvilleCity_EventScript_2C7FD2
call MauvilleCity_EventScript_2C832D
compare VAR_RESULT, 0
- goto_eq MauvilleCity_EventScript_2C7FD2
+ goto_if_eq MauvilleCity_EventScript_2C7FD2
msgbox MauvilleCity_Text_2C70F3, MSGBOX_DEFAULT
setvar VAR_0x8005, 16
call MauvilleCity_EventScript_2C8326
compare VAR_RESULT, 0
- goto_eq MauvilleCity_EventScript_2C7FD2
+ goto_if_eq MauvilleCity_EventScript_2C7FD2
setflag FLAG_0x1B2
goto MauvilleCity_EventScript_2C7FDC
end
@@ -10143,19 +10116,18 @@ MauvilleCity_EventScript_2C7FDC:: @ 82C7FDC
VerdanturfTown_PokemonCenter_1F_EventScript_2C7FE6:: @ 82C7FE6
lock
faceplayer
- checkflag FLAG_0x1B3
- goto_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C8044
+ goto_if_set FLAG_0x1B3, VerdanturfTown_PokemonCenter_1F_EventScript_2C8044
msgbox VerdanturfTown_PokemonCenter_1F_Text_2C7174, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C803A
+ goto_if_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C803A
call VerdanturfTown_PokemonCenter_1F_EventScript_2C832D
compare VAR_RESULT, 0
- goto_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C803A
+ goto_if_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C803A
msgbox VerdanturfTown_PokemonCenter_1F_Text_2C7243, MSGBOX_DEFAULT
setvar VAR_0x8005, 29
call VerdanturfTown_PokemonCenter_1F_EventScript_2C8326
compare VAR_RESULT, 0
- goto_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C803A
+ goto_if_eq VerdanturfTown_PokemonCenter_1F_EventScript_2C803A
setflag FLAG_0x1B3
goto VerdanturfTown_PokemonCenter_1F_EventScript_2C8044
end
@@ -10173,19 +10145,18 @@ VerdanturfTown_PokemonCenter_1F_EventScript_2C8044:: @ 82C8044
LavaridgeTown_House_EventScript_2C804E:: @ 82C804E
lock
faceplayer
- checkflag FLAG_0x1B4
- goto_eq LavaridgeTown_House_EventScript_2C80AC
+ goto_if_set FLAG_0x1B4, LavaridgeTown_House_EventScript_2C80AC
msgbox LavaridgeTown_House_Text_2C72B6, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq LavaridgeTown_House_EventScript_2C80A2
+ goto_if_eq LavaridgeTown_House_EventScript_2C80A2
call LavaridgeTown_House_EventScript_2C832D
compare VAR_RESULT, 0
- goto_eq LavaridgeTown_House_EventScript_2C80A2
+ goto_if_eq LavaridgeTown_House_EventScript_2C80A2
msgbox LavaridgeTown_House_Text_2C73B1, MSGBOX_DEFAULT
setvar VAR_0x8005, 7
call LavaridgeTown_House_EventScript_2C8326
compare VAR_RESULT, 0
- goto_eq LavaridgeTown_House_EventScript_2C80A2
+ goto_if_eq LavaridgeTown_House_EventScript_2C80A2
setflag FLAG_0x1B4
goto LavaridgeTown_House_EventScript_2C80AC
end
@@ -10203,19 +10174,18 @@ LavaridgeTown_House_EventScript_2C80AC:: @ 82C80AC
FallarborTown_Mart_EventScript_2C80B6:: @ 82C80B6
lock
faceplayer
- checkflag FLAG_0x1B5
- goto_eq FallarborTown_Mart_EventScript_2C8114
+ goto_if_set FLAG_0x1B5, FallarborTown_Mart_EventScript_2C8114
msgbox FallarborTown_Mart_Text_2C7449, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq FallarborTown_Mart_EventScript_2C810A
+ goto_if_eq FallarborTown_Mart_EventScript_2C810A
call FallarborTown_Mart_EventScript_2C832D
compare VAR_RESULT, 0
- goto_eq FallarborTown_Mart_EventScript_2C810A
+ goto_if_eq FallarborTown_Mart_EventScript_2C810A
msgbox FallarborTown_Mart_Text_2C7582, MSGBOX_DEFAULT
setvar VAR_0x8005, 8
call FallarborTown_Mart_EventScript_2C8326
compare VAR_RESULT, 0
- goto_eq FallarborTown_Mart_EventScript_2C810A
+ goto_if_eq FallarborTown_Mart_EventScript_2C810A
setflag FLAG_0x1B5
goto FallarborTown_Mart_EventScript_2C8114
end
@@ -10233,19 +10203,18 @@ FallarborTown_Mart_EventScript_2C8114:: @ 82C8114
FortreeCity_House2_EventScript_2C811E:: @ 82C811E
lock
faceplayer
- checkflag FLAG_0x1B6
- goto_eq FortreeCity_House2_EventScript_2C817C
+ goto_if_set FLAG_0x1B6, FortreeCity_House2_EventScript_2C817C
msgbox FortreeCity_House2_Text_2C7637, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq FortreeCity_House2_EventScript_2C8172
+ goto_if_eq FortreeCity_House2_EventScript_2C8172
call FortreeCity_House2_EventScript_2C832D
compare VAR_RESULT, 0
- goto_eq FortreeCity_House2_EventScript_2C8172
+ goto_if_eq FortreeCity_House2_EventScript_2C8172
msgbox FortreeCity_House2_Text_2C7721, MSGBOX_DEFAULT
setvar VAR_0x8005, 24
call FortreeCity_House2_EventScript_2C8326
compare VAR_RESULT, 0
- goto_eq FortreeCity_House2_EventScript_2C8172
+ goto_if_eq FortreeCity_House2_EventScript_2C8172
setflag FLAG_0x1B6
goto FortreeCity_House2_EventScript_2C817C
end
@@ -10263,19 +10232,18 @@ FortreeCity_House2_EventScript_2C817C:: @ 82C817C
LilycoveCity_DepartmentStoreRooftop_EventScript_2C8186:: @ 82C8186
lock
faceplayer
- checkflag FLAG_0x1B7
- goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81E4
+ goto_if_set FLAG_0x1B7, LilycoveCity_DepartmentStoreRooftop_EventScript_2C81E4
msgbox LilycoveCity_DepartmentStoreRooftop_Text_2C77C6, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA
+ goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA
call LilycoveCity_DepartmentStoreRooftop_EventScript_2C832D
compare VAR_RESULT, 0
- goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA
+ goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA
msgbox LilycoveCity_DepartmentStoreRooftop_Text_2C7911, MSGBOX_DEFAULT
setvar VAR_0x8005, 14
call LilycoveCity_DepartmentStoreRooftop_EventScript_2C8326
compare VAR_RESULT, 0
- goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA
+ goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_2C81DA
setflag FLAG_0x1B7
goto LilycoveCity_DepartmentStoreRooftop_EventScript_2C81E4
end
@@ -10293,19 +10261,18 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_2C81E4:: @ 82C81E4
MossdeepCity_EventScript_2C81EE:: @ 82C81EE
lock
faceplayer
- checkflag FLAG_0x1B8
- goto_eq MossdeepCity_EventScript_2C824C
+ goto_if_set FLAG_0x1B8, MossdeepCity_EventScript_2C824C
msgbox MossdeepCity_Text_2C79A6, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq MossdeepCity_EventScript_2C8242
+ goto_if_eq MossdeepCity_EventScript_2C8242
call MossdeepCity_EventScript_2C832D
compare VAR_RESULT, 0
- goto_eq MossdeepCity_EventScript_2C8242
+ goto_if_eq MossdeepCity_EventScript_2C8242
msgbox MossdeepCity_Text_2C7B0D, MSGBOX_DEFAULT
setvar VAR_0x8005, 15
call MossdeepCity_EventScript_2C8326
compare VAR_RESULT, 0
- goto_eq MossdeepCity_EventScript_2C8242
+ goto_if_eq MossdeepCity_EventScript_2C8242
setflag FLAG_0x1B8
goto MossdeepCity_EventScript_2C824C
end
@@ -10323,19 +10290,18 @@ MossdeepCity_EventScript_2C824C:: @ 82C824C
SootopolisCity_PokemonCenter_1F_EventScript_2C8256:: @ 82C8256
lock
faceplayer
- checkflag FLAG_0x1B9
- goto_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82B4
+ goto_if_set FLAG_0x1B9, SootopolisCity_PokemonCenter_1F_EventScript_2C82B4
msgbox SootopolisCity_PokemonCenter_1F_Text_2C7B8E, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82AA
+ goto_if_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82AA
call SootopolisCity_PokemonCenter_1F_EventScript_2C832D
compare VAR_RESULT, 0
- goto_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82AA
+ goto_if_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82AA
msgbox SootopolisCity_PokemonCenter_1F_Text_2C7C98, MSGBOX_DEFAULT
setvar VAR_0x8005, 4
call SootopolisCity_PokemonCenter_1F_EventScript_2C8326
compare VAR_RESULT, 0
- goto_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82AA
+ goto_if_eq SootopolisCity_PokemonCenter_1F_EventScript_2C82AA
setflag FLAG_0x1B9
goto SootopolisCity_PokemonCenter_1F_EventScript_2C82B4
end
@@ -10353,19 +10319,18 @@ SootopolisCity_PokemonCenter_1F_EventScript_2C82B4:: @ 82C82B4
PacifidlogTown_PokemonCenter_1F_EventScript_2C82BE:: @ 82C82BE
lock
faceplayer
- checkflag FLAG_0x1BA
- goto_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C831C
+ goto_if_set FLAG_0x1BA, PacifidlogTown_PokemonCenter_1F_EventScript_2C831C
msgbox PacifidlogTown_PokemonCenter_1F_Text_2C7CFA, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C8312
+ goto_if_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C8312
call PacifidlogTown_PokemonCenter_1F_EventScript_2C832D
compare VAR_RESULT, 0
- goto_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C8312
+ goto_if_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C8312
msgbox PacifidlogTown_PokemonCenter_1F_Text_2C7E40, MSGBOX_DEFAULT
setvar VAR_0x8005, 12
call PacifidlogTown_PokemonCenter_1F_EventScript_2C8326
compare VAR_RESULT, 0
- goto_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C8312
+ goto_if_eq PacifidlogTown_PokemonCenter_1F_EventScript_2C8312
setflag FLAG_0x1BA
goto PacifidlogTown_PokemonCenter_1F_EventScript_2C831C
end
@@ -10421,11 +10386,11 @@ TrainerHill_Roof_MapScript1_2C8336: @ 82C8336
setvar VAR_0x8005, 5
special CallFrontierUtilFunc
compare VAR_RESULT, 2
- goto_eq TrainerHill_1F_EventScript_2C83C9
+ goto_if_eq TrainerHill_1F_EventScript_2C83C9
compare VAR_RESULT, 3
- goto_eq TrainerHill_1F_EventScript_2C83C9
+ goto_if_eq TrainerHill_1F_EventScript_2C83C9
compare VAR_RESULT, 9
- goto_eq TrainerHill_1F_EventScript_2C83C9
+ goto_if_eq TrainerHill_1F_EventScript_2C83C9
end
TrainerHill_1F_MapScript2_2C8372: @ 82C8372
@@ -10459,7 +10424,7 @@ TrainerHill_1F_EventScript_2C83A6:: @ 82C83A6
setvar VAR_0x8004, 9
special sp194_trainer_tower
compare VAR_RESULT, 1
- goto_eq TrainerHill_1F_EventScript_2C83BF
+ goto_if_eq TrainerHill_1F_EventScript_2C83BF
end
TrainerHill_1F_EventScript_2C83BF:: @ 82C83BF
diff --git a/data/field_effect_helpers.s b/data/field_effect_helpers.s
deleted file mode 100644
index e49592659..000000000
--- a/data/field_effect_helpers.s
+++ /dev/null
@@ -1,11 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
- .align 1
-
-gUnknown_085CDC6E:: @ 85CDC6E
- @the following might be unref, not sure
- .byte 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x02, 0x02, 0x01, 0x02, 0x02, 0x01, 0x02, 0x02, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00
-
diff --git a/data/field_effect_misc.s b/data/field_effect_misc.s
deleted file mode 100644
index f1b28d906..000000000
--- a/data/field_effect_misc.s
+++ /dev/null
@@ -1,244 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
- .align 2
-gSpriteImage_858D978:: @ 858D978
- .incbin "graphics/unknown/858E588/0.4bpp"
-
- .align 2
-gSpriteImage_858D9F8:: @ 858D9F8
- .incbin "graphics/unknown/858E588/1.4bpp"
-
- .align 2
-gSpriteImage_858DA78:: @ 858DA78
- .incbin "graphics/unknown/858E588/2.4bpp"
-
- .align 2
-gSpriteImage_858DAF8:: @ 858DAF8
- .incbin "graphics/unknown/858E588/3.4bpp"
-
- .align 2
-gSpriteImage_858DB78:: @ 858DB78
- .incbin "graphics/unknown/858E588/4.4bpp"
-
- .space 32
-
- .align 2
-gFieldEffectObjectPalette7:: @ 858DC18
- .incbin "graphics/event_objects/palettes/field_effect_object_palette_07.gbapal"
-
- .align 2
-gSpriteImage_858DC38:: @ 858DC38
- .incbin "graphics/unknown/858E5D8/0.4bpp"
-
- .align 2
-gSpriteImage_858DCB8:: @ 858DCB8
- .incbin "graphics/unknown/858E5D8/1.4bpp"
-
- .align 2
-gSpriteImage_858DD38:: @ 858DD38
- .incbin "graphics/unknown/858E5D8/2.4bpp"
-
- .align 2
-gSpriteImage_858DDB8:: @ 858DDB8
- .incbin "graphics/unknown/858E5D8/3.4bpp"
-
- .align 2
-gSpriteImage_858DE38:: @ 858DE38
- .incbin "graphics/unknown/858E5D8/4.4bpp"
-
- .align 2
-gSpriteImage_858DEB8:: @ 858DEB8
- .incbin "graphics/unknown/858E5B0/0.4bpp"
-
- .align 2
-gSpriteImage_858DF38:: @ 858DF38
- .incbin "graphics/unknown/858E5B0/1.4bpp"
-
- .align 2
-gSpriteImage_858DFB8:: @ 858DFB8
- .incbin "graphics/unknown/858E5B0/2.4bpp"
-
- .align 2
-gSpriteImage_858E038:: @ 858E038
- .incbin "graphics/unknown/858E5B0/3.4bpp"
-
- .align 2
-gSpriteImage_858E0B8:: @ 858E0B8
- .incbin "graphics/unknown/858E5B0/4.4bpp"
-
- .align 2
-gSpriteImage_858E138:: @ 858E138
- .incbin "graphics/unknown/858E5B0/5.4bpp"
-
- .align 2
-gFieldEffectObjectPalette8:: @ 858E1B8
- .incbin "graphics/event_objects/palettes/field_effect_object_palette_08.gbapal"
-
- .align 2
-gSpriteImage_858E1D8:: @ 858E1D8
- .incbin "graphics/unknown/858E674/0.4bpp"
-
- .align 2
-gSpriteImage_858E2D8:: @ 858E2D8
- .incbin "graphics/unknown/858E674/1.4bpp"
-
- .align 2
-gSpriteImage_858E3D8:: @ 858E3D8
- .incbin "graphics/unknown/858E674/2.4bpp"
-
- .align 2
-gOamData_858E4D8:: @ 858E4D8
- .2byte 0x0000, 0x4000, 0x0800, 0x0000
-
- .align 2
-gSpriteAnim_858E4E0:: @ 858E4E0
- .2byte 0x0000, 0x0008, 0x0001, 0x0008, 0x0002, 0x0008, 0x0003, 0x0008, 0x0004, 0x0008, 0xffff, 0x0000
-
- .align 2
-gSpriteAnim_858E4F8:: @ 858E4F8
- .2byte 0x0000, 0x0008, 0x0001, 0x0008, 0x0002, 0x0008, 0x0003, 0x0008, 0x0004, 0x0008, 0xffff, 0x0000
-
- .align 2
-gSpriteAnim_858E510:: @ 858E510
- .2byte 0x0004, 0x0008, 0x0003, 0x0008, 0x0002, 0x0008, 0x0001, 0x0008, 0x0000, 0x0008, 0xffff, 0x0000
-
- .align 2
-gSpriteAnim_858E528:: @ 858E528
- .2byte 0x0000, 0x0048, 0x0001, 0x0048, 0x0002, 0x0048, 0x0003, 0x0048, 0x0004, 0x0048, 0xffff, 0x0000
-
- .align 2
-gSpriteAnim_858E540:: @ 858E540
- .2byte 0x0004, 0x0048, 0x0003, 0x0048, 0x0002, 0x0048, 0x0001, 0x0048, 0x0000, 0x0048, 0xffff, 0x0000
-
- .align 2
-gSpriteAnim_858E558:: @ 858E558
- .2byte 0x0000, 0x0008, 0x0001, 0x0008, 0x0002, 0x0008, 0x0003, 0x0008, 0x0004, 0x0008, 0xffff, 0x0000
-
- .align 2
-gSpriteAnimTable_858E570:: @ 858E570
- .4byte gSpriteAnim_858E4E0
-
- .align 2
-gSpriteAnimTable_858E574:: @ 858E574
- .4byte gSpriteAnim_858E4F8
- .4byte gSpriteAnim_858E510
- .4byte gSpriteAnim_858E528
- .4byte gSpriteAnim_858E540
-
- .align 2
-gSpriteAnimTable_858E584:: @ 858E584
- .4byte gSpriteAnim_858E558
-
- .align 2
-gUnknown_858E588:: @ 858E588
- obj_frame_tiles gSpriteImage_858D978, 0x0080
- obj_frame_tiles gSpriteImage_858D9F8, 0x0080
- obj_frame_tiles gSpriteImage_858DA78, 0x0080
- obj_frame_tiles gSpriteImage_858DAF8, 0x0080
- obj_frame_tiles gSpriteImage_858DB78, 0x0080
-
- .align 2
-gUnknown_858E5B0:: @ 858E5B0
- obj_frame_tiles gSpriteImage_858DEB8, 0x0080
- obj_frame_tiles gSpriteImage_858DF38, 0x0080
- obj_frame_tiles gSpriteImage_858DFB8, 0x0080
- obj_frame_tiles gSpriteImage_858E038, 0x0080
- obj_frame_tiles gSpriteImage_858E0B8, 0x0080
-
- .align 2
-gUnknown_858E5D8:: @ 858E5D8
- obj_frame_tiles gSpriteImage_858DC38, 0x0080
- obj_frame_tiles gSpriteImage_858DCB8, 0x0080
- obj_frame_tiles gSpriteImage_858DD38, 0x0080
- obj_frame_tiles gSpriteImage_858DDB8, 0x0080
- obj_frame_tiles gSpriteImage_858DE38, 0x0080
-
- .align 2
-gUnknown_0858E600:: @ 858E600
- spr_template 0xffff, 0x1003, gOamData_858E4D8, gSpriteAnimTable_858E570, gUnknown_858E588, gDummySpriteAffineAnimTable, sub_80FA18C
-
- .align 2
-gUnknown_0858E618:: @ 858E618
- spr_template 0xffff, 0x1008, gOamData_858E4D8, gSpriteAnimTable_858E574, gUnknown_858E5B0, gDummySpriteAffineAnimTable, sub_80FA2D8
-
- .align 2
-gUnknown_0858E630:: @ 858E630
- spr_template 0xffff, 0x1008, gOamData_858E4D8, gSpriteAnimTable_858E584, gUnknown_858E5D8, gDummySpriteAffineAnimTable, sub_80FA3FC
-
- .align 2
-gFieldEffectObjectPaletteInfo7:: @ 858E648
- obj_pal gFieldEffectObjectPalette7, 0x1003
-
- .align 2
-gFieldEffectObjectPaletteInfo8:: @ 858E650
- obj_pal gFieldEffectObjectPalette8, 0x1008
-
- .align 2
-gOamData_858E658:: @ 858E658
- .2byte 0x8000, 0x8000, 0x0800, 0x0000
-
- .align 2
-gSpriteAnim_858E660:: @ 858E660
- .2byte 0x0000, 0x0006, 0x0001, 0x0006, 0x0002, 0x0006, 0xffff, 0x0000
-
- .align 2
-gSpriteAnimTable_858E670:: @ 858E670
- .4byte gSpriteAnim_858E660
-
- .align 2
-gUnknown_0858E674:: @ 858E674
- obj_frame_tiles gSpriteImage_858E1D8, 0x0100
- obj_frame_tiles gSpriteImage_858E2D8, 0x0100
- obj_frame_tiles gSpriteImage_858E3D8, 0x0100
-
- .align 2
-gUnknown_0858E68C:: @ 858E68C
- spr_template 0xffff, 0x100e, gOamData_858E658, gSpriteAnimTable_858E670, gUnknown_0858E674, gDummySpriteAffineAnimTable, door_restore_tilemap
-
- .align 2
-@ This uses one of the secret base palettes, so there is no
-@ "field_effect_object_palette_09.pal" file.
-gFieldEffectObjectPaletteInfo9:: @ 858E6A4
- obj_pal gTilesetPalettes_SecretBase + 5 * 0x20, 0x100E
-
- .align 2
-gSpriteImage_858E6AC:: @ 858E6AC
- .incbin "graphics/unknown/858E84C/0.4bpp"
-
- .align 2
-gSpriteImage_858E72C:: @ 858E72C
- .incbin "graphics/unknown/858E84C/1.4bpp"
-
- .align 2
-gSpriteImage_858E7AC:: @ 858E7AC
- .incbin "graphics/unknown/858E84C/2.4bpp"
-
- .align 2
-gUnknown_0858E82C:: @ 858E82C
- .incbin "graphics/unknown/unknown_58E82C.gbapal"
-
- .align 2
-gUnknown_0858E84C:: @ 858E84C
- obj_frame_tiles gSpriteImage_858E6AC, 0x0080
- obj_frame_tiles gSpriteImage_858E72C, 0x0080
- obj_frame_tiles gSpriteImage_858E7AC, 0x0080
-
- .align 2
-gUnknown_0858E864:: @ 858E864
- obj_pal gUnknown_0858E82C, 0x1000
-
- .align 2
-gSpriteAnim_858E86C:: @ 858E86C
- .2byte 0x0000, 0x001e, 0x0001, 0x001e, 0x0002, 0x001e, 0xfffe, 0x0000
-
- .align 2
-gSpriteAnimTable_858E87C:: @ 858E87C
- .4byte gSpriteAnim_858E86C
-
- .align 2
-gUnknown_0858E880:: @ 858E880
- spr_template 0xffff, 0x1000, gEventObjectBaseOam_32x8, gSpriteAnimTable_858E87C, gUnknown_0858E84C, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
diff --git a/data/field_effect_scripts.s b/data/field_effect_scripts.s
index eab655877..81de41aaa 100644
--- a/data/field_effect_scripts.s
+++ b/data/field_effect_scripts.s
@@ -118,7 +118,7 @@ gFieldEffectScript_GroundImpactDust:: @ 82DBB28
field_eff_end
gFieldEffectScript_Unknown11:: @ 82DBB32
- field_eff_callnative oei_sweet_scent
+ field_eff_callnative FldEff_UseSecretPowerCave
field_eff_end
gFieldEffectScript_BikeHopTallGrass:: @ 82DBB38
@@ -179,11 +179,11 @@ gFieldEffectScript_Unknown25:: @ 82DBBB6
field_eff_end
gFieldEffectScript_Unknown26:: @ 82DBBC5
- field_eff_callnative sub_80FA208
+ field_eff_callnative FldEff_UseSecretPowerTree
field_eff_end
gFieldEffectScript_Unknown27:: @ 82DBBCB
- field_eff_callnative sub_80FA36C
+ field_eff_callnative FldEff_UseSecretPowerShrub
field_eff_end
gFieldEffectScript_TreeDisguise:: @ 82DBBD1
@@ -264,11 +264,11 @@ gFieldEffectScript_HeartIcon:: @ 82DBC56
field_eff_end
gFieldEffectScript_Unknown47:: @ 82DBC60
- field_eff_callnative sub_80FA6FC
+ field_eff_callnative FldEff_NopA6FC
field_eff_end
gFieldEffectScript_Unknown48:: @ 82DBC66
- field_eff_callnative sub_80FA700
+ field_eff_callnative FldEff_NopA700
field_eff_end
gFieldEffectScript_JumpOutOfAsh:: @ 82DBC6C
@@ -284,7 +284,7 @@ gFieldEffectScript_Unknown51:: @ 82DBC80
field_eff_end
gFieldEffectScript_Unknown52:: @ 82DBC86
- field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo9, sub_80FAA7C
+ field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo9, FldEff_SandPillar
field_eff_end
gFieldEffectScript_Bubbles:: @ 82DBC90
@@ -296,15 +296,15 @@ gFieldEffectScript_Unknown54:: @ 82DBC9A
field_eff_end
gFieldEffectScript_Unknown55:: @ 82DBCA4
- field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo7, sub_80FA13C
+ field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo7, FldEff_SecretPowerCave
field_eff_end
gFieldEffectScript_Unknown56:: @ 82DBCAE
- field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo8, sub_80FA248
+ field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo8, FldEff_SecretPowerTree
field_eff_end
gFieldEffectScript_Unknown57:: @ 82DBCB8
- field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo8, sub_80FA3AC
+ field_eff_loadfadedpal_callnative gFieldEffectObjectPaletteInfo8, FldEff_SecretPowerShrub
field_eff_end
gFieldEffectScript_Unknown58:: @ 82DBCC2
@@ -320,7 +320,7 @@ gFieldEffectScript_Unknown60:: @ 82DBCD2
field_eff_end
gFieldEffectScript_Unknown61:: @ 82DBCD8
- field_eff_callnative sub_80FA458
+ field_eff_callnative FldEff_SecretBasePCTurnOn
field_eff_end
gFieldEffectScript_Unknown62:: @ 82DBCDE
diff --git a/data/maps/AbandonedShip_CaptainsOffice/scripts.inc b/data/maps/AbandonedShip_CaptainsOffice/scripts.inc
index e40ddad1e..796b91c02 100644
--- a/data/maps/AbandonedShip_CaptainsOffice/scripts.inc
+++ b/data/maps/AbandonedShip_CaptainsOffice/scripts.inc
@@ -4,13 +4,11 @@ AbandonedShip_CaptainsOffice_MapScripts:: @ 82387E1
AbandonedShip_CaptainsOffice_EventScript_2387E2:: @ 82387E2
lock
faceplayer
- checkflag FLAG_TRADED_SCANNER_TO_STERN
- goto_eq AbandonedShip_CaptainsOffice_EventScript_23881A
+ goto_if_set FLAG_TRADED_SCANNER_TO_STERN, AbandonedShip_CaptainsOffice_EventScript_23881A
checkitem ITEM_SCANNER, 1
compare VAR_RESULT, 1
- goto_eq AbandonedShip_CaptainsOffice_EventScript_238810
- checkflag FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_4_SCANNER
- goto_eq AbandonedShip_CaptainsOffice_EventScript_23881A
+ 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
release
end
diff --git a/data/maps/AbandonedShip_Corridors_B1F/scripts.inc b/data/maps/AbandonedShip_Corridors_B1F/scripts.inc
index 4715e5566..cfdf40163 100644
--- a/data/maps/AbandonedShip_Corridors_B1F/scripts.inc
+++ b/data/maps/AbandonedShip_Corridors_B1F/scripts.inc
@@ -8,10 +8,8 @@ AbandonedShip_Corridors_B1F_MapScript1_237D8F: @ 8237D8F
end
AbandonedShip_Corridors_B1F_MapScript1_237D98: @ 8237D98
- checkflag FLAG_0x0EF
- call_if 0, AbandonedShip_Corridors_B1F_EventScript_237DAB
- checkflag FLAG_0x0EF
- call_if 1, AbandonedShip_Corridors_B1F_EventScript_237DB5
+ call_if_unset FLAG_0x0EF, AbandonedShip_Corridors_B1F_EventScript_237DAB
+ call_if_set FLAG_0x0EF, AbandonedShip_Corridors_B1F_EventScript_237DB5
end
AbandonedShip_Corridors_B1F_EventScript_237DAB:: @ 8237DAB
@@ -28,11 +26,10 @@ AbandonedShip_Corridors_B1F_EventScript_237DBF:: @ 8237DBF
AbandonedShip_Corridors_B1F_EventScript_237DC8:: @ 8237DC8
lockall
- checkflag FLAG_0x0EF
- goto_eq AbandonedShip_Corridors_B1F_EventScript_237E09
+ goto_if_set FLAG_0x0EF, AbandonedShip_Corridors_B1F_EventScript_237E09
checkitem ITEM_STORAGE_KEY, 1
compare VAR_RESULT, 0
- goto_eq AbandonedShip_Corridors_B1F_EventScript_237DFF
+ goto_if_eq AbandonedShip_Corridors_B1F_EventScript_237DFF
msgbox AbandonedShip_Corridors_B1F_Text_237F4B, MSGBOX_DEFAULT
playse SE_PIN
takeitem ITEM_STORAGE_KEY, 1
diff --git a/data/maps/AbandonedShip_HiddenFloorCorridors/scripts.inc b/data/maps/AbandonedShip_HiddenFloorCorridors/scripts.inc
index e3c3ced5c..cb60d7962 100644
--- a/data/maps/AbandonedShip_HiddenFloorCorridors/scripts.inc
+++ b/data/maps/AbandonedShip_HiddenFloorCorridors/scripts.inc
@@ -8,22 +8,14 @@ AbandonedShip_HiddenFloorCorridors_MapScript1_238977: @ 8238977
end
AbandonedShip_HiddenFloorCorridors_MapScript1_238980: @ 8238980
- checkflag FLAG_0x0F0
- call_if 0, AbandonedShip_HiddenFloorCorridors_EventScript_2389F1
- checkflag FLAG_0x0F1
- call_if 0, AbandonedShip_HiddenFloorCorridors_EventScript_2389FB
- checkflag FLAG_0x0F2
- call_if 0, AbandonedShip_HiddenFloorCorridors_EventScript_238A05
- checkflag FLAG_0x0F3
- call_if 0, AbandonedShip_HiddenFloorCorridors_EventScript_238A0F
- checkflag FLAG_0x0F0
- call_if 1, AbandonedShip_HiddenFloorCorridors_EventScript_2389C9
- checkflag FLAG_0x0F1
- call_if 1, AbandonedShip_HiddenFloorCorridors_EventScript_2389D3
- checkflag FLAG_0x0F2
- call_if 1, AbandonedShip_HiddenFloorCorridors_EventScript_2389DD
- checkflag FLAG_0x0F3
- call_if 1, AbandonedShip_HiddenFloorCorridors_EventScript_2389E7
+ call_if_unset FLAG_0x0F0, AbandonedShip_HiddenFloorCorridors_EventScript_2389F1
+ call_if_unset FLAG_0x0F1, AbandonedShip_HiddenFloorCorridors_EventScript_2389FB
+ call_if_unset FLAG_0x0F2, AbandonedShip_HiddenFloorCorridors_EventScript_238A05
+ call_if_unset FLAG_0x0F3, AbandonedShip_HiddenFloorCorridors_EventScript_238A0F
+ call_if_set FLAG_0x0F0, AbandonedShip_HiddenFloorCorridors_EventScript_2389C9
+ call_if_set FLAG_0x0F1, AbandonedShip_HiddenFloorCorridors_EventScript_2389D3
+ call_if_set FLAG_0x0F2, AbandonedShip_HiddenFloorCorridors_EventScript_2389DD
+ call_if_set FLAG_0x0F3, AbandonedShip_HiddenFloorCorridors_EventScript_2389E7
end
AbandonedShip_HiddenFloorCorridors_EventScript_2389C9:: @ 82389C9
@@ -60,11 +52,10 @@ AbandonedShip_HiddenFloorCorridors_EventScript_238A0F:: @ 8238A0F
AbandonedShip_HiddenFloorCorridors_EventScript_238A19:: @ 8238A19
lockall
- checkflag FLAG_0x0F0
- goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B1D
+ goto_if_set FLAG_0x0F0, AbandonedShip_HiddenFloorCorridors_EventScript_238B1D
checkitem ITEM_ROOM_1_KEY, 1
compare VAR_RESULT, 0
- goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238AF5
+ goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_238AF5
msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, MSGBOX_DEFAULT
playse SE_PIN
takeitem ITEM_ROOM_1_KEY, 1
@@ -76,11 +67,10 @@ AbandonedShip_HiddenFloorCorridors_EventScript_238A19:: @ 8238A19
AbandonedShip_HiddenFloorCorridors_EventScript_238A50:: @ 8238A50
lockall
- checkflag FLAG_0x0F1
- goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B1D
+ goto_if_set FLAG_0x0F1, AbandonedShip_HiddenFloorCorridors_EventScript_238B1D
checkitem ITEM_ROOM_2_KEY, 1
compare VAR_RESULT, 0
- goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238AFF
+ goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_238AFF
msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, MSGBOX_DEFAULT
playse SE_PIN
takeitem ITEM_ROOM_2_KEY, 1
@@ -92,11 +82,10 @@ AbandonedShip_HiddenFloorCorridors_EventScript_238A50:: @ 8238A50
AbandonedShip_HiddenFloorCorridors_EventScript_238A87:: @ 8238A87
lockall
- checkflag FLAG_0x0F2
- goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B1D
+ goto_if_set FLAG_0x0F2, AbandonedShip_HiddenFloorCorridors_EventScript_238B1D
checkitem ITEM_ROOM_4_KEY, 1
compare VAR_RESULT, 0
- goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B09
+ goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B09
msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, MSGBOX_DEFAULT
playse SE_PIN
takeitem ITEM_ROOM_4_KEY, 1
@@ -108,11 +97,10 @@ AbandonedShip_HiddenFloorCorridors_EventScript_238A87:: @ 8238A87
AbandonedShip_HiddenFloorCorridors_EventScript_238ABE:: @ 8238ABE
lockall
- checkflag FLAG_0x0F3
- goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B1D
+ goto_if_set FLAG_0x0F3, AbandonedShip_HiddenFloorCorridors_EventScript_238B1D
checkitem ITEM_ROOM_6_KEY, 1
compare VAR_RESULT, 0
- goto_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B13
+ goto_if_eq AbandonedShip_HiddenFloorCorridors_EventScript_238B13
msgbox AbandonedShip_HiddenFloorCorridors_Text_238BF7, MSGBOX_DEFAULT
playse SE_PIN
takeitem ITEM_ROOM_6_KEY, 1
diff --git a/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc b/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc
index c89163af2..f8ecc9001 100644
--- a/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc
+++ b/data/maps/AbandonedShip_HiddenFloorRooms/scripts.inc
@@ -11,11 +11,11 @@ AbandonedShip_HiddenFloorRooms_EventScript_238C59:: @ 8238C59
getplayerxy VAR_TEMP_2, VAR_TEMP_3
setvar VAR_TEMP_4, 1
compare VAR_TEMP_2, 21
- call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238CD1
+ call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238CD1
compare VAR_TEMP_2, 36
- call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238CD7
+ call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238CD7
compare VAR_TEMP_3, 2
- call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238CDD
+ call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238CDD
switch VAR_TEMP_4
case 1, AbandonedShip_HiddenFloorRooms_EventScript_238CE3
case 2, AbandonedShip_HiddenFloorRooms_EventScript_238D0C
@@ -45,7 +45,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_238CE3:: @ 8238CE3
dofieldeffect 54
specialvar VAR_RESULT, FoundAbandonedShipRoom4Key
compare VAR_RESULT, 0
- call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238DD3
+ call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238DD3
waitfieldeffect 54
delay 10
end
@@ -56,10 +56,10 @@ AbandonedShip_HiddenFloorRooms_EventScript_238D0C:: @ 8238D0C
AbandonedShip_HiddenFloorRooms_EventScript_238D0D:: @ 8238D0D
specialvar VAR_RESULT, FoundAbandonedShipRoom1Key
compare VAR_RESULT, 1
- goto_eq AbandonedShip_HiddenFloorRooms_EventScript_238D32
+ goto_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238D32
delay 20
compare VAR_RESULT, 0
- call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238DB3
+ call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238DB3
waitfieldeffect 54
delay 10
end
@@ -79,7 +79,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_238D33:: @ 8238D33
dofieldeffect 54
specialvar VAR_RESULT, FoundAbandonedShipRoom6Key
compare VAR_RESULT, 0
- call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238DE3
+ call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238DE3
waitfieldeffect 54
delay 10
end
@@ -100,7 +100,7 @@ AbandonedShip_HiddenFloorRooms_EventScript_238D6B:: @ 8238D6B
dofieldeffect 54
specialvar VAR_RESULT, FoundAbandonedShipRoom2Key
compare VAR_RESULT, 0
- call_if 1, AbandonedShip_HiddenFloorRooms_EventScript_238DC3
+ call_if_eq AbandonedShip_HiddenFloorRooms_EventScript_238DC3
waitfieldeffect 54
delay 10
end
diff --git a/data/maps/AbandonedShip_Rooms2_1F/scripts.inc b/data/maps/AbandonedShip_Rooms2_1F/scripts.inc
index 5c934f263..ec382e56c 100644
--- a/data/maps/AbandonedShip_Rooms2_1F/scripts.inc
+++ b/data/maps/AbandonedShip_Rooms2_1F/scripts.inc
@@ -5,7 +5,7 @@ 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
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq AbandonedShip_Rooms2_1F_EventScript_2380F0
+ goto_if_eq AbandonedShip_Rooms2_1F_EventScript_2380F0
msgbox AbandonedShip_Rooms2_1F_Text_23820F, MSGBOX_DEFAULT
release
end
@@ -25,7 +25,7 @@ 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
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq AbandonedShip_Rooms2_1F_EventScript_238154
+ goto_if_eq AbandonedShip_Rooms2_1F_EventScript_238154
msgbox AbandonedShip_Rooms2_1F_Text_23830A, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/AbandonedShip_Rooms_1F/scripts.inc b/data/maps/AbandonedShip_Rooms_1F/scripts.inc
index d64c027a3..5797ed5fb 100644
--- a/data/maps/AbandonedShip_Rooms_1F/scripts.inc
+++ b/data/maps/AbandonedShip_Rooms_1F/scripts.inc
@@ -14,7 +14,7 @@ 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
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq AbandonedShip_Rooms_1F_EventScript_237AFE
+ goto_if_eq AbandonedShip_Rooms_1F_EventScript_237AFE
msgbox AbandonedShip_Rooms_1F_Text_237BDB, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/AncientTomb/scripts.inc b/data/maps/AncientTomb/scripts.inc
index f3c42b690..133db13a5 100644
--- a/data/maps/AncientTomb/scripts.inc
+++ b/data/maps/AncientTomb/scripts.inc
@@ -5,21 +5,19 @@ AncientTomb_MapScripts:: @ 8238FB3
.byte 0
AncientTomb_MapScript1_238FC3: @ 8238FC3
- checkflag FLAG_SYS_CTRL_OBJ_DELETE
- call_if 1, AncientTomb_EventScript_238FCD
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, AncientTomb_EventScript_238FCD
end
AncientTomb_EventScript_238FCD:: @ 8238FCD
specialvar VAR_RESULT, GetBattleOutcome
compare VAR_RESULT, 7
- goto_if 5, AncientTomb_EventScript_27374E
+ goto_if_ne AncientTomb_EventScript_27374E
removeobject VAR_LAST_TALKED
return
AncientTomb_MapScript1_238FE1: @ 8238FE1
setflag FLAG_LANDMARK_ANCIENT_TOMB
- checkflag FLAG_0x1BD
- call_if 0, AncientTomb_EventScript_238FEE
+ call_if_unset FLAG_0x1BD, AncientTomb_EventScript_238FEE
end
AncientTomb_EventScript_238FEE:: @ 8238FEE
@@ -27,8 +25,7 @@ AncientTomb_EventScript_238FEE:: @ 8238FEE
return
AncientTomb_MapScript1_238FF2: @ 8238FF2
- checkflag FLAG_SYS_BRAILLE_FLY
- call_if 0, AncientTomb_EventScript_238FFC
+ call_if_unset FLAG_SYS_BRAILLE_FLY, AncientTomb_EventScript_238FFC
end
AncientTomb_EventScript_238FFC:: @ 8238FFC
@@ -42,8 +39,7 @@ AncientTomb_EventScript_238FFC:: @ 8238FFC
AncientTomb_EventScript_239033:: @ 8239033
lockall
- checkflag FLAG_SYS_BRAILLE_FLY
- goto_eq AncientTomb_EventScript_239046
+ goto_if_set FLAG_SYS_BRAILLE_FLY, AncientTomb_EventScript_239046
braillemessage AncientTomb_Braille_2A6D06
waitbuttonpress
hidebox2
@@ -77,11 +73,11 @@ AncientTomb_EventScript_23905A:: @ 823905A
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
compare VAR_RESULT, 1
- goto_eq AncientTomb_EventScript_2390A1
+ goto_if_eq AncientTomb_EventScript_2390A1
compare VAR_RESULT, 4
- goto_eq AncientTomb_EventScript_2390AA
+ goto_if_eq AncientTomb_EventScript_2390AA
compare VAR_RESULT, 5
- goto_eq AncientTomb_EventScript_2390AA
+ goto_if_eq AncientTomb_EventScript_2390AA
setflag FLAG_0x1BD
release
end
diff --git a/data/maps/AquaHideout_1F/scripts.inc b/data/maps/AquaHideout_1F/scripts.inc
index 8eb5e60b9..0b44908e0 100644
--- a/data/maps/AquaHideout_1F/scripts.inc
+++ b/data/maps/AquaHideout_1F/scripts.inc
@@ -4,10 +4,8 @@ AquaHideout_1F_MapScripts:: @ 8233493
AquaHideout_1F_EventScript_233494:: @ 8233494
lock
faceplayer
- checkflag FLAG_0x06F
- goto_eq AquaHideout_1F_EventScript_2334BC
- checkflag FLAG_0x0D4
- goto_eq AquaHideout_1F_EventScript_2334B2
+ goto_if_set FLAG_0x06F, AquaHideout_1F_EventScript_2334BC
+ goto_if_set FLAG_0x0D4, AquaHideout_1F_EventScript_2334B2
msgbox AquaHideout_1F_Text_23351D, MSGBOX_DEFAULT
release
end
@@ -25,10 +23,8 @@ AquaHideout_1F_EventScript_2334BC:: @ 82334BC
AquaHideout_1F_EventScript_2334C6:: @ 82334C6
lock
faceplayer
- checkflag FLAG_0x06F
- goto_eq AquaHideout_1F_EventScript_2334EE
- checkflag FLAG_0x0D4
- goto_eq AquaHideout_1F_EventScript_2334E4
+ goto_if_set FLAG_0x06F, AquaHideout_1F_EventScript_2334EE
+ goto_if_set FLAG_0x0D4, AquaHideout_1F_EventScript_2334E4
msgbox AquaHideout_1F_Text_233739, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/AquaHideout_B1F/scripts.inc b/data/maps/AquaHideout_B1F/scripts.inc
index 9c660d8b1..6a388e625 100644
--- a/data/maps/AquaHideout_B1F/scripts.inc
+++ b/data/maps/AquaHideout_B1F/scripts.inc
@@ -4,22 +4,19 @@ AquaHideout_B1F_MapScripts:: @ 82339A7
.byte 0
AquaHideout_B1F_MapScript1_2339B2: @ 82339B2
- checkflag FLAG_SYS_CTRL_OBJ_DELETE
- call_if 1, AquaHideout_B1F_EventScript_2339BC
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, AquaHideout_B1F_EventScript_2339BC
end
AquaHideout_B1F_EventScript_2339BC:: @ 82339BC
specialvar VAR_RESULT, GetBattleOutcome
compare VAR_RESULT, 7
- goto_if 5, AquaHideout_B1F_EventScript_27374E
+ goto_if_ne AquaHideout_B1F_EventScript_27374E
removeobject VAR_LAST_TALKED
return
AquaHideout_B1F_MapScript1_2339D0: @ 82339D0
- checkflag FLAG_0x1C4
- call_if 0, AquaHideout_B1F_EventScript_2339E3
- checkflag FLAG_0x1C5
- call_if 0, AquaHideout_B1F_EventScript_2339E7
+ call_if_unset FLAG_0x1C4, AquaHideout_B1F_EventScript_2339E3
+ call_if_unset FLAG_0x1C5, AquaHideout_B1F_EventScript_2339E7
end
AquaHideout_B1F_EventScript_2339E3:: @ 82339E3
@@ -43,11 +40,11 @@ AquaHideout_B1F_EventScript_2339EB:: @ 82339EB
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
compare VAR_RESULT, 1
- goto_eq AquaHideout_B1F_EventScript_233A2F
+ goto_if_eq AquaHideout_B1F_EventScript_233A2F
compare VAR_RESULT, 4
- goto_eq AquaHideout_B1F_EventScript_233A2F
+ goto_if_eq AquaHideout_B1F_EventScript_233A2F
compare VAR_RESULT, 5
- goto_eq AquaHideout_B1F_EventScript_233A2F
+ goto_if_eq AquaHideout_B1F_EventScript_233A2F
setflag FLAG_0x1C4
release
end
@@ -70,11 +67,11 @@ AquaHideout_B1F_EventScript_233A38:: @ 8233A38
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
compare VAR_RESULT, 1
- goto_eq AquaHideout_B1F_EventScript_233A7C
+ goto_if_eq AquaHideout_B1F_EventScript_233A7C
compare VAR_RESULT, 4
- goto_eq AquaHideout_B1F_EventScript_233A7C
+ goto_if_eq AquaHideout_B1F_EventScript_233A7C
compare VAR_RESULT, 5
- goto_eq AquaHideout_B1F_EventScript_233A7C
+ goto_if_eq AquaHideout_B1F_EventScript_233A7C
setflag FLAG_0x1C5
release
end
diff --git a/data/maps/AquaHideout_B2F/scripts.inc b/data/maps/AquaHideout_B2F/scripts.inc
index 584a1a3e1..ab120193d 100644
--- a/data/maps/AquaHideout_B2F/scripts.inc
+++ b/data/maps/AquaHideout_B2F/scripts.inc
@@ -3,8 +3,7 @@ AquaHideout_B2F_MapScripts:: @ 8233DCF
.byte 0
AquaHideout_B2F_MapScript1_233DD5: @ 8233DD5
- checkflag FLAG_0x070
- call_if 1, AquaHideout_B2F_EventScript_233DDF
+ call_if_set FLAG_0x070, AquaHideout_B2F_EventScript_233DDF
end
AquaHideout_B2F_EventScript_233DDF:: @ 8233DDF
diff --git a/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc
index 75ac9a4ec..4e25289e6 100644
--- a/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc
@@ -18,9 +18,9 @@ BattleFrontier_BattleArenaBattleRoom_MapScript1_2574A0: @ 82574A0
BattleFrontier_BattleArenaBattleRoom_EventScript_2574AE:: @ 82574AE
checkplayergender
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_2574C6
+ goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_2574C6
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_2574CC
+ goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_2574CC
return
BattleFrontier_BattleArenaBattleRoom_EventScript_2574C6:: @ 82574C6
@@ -44,7 +44,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_2574DC:: @ 82574DC
setvar VAR_0x8005, 2
special CallFrontierUtilFunc
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_25752E
+ goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_25752E
applymovement 5, BattleFrontier_BattleArenaBattleRoom_Movement_257C08
applymovement 8, BattleFrontier_BattleArenaBattleRoom_Movement_257BEB
setvar VAR_TEMP_2, 1
@@ -150,25 +150,25 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_2576B0:: @ 82576B0
special CallFrontierUtilFunc
copyvar VAR_TEMP_F, VAR_RESULT
compare VAR_RESULT, 0
- goto_if 5, BattleFrontier_BattleArenaBattleRoom_EventScript_2578BC
+ goto_if_ne BattleFrontier_BattleArenaBattleRoom_EventScript_2578BC
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
special CallFrontierUtilFunc
compare VAR_RESULT, 1
- call_if 1, BattleFrontier_BattleArenaBattleRoom_EventScript_257870
+ call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257870
compare VAR_RESULT, 2
- call_if 1, BattleFrontier_BattleArenaBattleRoom_EventScript_257877
+ call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257877
compare VAR_RESULT, 3
- call_if 1, BattleFrontier_BattleArenaBattleRoom_EventScript_25787E
+ call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_25787E
compare VAR_RESULT, 4
- call_if 1, BattleFrontier_BattleArenaBattleRoom_EventScript_257885
+ call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257885
compare VAR_RESULT, 5
- call_if 1, BattleFrontier_BattleArenaBattleRoom_EventScript_25788C
+ call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_25788C
compare VAR_RESULT, 6
- call_if 1, BattleFrontier_BattleArenaBattleRoom_EventScript_257893
+ call_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257893
call BattleFrontier_BattleArenaBattleRoom_EventScript_23E8E0
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257768
+ goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257768
multichoice 19, 4, 103, 1
switch VAR_RESULT
case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_25783A
@@ -276,7 +276,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_25789A:: @ 825789A
BattleFrontier_BattleArenaBattleRoom_EventScript_2578BC:: @ 82578BC
compare VAR_TEMP_2, 1
- goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_2578D4
+ goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_2578D4
msgbox BattleFrontier_BattleArenaBattleRoom_Text_257F45, MSGBOX_DEFAULT
setvar VAR_TEMP_2, 1
@@ -285,7 +285,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_2578D4:: @ 82578D4
waitmessage
call BattleFrontier_BattleArenaBattleRoom_EventScript_23E8E0
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_25792B
+ goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_25792B
multichoice 19, 4, 103, 1
switch VAR_RESULT
case 0, BattleFrontier_BattleArenaBattleRoom_EventScript_257961
@@ -334,7 +334,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257961:: @ 8257961
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
compare VAR_RESULT, 0
- goto_if 5, BattleFrontier_BattleArenaBattleRoom_EventScript_257A3F
+ goto_if_ne BattleFrontier_BattleArenaBattleRoom_EventScript_257A3F
msgbox BattleFrontier_BattleArenaBattleRoom_Text_25801C, MSGBOX_DEFAULT
closemessage
setvar VAR_0x8004, 2
@@ -352,7 +352,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257A3F:: @ 8257A3F
msgbox BattleFrontier_BattleArenaBattleRoom_Text_25810D, MSGBOX_DEFAULT
call BattleFrontier_BattleArenaBattleRoom_EventScript_257B5E
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257A5C
+ goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257A5C
goto BattleFrontier_BattleArenaBattleRoom_EventScript_2575DB
BattleFrontier_BattleArenaBattleRoom_EventScript_257A5C:: @ 8257A5C
@@ -360,7 +360,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257A5C:: @ 8257A5C
setvar VAR_0x8004, 12
special CallFrontierUtilFunc
compare VAR_RESULT, 0
- goto_if 5, BattleFrontier_BattleArenaBattleRoom_EventScript_257852
+ goto_if_ne BattleFrontier_BattleArenaBattleRoom_EventScript_257852
applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF1
waitmovement 0
msgbox BattleFrontier_BattleArenaBattleRoom_Text_25813F, MSGBOX_DEFAULT
@@ -378,7 +378,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257AA5:: @ 8257AA5
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
compare VAR_RESULT, 0
- goto_if 5, BattleFrontier_BattleArenaBattleRoom_EventScript_257AF8
+ goto_if_ne BattleFrontier_BattleArenaBattleRoom_EventScript_257AF8
msgbox BattleFrontier_BattleArenaBattleRoom_Text_258213, MSGBOX_DEFAULT
closemessage
setvar VAR_0x8004, 2
@@ -396,7 +396,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257AF8:: @ 8257AF8
msgbox BattleFrontier_BattleArenaBattleRoom_Text_2582F9, MSGBOX_DEFAULT
call BattleFrontier_BattleArenaBattleRoom_EventScript_257B5E
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257B15
+ goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257B15
goto BattleFrontier_BattleArenaBattleRoom_EventScript_2575DB
BattleFrontier_BattleArenaBattleRoom_EventScript_257B15:: @ 8257B15
@@ -404,7 +404,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257B15:: @ 8257B15
setvar VAR_0x8004, 12
special CallFrontierUtilFunc
compare VAR_RESULT, 2
- goto_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257852
+ goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_257852
applymovement 7, BattleFrontier_BattleArenaBattleRoom_Movement_257BF1
waitmovement 0
msgbox BattleFrontier_BattleArenaBattleRoom_Text_258323, MSGBOX_DEFAULT
@@ -536,7 +536,7 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_257C16:: @ 8257C16
hideobjectat 8, MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM
removeobject 7
call BattleFrontier_BattleArenaBattleRoom_EventScript_24BCDC
- applymovement 255, BattleFrontier_BattleArenaBattleRoom_Movement_24C773
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaBattleRoom_Movement_24C773
setvar VAR_TEMP_1, 1
end
diff --git a/data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc b/data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc
index 5ffb5de3d..f83f6f339 100644
--- a/data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc
+++ b/data/maps/BattleFrontier_BattleArenaCorridor/scripts.inc
@@ -10,14 +10,14 @@ BattleFrontier_BattleArenaCorridor_EventScript_2573C9:: @ 82573C9
delay 16
setvar VAR_TEMP_0, 1
applymovement 1, BattleFrontier_BattleArenaCorridor_Movement_25742F
- applymovement 255, BattleFrontier_BattleArenaCorridor_Movement_257417
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaCorridor_Movement_257417
waitmovement 0
applymovement 1, BattleFrontier_BattleArenaCorridor_Movement_257444
waitmovement 0
msgbox BattleFrontier_BattleArenaCorridor_Text_257449, MSGBOX_SIGN
applymovement 1, BattleFrontier_BattleArenaCorridor_Movement_257446
waitmovement 0
- applymovement 255, BattleFrontier_BattleArenaCorridor_Movement_25742C
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaCorridor_Movement_25742C
waitmovement 0
setvar VAR_0x8006, 0
warp MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM, 255, 7, 5
diff --git a/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc b/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc
index 36f864c14..2c53b7ed6 100644
--- a/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc
+++ b/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc
@@ -9,7 +9,7 @@ BattleFrontier_BattleArenaLobby_MapScript2_255C41: @ 8255C41
BattleFrontier_BattleArenaLobby_EventScript_255C4B:: @ 8255C4B
setvar VAR_TEMP_1, 1
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
end
BattleFrontier_BattleArenaLobby_MapScript2_255C55: @ 8255C55
@@ -50,7 +50,7 @@ BattleFrontier_BattleArenaLobby_EventScript_255CCF:: @ 8255CCF
setvar VAR_0x8004, 10
special CallFrontierUtilFunc
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleArenaLobby_EventScript_255CF0
+ goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_255CF0
msgbox BattleFrontier_BattleArenaLobby_Text_2568E7, MSGBOX_DEFAULT
goto BattleFrontier_BattleArenaLobby_EventScript_255CF8
@@ -98,7 +98,7 @@ BattleFrontier_BattleArenaLobby_EventScript_255D59:: @ 8255D59
waitse
call BattleFrontier_BattleArenaLobby_EventScript_23E8E0
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleArenaLobby_EventScript_255DBF
+ goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_255DBF
message BattleFrontier_BattleArenaLobby_Text_256B19
waitmessage
multichoicedefault 20, 8, 94, 1, 0
@@ -157,7 +157,7 @@ BattleFrontier_BattleArenaLobby_EventScript_255E47:: @ 8255E47
setvar VAR_0x8004, 15
special CallFrontierUtilFunc
compare VAR_0x8004, 1
- goto_eq BattleFrontier_BattleArenaLobby_EventScript_255FAC
+ goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_255FAC
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
@@ -170,7 +170,7 @@ BattleFrontier_BattleArenaLobby_EventScript_255E47:: @ 8255E47
special sub_80F9490
waitstate
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleArenaLobby_EventScript_255FF8
+ goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_255FF8
msgbox BattleFrontier_BattleArenaLobby_Text_2564CE, MSGBOX_YESNO
switch VAR_RESULT
case 0, BattleFrontier_BattleArenaLobby_EventScript_255FF8
@@ -202,7 +202,7 @@ BattleFrontier_BattleArenaLobby_EventScript_255EE8:: @ 8255EE8
call BattleFrontier_BattleArenaLobby_EventScript_27134F
setvar VAR_TEMP_0, 255
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleArenaLobby_EventScript_255FE1
+ goto_if_eq BattleFrontier_BattleArenaLobby_EventScript_255FE1
BattleFrontier_BattleArenaLobby_EventScript_255F54:: @ 8255F54
special SavePlayerParty
@@ -215,9 +215,9 @@ BattleFrontier_BattleArenaLobby_EventScript_255F54:: @ 8255F54
setvar VAR_0x8005, 1
special CallFrontierUtilFunc
compare VAR_RESULT, 0
- call_if 1, BattleFrontier_BattleArenaLobby_EventScript_256005
+ call_if_eq BattleFrontier_BattleArenaLobby_EventScript_256005
compare VAR_RESULT, 1
- call_if 1, BattleFrontier_BattleArenaLobby_EventScript_256050
+ call_if_eq BattleFrontier_BattleArenaLobby_EventScript_256050
warp MAP_BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR, 255, 9, 13
setvar VAR_TEMP_0, 0
waitstate
@@ -259,12 +259,12 @@ BattleFrontier_BattleArenaLobby_EventScript_256003:: @ 8256003
BattleFrontier_BattleArenaLobby_EventScript_256005:: @ 8256005
applymovement 1, BattleFrontier_BattleArenaLobby_Movement_256034
- applymovement 255, BattleFrontier_BattleArenaLobby_Movement_256041
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_256041
waitmovement 0
opendoor 2, 2
waitdooranim
applymovement 1, BattleFrontier_BattleArenaLobby_Movement_25603E
- applymovement 255, BattleFrontier_BattleArenaLobby_Movement_25604C
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_25604C
waitmovement 0
closedoor 2, 2
waitdooranim
@@ -308,12 +308,12 @@ BattleFrontier_BattleArenaLobby_Movement_25604C: @ 825604C
BattleFrontier_BattleArenaLobby_EventScript_256050:: @ 8256050
applymovement 1, BattleFrontier_BattleArenaLobby_Movement_25607F
- applymovement 255, BattleFrontier_BattleArenaLobby_Movement_256088
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_256088
waitmovement 0
opendoor 11, 2
waitdooranim
applymovement 1, BattleFrontier_BattleArenaLobby_Movement_25603E
- applymovement 255, BattleFrontier_BattleArenaLobby_Movement_25604C
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleArenaLobby_Movement_25604C
waitmovement 0
closedoor 11, 2
waitdooranim
diff --git a/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc
index 2d147e426..986d45073 100644
--- a/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc
@@ -13,7 +13,7 @@ BattleFrontier_BattleDomeBattleRoom_MapScript1_24BCB1: @ 824BCB1
special CallFrontierUtilFunc
copyvar VAR_TEMP_F, VAR_RESULT
compare VAR_RESULT, 0
- call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C919
+ call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C919
call BattleFrontier_BattleDomeBattleRoom_EventScript_24BCDC
end
@@ -21,9 +21,9 @@ BattleFrontier_BattleArenaBattleRoom_EventScript_24BCDC:: @ 824BCDC
BattleFrontier_BattleDomeBattleRoom_EventScript_24BCDC:: @ 824BCDC
checkplayergender
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BCF4
+ goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BCF4
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BCFA
+ goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BCFA
return
BattleFrontier_BattleDomeBattleRoom_EventScript_24BCF4:: @ 824BCF4
@@ -42,7 +42,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BD0A:: @ 824BD0A
lockall
call BattleFrontier_BattleDomeBattleRoom_EventScript_24C1BD
compare VAR_RESULT, 0
- call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C938
+ call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C938
applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_2725B4
waitmovement 0
call BattleFrontier_BattleDomeBattleRoom_EventScript_24BFD5
@@ -50,9 +50,9 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BD0A:: @ 824BD0A
closemessage
showobjectat 13, MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM
compare VAR_TEMP_F, 3
- goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24BD4E
+ goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24BD4E
compare VAR_TEMP_E, 0
- goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24BD5A
+ goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24BD5A
BattleFrontier_BattleDomeBattleRoom_EventScript_24BD4E:: @ 824BD4E
applymovement 13, BattleFrontier_BattleDomeBattleRoom_Movement_24C775
@@ -66,9 +66,9 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BD61:: @ 824BD61
call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E
waitmovement 0
compare VAR_TEMP_F, 3
- goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24BD82
+ goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24BD82
compare VAR_TEMP_E, 0
- goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24C1CB
+ goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24C1CB
BattleFrontier_BattleDomeBattleRoom_EventScript_24BD82:: @ 824BD82
setvar VAR_0x8004, 4
@@ -107,7 +107,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BDF7:: @ 824BDF7
applymovement 9, BattleFrontier_BattleDomeBattleRoom_Movement_24C96B
waitmovement 0
compare VAR_TEMP_2, 2
- goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BE4F
+ goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BE4F
setvar VAR_0x8004, 19
special CallBattleDomeFunction
switch VAR_RESULT
@@ -119,11 +119,11 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BE4F:: @ 824BE4F
setvar VAR_0x8004, 4
special CallBattleDomeFunction
compare VAR_TEMP_2, 0
- call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BEB1
+ call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BEB1
compare VAR_TEMP_2, 1
- call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BEC5
+ call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BEC5
compare VAR_TEMP_2, 2
- call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BED9
+ call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BED9
playse SE_W227B
call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E
delay 60
@@ -166,9 +166,9 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BEE0:: @ 824BEE0
applymovement 1, BattleFrontier_BattleDomeBattleRoom_Movement_2725B4
waitmovement 0
compare VAR_TEMP_2, 0
- call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BFC3
+ call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BFC3
compare VAR_TEMP_2, 1
- call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24BFCC
+ call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BFCC
playse SE_W227B
call BattleFrontier_BattleDomeBattleRoom_EventScript_24C82E
delay 60
@@ -229,17 +229,17 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24BFD5:: @ 824BFD5
setvar VAR_0x8005, 6
special CallBattleDomeFunction
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C023
+ goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C023
setvar VAR_0x8004, 1
setvar VAR_0x8005, 7
special CallBattleDomeFunction
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C076
+ goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C076
setvar VAR_0x8004, 1
setvar VAR_0x8005, 1
special CallBattleDomeFunction
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C16A
+ goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C16A
goto BattleFrontier_BattleDomeBattleRoom_EventScript_24C0C9
return
@@ -303,7 +303,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C0C2:: @ 824C0C2
BattleFrontier_BattleDomeBattleRoom_EventScript_24C0C9:: @ 824C0C9
compare VAR_TEMP_F, 3
- goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24C105
+ goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24C105
switch VAR_TEMP_E
case 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C158
case 2, BattleFrontier_BattleDomeBattleRoom_EventScript_24C161
@@ -430,7 +430,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C211:: @ 824C211
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
compare VAR_RESULT, 0
- goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24C2B9
+ goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24C2B9
msgbox BattleFrontier_BattleDomeBattleRoom_Text_24CFAE, MSGBOX_DEFAULT
setvar VAR_0x8004, 2
setvar VAR_0x8005, 7
@@ -450,7 +450,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C2B9:: @ 824C2B9
setvar VAR_0x8004, 12
special CallFrontierUtilFunc
compare VAR_RESULT, 0
- goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62
+ goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62
closemessage
applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_24C82B
waitmovement 0
@@ -469,7 +469,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C346:: @ 824C346
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
compare VAR_RESULT, 0
- goto_if 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24C373
+ goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24C373
msgbox BattleFrontier_BattleDomeBattleRoom_Text_24D319, MSGBOX_DEFAULT
setvar VAR_0x8004, 2
setvar VAR_0x8005, 7
@@ -489,7 +489,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C373:: @ 824C373
setvar VAR_0x8004, 12
special CallFrontierUtilFunc
compare VAR_RESULT, 2
- goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62
+ goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BF62
closemessage
applymovement 15, BattleFrontier_BattleDomeBattleRoom_Movement_24C82B
waitmovement 0
@@ -551,17 +551,17 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C48B:: @ 824C48B
call BattleFrontier_BattleDomeBattleRoom_EventScript_24C502
call BattleFrontier_BattleDomeBattleRoom_EventScript_24BCDC
setvar VAR_TEMP_1, 1
- applymovement 255, BattleFrontier_BattleDomeBattleRoom_Movement_24C773
+ 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 5, BattleFrontier_BattleDomeBattleRoom_EventScript_24C4EF
+ goto_if_ne BattleFrontier_BattleDomeBattleRoom_EventScript_24C4EF
setvar VAR_0x8004, 9
special CallFrontierUtilFunc
copyvar VAR_TEMP_E, VAR_RESULT
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C4EF
+ goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C4EF
call BattleFrontier_BattleDomeBattleRoom_EventScript_242170
setobjectxyperm 15, 13, 9
removeobject 15
@@ -573,7 +573,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C4EF:: @ 824C4EF
BattleFrontier_BattleDomeBattleRoom_MapScript1_24C4F0: @ 824C4F0
compare VAR_TEMP_9, 1
- call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C4FC
+ call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C4FC
end
BattleFrontier_BattleDomeBattleRoom_EventScript_24C4FC:: @ 824C4FC
@@ -582,13 +582,13 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C4FC:: @ 824C4FC
BattleFrontier_BattleDomeBattleRoom_EventScript_24C502:: @ 824C502
compare VAR_TEMP_F, 0
- call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C52F
+ call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C52F
compare VAR_TEMP_F, 1
- call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C530
+ call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C530
compare VAR_TEMP_F, 2
- call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C594
+ call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C594
compare VAR_TEMP_F, 3
- call_if 1, BattleFrontier_BattleDomeBattleRoom_EventScript_24C652
+ call_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24C652
return
BattleFrontier_BattleDomeBattleRoom_EventScript_24C52F:: @ 824C52F
@@ -952,7 +952,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C8F5:: @ 824C8F5
BattleFrontier_BattleDomePreBattleRoom_EventScript_24C8F5:: @ 824C8F5
copyvar VAR_RESULT, VAR_FRONTIER_BATTLE_MODE
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24C90F
+ goto_if_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24C90F
warp MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY, 255, 5, 11
waitstate
end
@@ -966,14 +966,14 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C919:: @ 824C919
random 2
copyvar VAR_TEMP_D, VAR_RESULT
compare VAR_TEMP_D, 0
- goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_27374E
+ goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_27374E
setobjectxyperm 6, 2, 0
setobjectmovementtype 6, 10
return
BattleFrontier_BattleDomeBattleRoom_EventScript_24C938:: @ 824C938
compare VAR_TEMP_D, 0
- goto_eq BattleFrontier_BattleDomeBattleRoom_EventScript_27374E
+ goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_27374E
applymovement 6, BattleFrontier_BattleDomeBattleRoom_Movement_24C95E
return
diff --git a/data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc b/data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc
index a4c0dafc4..ac43ee9a4 100644
--- a/data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc
+++ b/data/maps/BattleFrontier_BattleDomeCorridor/scripts.inc
@@ -13,14 +13,14 @@ BattleFrontier_BattleDomeCorridor_EventScript_24B10E:: @ 824B10E
setvar VAR_0x8005, 1
special CallFrontierUtilFunc
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleDomeCorridor_EventScript_24B161
+ goto_if_eq BattleFrontier_BattleDomeCorridor_EventScript_24B161
applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_24B1B2
- applymovement 255, BattleFrontier_BattleDomeCorridor_Movement_24B1A1
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_24B1A1
waitmovement 0
opendoor 13, 3
waitdooranim
applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_24B1BE
- applymovement 255, BattleFrontier_BattleDomeCorridor_Movement_24B1AE
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_24B1AE
waitmovement 0
closedoor 13, 3
waitdooranim
@@ -28,12 +28,12 @@ BattleFrontier_BattleDomeCorridor_EventScript_24B10E:: @ 824B10E
BattleFrontier_BattleDomeCorridor_EventScript_24B161:: @ 824B161
applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_24B1D6
- applymovement 255, BattleFrontier_BattleDomeCorridor_Movement_24B1C1
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_24B1C1
waitmovement 0
opendoor 37, 3
waitdooranim
applymovement 1, BattleFrontier_BattleDomeCorridor_Movement_24B1E6
- applymovement 255, BattleFrontier_BattleDomeCorridor_Movement_24B1D2
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeCorridor_Movement_24B1D2
waitmovement 0
closedoor 37, 3
waitdooranim
diff --git a/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc b/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc
index a4a719090..35c32c3fa 100644
--- a/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc
+++ b/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc
@@ -16,7 +16,7 @@ BattleFrontier_BattlePyramidLobby_MapScript2_2497FB: @ 82497FB
BattleFrontier_BattleDomeLobby_EventScript_249805:: @ 8249805
setvar VAR_TEMP_1, 1
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
end
BattleFrontier_BattleDomeLobby_MapScript2_24980F: @ 824980F
@@ -62,7 +62,7 @@ BattleFrontier_BattleDomeLobby_EventScript_24989B:: @ 824989B
setvar VAR_0x8004, 10
special CallFrontierUtilFunc
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleDomeLobby_EventScript_2498C1
+ goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_2498C1
msgbox BattleFrontier_BattleDomeLobby_Text_24A4E9, MSGBOX_DEFAULT
goto BattleFrontier_BattleDomeLobby_EventScript_2498C9
@@ -128,7 +128,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249991:: @ 8249991
waitse
call BattleFrontier_BattleDomeLobby_EventScript_23E8E0
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleDomeLobby_EventScript_2499E9
+ goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_2499E9
message BattleFrontier_BattleDomeLobby_Text_24AE17
waitmessage
multichoicedefault 20, 8, 94, 1, 0
@@ -183,15 +183,15 @@ BattleFrontier_BattleDomeLobby_EventScript_249A47:: @ 8249A47
BattleFrontier_BattleDomeLobby_EventScript_249A59:: @ 8249A59
special SavePlayerParty
compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249CFD
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249CFD
compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D06
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D06
BattleFrontier_BattleDomeLobby_EventScript_249A72:: @ 8249A72
compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D0F
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D0F
compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D15
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D15
waitmessage
multichoice 17, 6, 23, 0
switch VAR_RESULT
@@ -210,7 +210,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249ABF:: @ 8249ABF
setvar VAR_0x8004, 15
special CallFrontierUtilFunc
compare VAR_0x8004, 1
- goto_eq BattleFrontier_BattleDomeLobby_EventScript_249C15
+ goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_249C15
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
@@ -223,7 +223,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249ABF:: @ 8249ABF
special sub_80F9490
waitstate
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleDomeLobby_EventScript_249C61
+ goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_249C61
msgbox BattleFrontier_BattleDomeLobby_Text_24A1C6, MSGBOX_YESNO
switch VAR_RESULT
case 0, BattleFrontier_BattleDomeLobby_EventScript_249C61
@@ -251,7 +251,7 @@ BattleFrontier_BattleDomeLobby_EventScript_249B60:: @ 8249B60
call BattleFrontier_BattleDomeLobby_EventScript_27134F
setvar VAR_TEMP_0, 255
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleDomeLobby_EventScript_249C4A
+ goto_if_eq BattleFrontier_BattleDomeLobby_EventScript_249C4A
setvar VAR_0x8004, 22
special CallBattleDomeFunction
@@ -273,9 +273,9 @@ BattleFrontier_BattleDomeLobby_EventScript_249BC2:: @ 8249BC2
BattleFrontier_BattleDomeLobby_EventScript_249BFA:: @ 8249BFA
compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D1B
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D1B
compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D24
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D24
goto BattleFrontier_BattleDomeLobby_EventScript_249A72
BattleFrontier_BattleDomeLobby_EventScript_249C15:: @ 8249C15
@@ -310,26 +310,26 @@ BattleFrontier_BattleDomeLobby_EventScript_249C6C:: @ 8249C6C
BattleFrontier_BattleDomeLobby_EventScript_249C6E:: @ 8249C6E
compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249CDD
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249CDD
compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249CE5
- applymovement 255, BattleFrontier_BattleDomeLobby_Movement_249D45
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249CE5
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeLobby_Movement_249D45
waitmovement 0
compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D2D
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D2D
compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D33
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D33
waitdooranim
compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249CED
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249CED
compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249CF5
- applymovement 255, BattleFrontier_BattleDomeLobby_Movement_249D4E
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249CF5
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomeLobby_Movement_249D4E
waitmovement 0
compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D39
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D39
compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249D3F
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249D3F
waitdooranim
return
@@ -435,13 +435,13 @@ BattleFrontier_BattleDomeLobby_EventScript_249D84:: @ 8249D84
setvar VAR_0x8005, 9
special CallBattleDomeFunction
compare VAR_RESULT, 0
- call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249DC9
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249DC9
compare VAR_RESULT, 1
- call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249DD2
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249DD2
compare VAR_RESULT, 2
- call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249DDB
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249DDB
compare VAR_RESULT, 3
- call_if 1, BattleFrontier_BattleDomeLobby_EventScript_249DE4
+ call_if_eq BattleFrontier_BattleDomeLobby_EventScript_249DE4
fadescreen 1
setvar VAR_0x8004, 8
special CallBattleDomeFunction
diff --git a/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc
index 28d634162..6cf1c7817 100644
--- a/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattleDomePreBattleRoom/scripts.inc
@@ -9,7 +9,7 @@ BattleFrontier_BattleDomePreBattleRoom_MapScript2_24B204: @ 824B204
BattleFrontier_BattleDomePreBattleRoom_EventScript_24B20E:: @ 824B20E
setvar VAR_TEMP_1, 1
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
end
BattleFrontier_BattleDomePreBattleRoom_MapScript2_24B218: @ 824B218
@@ -18,13 +18,13 @@ BattleFrontier_BattleDomePreBattleRoom_MapScript2_24B218: @ 824B218
BattleFrontier_BattleDomePreBattleRoom_EventScript_24B222:: @ 824B222
compare VAR_0x8006, 1
- goto_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5C7
+ goto_if_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5C7
setvar VAR_0x8004, 2
setvar VAR_0x8005, 6
setvar VAR_0x8006, 1
special CallFrontierUtilFunc
setvar VAR_TEMP_0, 1
- applymovement 255, BattleFrontier_BattleDomePreBattleRoom_Movement_24B652
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomePreBattleRoom_Movement_24B652
waitmovement 0
lockall
@@ -34,7 +34,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F:: @ 824B24F
switch VAR_RESULT
call BattleFrontier_BattleDomePreBattleRoom_EventScript_23E8E0
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B2C1
+ goto_if_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B2C1
multichoice 16, 0, 73, 1
switch VAR_RESULT
case 0, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B3DD
@@ -159,7 +159,7 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B46D:: @ 824B46D
setvar VAR_0x8004, 21
special CallFrontierUtilFunc
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F
+ goto_if_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B24F
setvar VAR_0x8004, 2
setvar VAR_0x8005, 8
special CallBattleDomeFunction
@@ -171,11 +171,11 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B46D:: @ 824B46D
closemessage
applymovement 1, BattleFrontier_BattleDomePreBattleRoom_Movement_24B64F
waitmovement 0
- applymovement 255, BattleFrontier_BattleDomePreBattleRoom_Movement_24B657
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomePreBattleRoom_Movement_24B657
waitmovement 0
opendoor 5, 1
waitdooranim
- applymovement 255, BattleFrontier_BattleDomePreBattleRoom_Movement_24B659
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleDomePreBattleRoom_Movement_24B659
waitmovement 0
closedoor 5, 1
waitdooranim
@@ -219,15 +219,13 @@ BattleFrontier_BattleDomePreBattleRoom_EventScript_24B54C:: @ 824B54C
return
BattleFrontier_BattleDomePreBattleRoom_EventScript_24B58B:: @ 824B58B
- checkflag FLAG_TEMP_1
- goto_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5B5
+ goto_if_set FLAG_TEMP_1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5B5
msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BB2E, MSGBOX_DEFAULT
setflag FLAG_TEMP_1
return
BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5A0:: @ 824B5A0
- checkflag FLAG_TEMP_1
- goto_eq BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5BE
+ goto_if_set FLAG_TEMP_1, BattleFrontier_BattleDomePreBattleRoom_EventScript_24B5BE
msgbox BattleFrontier_BattleDomePreBattleRoom_Text_24BBAC, MSGBOX_DEFAULT
setflag FLAG_TEMP_1
return
diff --git a/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc
index ab3ea4d7c..f8511315b 100644
--- a/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc
@@ -9,14 +9,14 @@ BattleFrontier_BattleFactoryBattleRoom_MapScript1_25ADBB: @ 825ADBB
special CallFrontierUtilFunc
checkplayergender
compare VAR_RESULT, 0
- call_if 1, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE25
+ call_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE25
compare VAR_RESULT, 1
- call_if 1, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE2B
+ call_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE2B
setvar VAR_0x8004, 9
special CallFrontierUtilFunc
copyvar VAR_TEMP_F, VAR_RESULT
compare VAR_RESULT, 0
- goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25ADF3
+ goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_25ADF3
end
BattleFrontier_BattleFactoryBattleRoom_EventScript_25ADF3:: @ 825ADF3
@@ -30,9 +30,9 @@ BattleFrontier_BattleFactoryBattleRoom_MapScript2_25AE00: @ 825AE00
BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE0A:: @ 825AE0A
setvar VAR_TEMP_1, 1
- hideobjectat 255, MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM
+ hideobjectat EVENT_OBJ_ID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM
compare VAR_TEMP_F, 0
- goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE24
+ goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE24
hideobjectat 2, MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM
BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE24:: @ 825AE24
@@ -55,7 +55,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE3B:: @ 825AE3B
closemessage
applymovement 2, BattleFrontier_BattleFactoryBattleRoom_Movement_25B18B
applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B
- applymovement 255, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B
waitmovement 0
call BattleFrontier_BattleFactoryBattleRoom_EventScript_25B1B4
goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEA7
@@ -63,9 +63,9 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE3B:: @ 825AE3B
BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE67:: @ 825AE67
compare VAR_TEMP_F, 0
- goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE3B
+ goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE3B
applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B
- applymovement 255, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryBattleRoom_Movement_25B17B
waitmovement 0
call BattleFrontier_BattleFactoryBattleRoom_EventScript_25B1B4
setvar VAR_0x8004, 11
@@ -78,7 +78,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE67:: @ 825AE67
BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEA7:: @ 825AEA7
compare VAR_TEMP_F, 0
- goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF9C
+ goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF9C
setvar VAR_0x8004, 5
special CallBattlePalaceFunction
lockall
@@ -111,7 +111,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF0F:: @ 825AF0F
setvar VAR_0x8005, 3
special CallBattleFactoryFunction
compare VAR_RESULT, 9999
- goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF3E
+ goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF3E
addvar VAR_RESULT, 1
setorcopyvar VAR_0x8006, VAR_RESULT
setvar VAR_0x8004, 2
@@ -152,7 +152,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF9C:: @ 825AF9C
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
compare VAR_RESULT, 0
- goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25AFEF
+ goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_25AFEF
msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B1FB, MSGBOX_DEFAULT
setvar VAR_0x8004, 2
setvar VAR_0x8005, 7
@@ -162,14 +162,14 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25AFEF:: @ 825AFEF
msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B3F1, MSGBOX_DEFAULT
call BattleFrontier_BattleFactoryBattleRoom_EventScript_25B0E0
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25B00C
+ goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25B00C
goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEF8
BattleFrontier_BattleFactoryBattleRoom_EventScript_25B00C:: @ 825B00C
setvar VAR_0x8004, 12
special CallFrontierUtilFunc
compare VAR_RESULT, 0
- goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105
+ goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105
msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B42D, MSGBOX_DEFAULT
closemessage
applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_25B182
@@ -188,7 +188,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25B051:: @ 825B051
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
compare VAR_RESULT, 0
- goto_if 5, BattleFrontier_BattleFactoryBattleRoom_EventScript_25B07E
+ goto_if_ne BattleFrontier_BattleFactoryBattleRoom_EventScript_25B07E
msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B517, MSGBOX_DEFAULT
setvar VAR_0x8004, 2
setvar VAR_0x8005, 7
@@ -198,14 +198,14 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25B07E:: @ 825B07E
msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B5CF, MSGBOX_DEFAULT
call BattleFrontier_BattleFactoryBattleRoom_EventScript_25B0E0
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25B09B
+ goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25B09B
goto BattleFrontier_BattleFactoryBattleRoom_EventScript_25AEF8
BattleFrontier_BattleFactoryBattleRoom_EventScript_25B09B:: @ 825B09B
setvar VAR_0x8004, 12
special CallFrontierUtilFunc
compare VAR_RESULT, 2
- goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105
+ goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105
msgbox BattleFrontier_BattleFactoryBattleRoom_Text_25B5E7, MSGBOX_DEFAULT
waitmessage
applymovement 8, BattleFrontier_BattleFactoryBattleRoom_Movement_25B182
@@ -237,7 +237,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105:: @ 825B105
setvar VAR_0x8005, 3
special CallBattleFactoryFunction
compare VAR_RESULT, 9999
- goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF3E
+ goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF3E
addvar VAR_RESULT, 1
setorcopyvar VAR_0x8006, VAR_RESULT
setvar VAR_0x8004, 2
@@ -247,7 +247,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25B105:: @ 825B105
setvar VAR_0x8005, 1
special CallBattleFactoryFunction
compare VAR_RESULT, 9999
- goto_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF43
+ goto_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AF43
addvar VAR_RESULT, 1
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
@@ -293,7 +293,7 @@ BattleFrontier_BattleFactoryBattleRoom_EventScript_25B190:: @ 825B190
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25B190:: @ 825B190
copyvar VAR_RESULT, VAR_FRONTIER_BATTLE_MODE
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25B1AA
+ goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25B1AA
warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY, 255, 4, 8
waitstate
end
diff --git a/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc b/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc
index b387fc048..39d729846 100644
--- a/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc
+++ b/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc
@@ -9,7 +9,7 @@ BattleFrontier_BattleFactoryLobby_MapScript2_2583F3: @ 82583F3
BattleFrontier_BattleFactoryLobby_EventScript_2583FD:: @ 82583FD
setvar VAR_TEMP_1, 1
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
end
BattleFrontier_BattleFactoryLobby_MapScript2_258407: @ 8258407
@@ -56,7 +56,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_25849B:: @ 825849B
setvar VAR_0x8004, 10
special CallFrontierUtilFunc
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleFactoryLobby_EventScript_2584BD
+ goto_if_eq BattleFrontier_BattleFactoryLobby_EventScript_2584BD
msgbox BattleFrontier_BattleFactoryLobby_Text_258D93, MSGBOX_DEFAULT
waitmessage
goto BattleFrontier_BattleFactoryLobby_EventScript_2584C6
@@ -103,7 +103,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_258506:: @ 8258506
BattleFrontier_BattleFactoryLobby_EventScript_25853B:: @ 825853B
call BattleFrontier_BattleFactoryLobby_EventScript_23E8E0
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleFactoryLobby_EventScript_258582
+ goto_if_eq BattleFrontier_BattleFactoryLobby_EventScript_258582
message BattleFrontier_BattleFactoryLobby_Text_259388
waitmessage
multichoicedefault 20, 8, 94, 1, 0
@@ -156,15 +156,15 @@ BattleFrontier_BattleFactoryLobby_EventScript_2585DD:: @ 82585DD
BattleFrontier_BattleFactoryLobby_EventScript_2585ED:: @ 82585ED
special SavePlayerParty
compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587B1
+ call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_2587B1
compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587BA
+ call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_2587BA
BattleFrontier_BattleFactoryLobby_EventScript_258606:: @ 8258606
compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587C3
+ call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_2587C3
compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587C9
+ call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_2587C9
waitmessage
multichoice 17, 6, 23, 0
switch VAR_RESULT
@@ -211,7 +211,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_2586B9:: @ 82586B9
call BattleFrontier_BattleFactoryLobby_EventScript_27134F
setvar VAR_TEMP_0, 255
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleFactoryLobby_EventScript_258783
+ goto_if_eq BattleFrontier_BattleFactoryLobby_EventScript_258783
setvar VAR_0x8006, 0
BattleFrontier_BattleFactoryLobby_EventScript_25871A:: @ 825871A
@@ -219,11 +219,11 @@ BattleFrontier_BattleFactoryLobby_EventScript_25871A:: @ 825871A
msgbox BattleFrontier_BattleFactoryLobby_Text_258CB1, MSGBOX_DEFAULT
closemessage
compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_25875C
+ call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_25875C
compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_258762
+ call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_258762
applymovement VAR_LAST_TALKED, BattleFrontier_BattleFactoryLobby_Movement_2587A7
- applymovement 255, BattleFrontier_BattleFactoryLobby_Movement_2587AC
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryLobby_Movement_2587AC
waitmovement 0
warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM, 255, 8, 13
setvar VAR_TEMP_0, 0
@@ -240,9 +240,9 @@ BattleFrontier_BattleFactoryLobby_EventScript_258762:: @ 8258762
BattleFrontier_BattleFactoryLobby_EventScript_258768:: @ 8258768
compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587CF
+ call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_2587CF
compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if 1, BattleFrontier_BattleFactoryLobby_EventScript_2587D8
+ call_if_eq BattleFrontier_BattleFactoryLobby_EventScript_2587D8
goto BattleFrontier_BattleFactoryLobby_EventScript_258606
BattleFrontier_BattleFactoryLobby_EventScript_258783:: @ 8258783
diff --git a/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc
index a212ce38f..21681b70a 100644
--- a/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/scripts.inc
@@ -10,12 +10,12 @@ BattleFrontier_BattleFactoryPreBattleRoom_MapScript2_259AC5: @ 8259AC5
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259ACF:: @ 8259ACF
setvar VAR_TEMP_1, 1
compare VAR_0x8006, 1
- goto_if 5, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259AEA
+ goto_if_ne BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259AEA
setobjectxy 1, 8, 7
turnobject 1, 1
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259AEA:: @ 8259AEA
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
end
BattleFrontier_BattleFactoryPreBattleRoom_MapScript2_259AEF: @ 8259AEF
@@ -24,13 +24,13 @@ BattleFrontier_BattleFactoryPreBattleRoom_MapScript2_259AEF: @ 8259AEF
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259AF9:: @ 8259AF9
compare VAR_0x8006, 1
- goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259BA5
+ goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259BA5
setvar VAR_TEMP_0, 1
applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1AC
- applymovement 255, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A19A
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A19A
waitmovement 0
compare VAR_0x8006, 2
- goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E69
+ goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E69
setvar VAR_0x8004, 13
special CallBattleFactoryFunction
setvar VAR_0x8004, 12
@@ -56,9 +56,9 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74:: @ 8259B74
closemessage
call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23F2B7
compare VAR_RESULT, 0
- call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A17C
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A17C
compare VAR_RESULT, 1
- call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A18B
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A18B
waitmovement 0
warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM, 255, 6, 11
waitstate
@@ -76,7 +76,7 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259BA5:: @ 8259BA5
setvar VAR_0x8004, 9
special CallFrontierUtilFunc
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C26
+ goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C26
playse 263
waitse
msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AC15, MSGBOX_DEFAULT
@@ -97,27 +97,27 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C13:: @ 8259C13
setvar VAR_0x8004, 9
special CallFrontierUtilFunc
compare VAR_RESULT, 0
- goto_if 5, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B9
+ goto_if_ne BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B9
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259C26:: @ 8259C26
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
special CallFrontierUtilFunc
compare VAR_RESULT, 1
- call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E1D
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E1D
compare VAR_RESULT, 2
- call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E24
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E24
compare VAR_RESULT, 3
- call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E2B
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E2B
compare VAR_RESULT, 4
- call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E32
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E32
compare VAR_RESULT, 5
- call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E39
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E39
compare VAR_RESULT, 6
- call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E40
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E40
call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23E8E0
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259CC6
+ goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259CC6
multichoice 19, 4, 103, 1
switch VAR_RESULT
case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259D98
@@ -186,7 +186,7 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259DF2:: @ 8259DF2
special CallBattleFactoryFunction
waitstate
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74
+ goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259B74
setvar VAR_0x8004, 8
special CallBattleFactoryFunction
msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25AB6C, MSGBOX_DEFAULT
@@ -250,41 +250,41 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E69:: @ 8259E69
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259E93:: @ 8259E93
msgbox BattleFrontier_BattleFactoryPreBattleRoom_Text_25A3B4, MSGBOX_DEFAULT
compare VAR_0x8005, 0
- call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F62
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F62
compare VAR_0x8005, 1
- call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F6B
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F6B
compare VAR_0x8005, 2
- call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F74
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F74
compare VAR_0x8005, 3
- call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F7D
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F7D
compare VAR_0x8005, 4
- call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F86
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F86
compare VAR_0x8005, 5
- call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F8F
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F8F
compare VAR_0x8005, 6
- call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F98
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F98
compare VAR_0x8005, 7
- call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FA1
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FA1
compare VAR_0x8005, 8
- call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FAA
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FAA
compare VAR_0x8005, 10
- call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FB3
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FB3
compare VAR_0x8005, 11
- call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FBC
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FBC
compare VAR_0x8005, 12
- call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FC5
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FC5
compare VAR_0x8005, 13
- call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FCE
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FCE
compare VAR_0x8005, 14
- call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FD7
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FD7
compare VAR_0x8005, 15
- call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FE0
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FE0
compare VAR_0x8005, 16
- call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FE9
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FE9
compare VAR_0x8005, 17
- call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FF2
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FF2
compare VAR_0x8005, 18
- call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FFB
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FFB
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259F62:: @ 8259F62
@@ -361,23 +361,23 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_259FFB:: @ 8259FFB
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A004:: @ 825A004
compare VAR_0x8006, 0
- call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A068
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A068
compare VAR_0x8006, 1
- call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A071
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A071
compare VAR_0x8006, 2
- call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A07A
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A07A
compare VAR_0x8006, 3
- call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A083
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A083
compare VAR_0x8006, 4
- call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A08C
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A08C
compare VAR_0x8006, 5
- call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A095
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A095
compare VAR_0x8006, 6
- call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A09E
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A09E
compare VAR_0x8006, 7
- call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0A7
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0A7
compare VAR_0x8006, 8
- call_if 1, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B0
+ call_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B0
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A068:: @ 825A068
@@ -421,7 +421,7 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A0B9:: @ 825A0B9
waitmessage
call BattleFrontier_BattleFactoryPreBattleRoom_EventScript_23E8E0
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A110
+ goto_if_eq BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A110
multichoice 19, 4, 103, 1
switch VAR_RESULT
case 0, BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A146
@@ -448,12 +448,12 @@ BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A146:: @ 825A146
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A17C:: @ 825A17C
applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1B3
- applymovement 255, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1A0
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1A0
return
BattleFrontier_BattleFactoryPreBattleRoom_EventScript_25A18B:: @ 825A18B
applymovement 1, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1B9
- applymovement 255, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1A6
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A1A6
return
BattleFrontier_BattleFactoryPreBattleRoom_Movement_25A19A: @ 825A19A
diff --git a/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc
index ccada959e..086c55b17 100644
--- a/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc
@@ -13,9 +13,9 @@ BattleFrontier_BattlePalaceBattleRoom_MapScript1_24F825: @ 824F825
BattleFrontier_BattlePalaceBattleRoom_EventScript_24F833:: @ 824F833
checkplayergender
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24F84B
+ goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24F84B
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24F856
+ goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24F856
return
BattleFrontier_BattlePalaceBattleRoom_EventScript_24F84B:: @ 824F84B
@@ -38,7 +38,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24F86B:: @ 824F86B
setvar VAR_0x8005, 2
special CallFrontierUtilFunc
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8B5
+ goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8B5
applymovement 1, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE9B
waitmovement 0
applymovement 3, BattleFrontier_BattlePalaceBattleRoom_Movement_24FEAC
@@ -107,25 +107,25 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24F98A:: @ 824F98A
special CallFrontierUtilFunc
copyvar VAR_TEMP_F, VAR_RESULT
compare VAR_RESULT, 0
- goto_if 5, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB61
+ goto_if_ne BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB61
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
special CallFrontierUtilFunc
compare VAR_RESULT, 1
- call_if 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE66
+ call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE66
compare VAR_RESULT, 2
- call_if 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE6D
+ call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE6D
compare VAR_RESULT, 3
- call_if 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE74
+ call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE74
compare VAR_RESULT, 4
- call_if 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE7B
+ call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE7B
compare VAR_RESULT, 5
- call_if 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE82
+ call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE82
compare VAR_RESULT, 6
- call_if 1, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE89
+ call_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE89
call BattleFrontier_BattlePalaceBattleRoom_EventScript_23E8E0
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FA42
+ goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FA42
multichoice 19, 4, 103, 1
switch VAR_RESULT
case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB14
@@ -199,7 +199,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB3F:: @ 824FB3F
BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB61:: @ 824FB61
compare VAR_TEMP_2, 1
- goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB79
+ goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB79
msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2500DD, MSGBOX_DEFAULT
setvar VAR_TEMP_2, 1
@@ -208,7 +208,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB79:: @ 824FB79
waitmessage
call BattleFrontier_BattlePalaceBattleRoom_EventScript_23E8E0
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FBD0
+ goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FBD0
multichoice 19, 4, 103, 1
switch VAR_RESULT
case 0, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FC06
@@ -248,7 +248,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FC06:: @ 824FC06
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
compare VAR_RESULT, 0
- goto_if 5, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCAA
+ goto_if_ne BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCAA
msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2501C1, MSGBOX_DEFAULT
setvar VAR_0x8004, 2
setvar VAR_0x8005, 7
@@ -258,7 +258,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCAA:: @ 824FCAA
msgbox BattleFrontier_BattlePalaceBattleRoom_Text_2502C4, MSGBOX_DEFAULT
call BattleFrontier_BattlePalaceBattleRoom_EventScript_24FDF7
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCC7
+ goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCC7
goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8FA
BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCC7:: @ 824FCC7
@@ -267,7 +267,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FCC7:: @ 824FCC7
setvar VAR_0x8004, 12
special CallFrontierUtilFunc
compare VAR_RESULT, 0
- goto_if 5, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28
+ 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
@@ -291,7 +291,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD3A:: @ 824FD3A
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
compare VAR_RESULT, 0
- goto_if 5, BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD67
+ goto_if_ne BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD67
msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250485, MSGBOX_DEFAULT
setvar VAR_0x8004, 2
setvar VAR_0x8005, 7
@@ -301,7 +301,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD67:: @ 824FD67
msgbox BattleFrontier_BattlePalaceBattleRoom_Text_250572, MSGBOX_DEFAULT
call BattleFrontier_BattlePalaceBattleRoom_EventScript_24FDF7
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD84
+ goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD84
goto BattleFrontier_BattlePalaceBattleRoom_EventScript_24F8FA
BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD84:: @ 824FD84
@@ -310,7 +310,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FD84:: @ 824FD84
setvar VAR_0x8004, 12
special CallFrontierUtilFunc
compare VAR_RESULT, 2
- goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FB28
+ 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
@@ -357,7 +357,7 @@ BattleFrontier_BattlePalaceBattleRoom_EventScript_24FE3E:: @ 824FE3E
hideobjectat 1, MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM
call BattleFrontier_BattlePalaceBattleRoom_EventScript_24F833
setvar VAR_TEMP_1, 1
- applymovement 255, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE90
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE90
removeobject 2
applymovement 4, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE90
applymovement 5, BattleFrontier_BattlePalaceBattleRoom_Movement_24FE90
@@ -461,7 +461,7 @@ BattleFrontier_BattlePalaceBattleRoom_Movement_24FEB6: @ 824FEB6
BattleFrontier_BattlePalaceBattleRoom_EventScript_24FEBB:: @ 824FEBB
copyvar VAR_RESULT, VAR_FRONTIER_BATTLE_MODE
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FED5
+ goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24FED5
warp MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY, 255, 5, 7
waitstate
end
diff --git a/data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc b/data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc
index 199a67fa6..071f61a09 100644
--- a/data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePalaceCorridor/scripts.inc
@@ -9,34 +9,34 @@ BattleFrontier_BattlePalaceCorridor_MapScript2_24F4A9: @ 824F4A9
BattleFrontier_BattlePalaceCorridor_EventScript_24F4B3:: @ 824F4B3
delay 16
applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5B8
- applymovement 255, BattleFrontier_BattlePalaceCorridor_Movement_24F5B8
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_24F5B8
waitmovement 0
lockall
setvar VAR_0x8004, 3
special CallBattlePalaceFunction
compare VAR_RESULT, 0
- call_if 1, BattleFrontier_BattlePalaceCorridor_EventScript_24F58B
+ call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_24F58B
compare VAR_RESULT, 1
- call_if 1, BattleFrontier_BattlePalaceCorridor_EventScript_24F594
+ call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_24F594
compare VAR_RESULT, 2
- call_if 1, BattleFrontier_BattlePalaceCorridor_EventScript_24F59D
+ call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_24F59D
compare VAR_RESULT, 3
- call_if 1, BattleFrontier_BattlePalaceCorridor_EventScript_24F5A6
+ call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_24F5A6
compare VAR_RESULT, 4
- call_if 1, BattleFrontier_BattlePalaceCorridor_EventScript_24F5AF
+ call_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_24F5AF
closemessage
setvar VAR_0x8004, 1
setvar VAR_0x8005, 1
special CallFrontierUtilFunc
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattlePalaceCorridor_EventScript_24F553
+ goto_if_eq BattleFrontier_BattlePalaceCorridor_EventScript_24F553
applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5BD
- applymovement 255, BattleFrontier_BattlePalaceCorridor_Movement_24F5C4
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_24F5C4
waitmovement 0
opendoor 6, 3
waitdooranim
applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5DA
- applymovement 255, BattleFrontier_BattlePalaceCorridor_Movement_24F5D9
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_24F5D9
waitmovement 0
closedoor 6, 3
waitdooranim
@@ -44,12 +44,12 @@ BattleFrontier_BattlePalaceCorridor_EventScript_24F4B3:: @ 824F4B3
BattleFrontier_BattlePalaceCorridor_EventScript_24F553:: @ 824F553
applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5CB
- applymovement 255, BattleFrontier_BattlePalaceCorridor_Movement_24F5D2
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_24F5D2
waitmovement 0
opendoor 10, 3
waitdooranim
applymovement 1, BattleFrontier_BattlePalaceCorridor_Movement_24F5DA
- applymovement 255, BattleFrontier_BattlePalaceCorridor_Movement_24F5D9
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceCorridor_Movement_24F5D9
waitmovement 0
closedoor 10, 3
waitdooranim
diff --git a/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc b/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc
index c81331ddc..56edda8ad 100644
--- a/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc
@@ -9,7 +9,7 @@ BattleFrontier_BattlePalaceLobby_MapScript2_24D789: @ 824D789
BattleFrontier_BattlePalaceLobby_EventScript_24D793:: @ 824D793
setvar VAR_TEMP_1, 1
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
end
BattleFrontier_BattlePalaceLobby_MapScript2_24D79D: @ 824D79D
@@ -50,7 +50,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D817:: @ 824D817
setvar VAR_0x8004, 10
special CallFrontierUtilFunc
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattlePalaceLobby_EventScript_24D838
+ goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24D838
msgbox BattleFrontier_BattlePalaceLobby_Text_24E497, MSGBOX_DEFAULT
goto BattleFrontier_BattlePalaceLobby_EventScript_24D840
@@ -98,7 +98,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D8A1:: @ 824D8A1
waitse
call BattleFrontier_BattlePalaceLobby_EventScript_23E8E0
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattlePalaceLobby_EventScript_24D907
+ goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24D907
message BattleFrontier_BattlePalaceLobby_Text_24EF16
waitmessage
multichoicedefault 20, 8, 94, 1, 0
@@ -151,18 +151,18 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D968:: @ 824D968
setvar VAR_0x8005, 0
special CallBattlePalaceFunction
compare VAR_RESULT, 0
- goto_if 5, BattleFrontier_BattlePalaceLobby_EventScript_24D817
+ goto_if_ne BattleFrontier_BattlePalaceLobby_EventScript_24D817
special SavePlayerParty
compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DB9E
+ call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB9E
compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DBA7
+ call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DBA7
BattleFrontier_BattlePalaceLobby_EventScript_24D999:: @ 824D999
compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DBB0
+ call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DBB0
compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DBB6
+ call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DBB6
waitmessage
multichoice 17, 6, 23, 0
switch VAR_RESULT
@@ -181,7 +181,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D9E6:: @ 824D9E6
setvar VAR_0x8004, 15
special CallFrontierUtilFunc
compare VAR_0x8004, 1
- goto_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB45
+ goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB45
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
@@ -194,7 +194,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24D9E6:: @ 824D9E6
special sub_80F9490
waitstate
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB91
+ goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB91
msgbox BattleFrontier_BattlePalaceLobby_Text_24E3C8, MSGBOX_YESNO
switch VAR_RESULT
case 0, BattleFrontier_BattlePalaceLobby_EventScript_24DB91
@@ -226,7 +226,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24DA87:: @ 824DA87
call BattleFrontier_BattlePalaceLobby_EventScript_27134F
setvar VAR_TEMP_0, 255
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB7A
+ goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB7A
BattleFrontier_BattlePalaceLobby_EventScript_24DAF3:: @ 824DAF3
special SavePlayerParty
@@ -243,7 +243,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_24DAF3:: @ 824DAF3
BattleFrontier_BattlePalaceLobby_EventScript_24DB20:: @ 824DB20
compare VAR_FRONTIER_BATTLE_MODE, 1
- goto_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB38
+ goto_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DB38
msgbox BattleFrontier_BattlePalaceLobby_Text_24DE17, MSGBOX_DEFAULT
goto BattleFrontier_BattlePalaceLobby_EventScript_24D999
@@ -299,24 +299,24 @@ BattleFrontier_BattlePalaceLobby_EventScript_24DBB6:: @ 824DBB6
BattleFrontier_BattlePalaceLobby_EventScript_24DBBC:: @ 824DBBC
compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC23
+ call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DC23
compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC29
+ call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DC29
applymovement VAR_LAST_TALKED, BattleFrontier_BattlePalaceLobby_Movement_24DC47
- applymovement 255, BattleFrontier_BattlePalaceLobby_Movement_24DC47
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceLobby_Movement_24DC47
waitmovement 0
compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC2F
+ call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DC2F
compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC35
+ call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DC35
waitdooranim
applymovement VAR_LAST_TALKED, BattleFrontier_BattlePalaceLobby_Movement_24DC49
- applymovement 255, BattleFrontier_BattlePalaceLobby_Movement_24DC4C
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePalaceLobby_Movement_24DC4C
waitmovement 0
compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC3B
+ call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DC3B
compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if 1, BattleFrontier_BattlePalaceLobby_EventScript_24DC41
+ call_if_eq BattleFrontier_BattlePalaceLobby_EventScript_24DC41
waitdooranim
return
diff --git a/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc b/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc
index 0a0df3636..1155cd67b 100644
--- a/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc
@@ -18,14 +18,14 @@ BattleFrontier_BattlePikeCorridor_EventScript_25C786:: @ 825C786
setvar VAR_0x8004, 24
setvar VAR_0x8005, 1
special CallBattlePikeFunction
- applymovement 255, BattleFrontier_BattlePikeCorridor_Movement_25C80B
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeCorridor_Movement_25C80B
applymovement 1, BattleFrontier_BattlePikeCorridor_Movement_25C812
waitmovement 0
lockall
msgbox BattleFrontier_BattlePikeCorridor_Text_25C817, MSGBOX_DEFAULT
closemessage
releaseall
- applymovement 255, BattleFrontier_BattlePikeCorridor_Movement_25C80E
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeCorridor_Movement_25C80E
waitmovement 0
setvar VAR_0x8004, 2
setvar VAR_0x8005, 0
@@ -42,7 +42,7 @@ BattleFrontier_BattlePikeCorridor_MapScript2_25C7F7: @ 825C7F7
BattleFrontier_BattlePikeCorridor_EventScript_25C801:: @ 825C801
setvar VAR_TEMP_1, 1
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
end
BattleFrontier_BattlePikeCorridor_Movement_25C80B: @ 825C80B
diff --git a/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc b/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc
index e4f3e1a6e..70d7f3c6c 100644
--- a/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc
@@ -16,7 +16,7 @@ BattleFrontier_BattlePikeLobby_MapScript2_25B6F3: @ 825B6F3
BattleFrontier_BattlePikeLobby_EventScript_25B6FD:: @ 825B6FD
setvar VAR_TEMP_1, 1
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
end
BattleFrontier_BattlePikeLobby_EventScript_25B707:: @ 825B707
@@ -52,7 +52,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25B762:: @ 825B762
setvar VAR_0x8004, 10
special CallFrontierUtilFunc
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattlePikeLobby_EventScript_25B784
+ goto_if_eq BattleFrontier_BattlePikeLobby_EventScript_25B784
msgbox BattleFrontier_BattlePikeLobby_Text_25C18A, MSGBOX_DEFAULT
waitmessage
goto BattleFrontier_BattlePikeLobby_EventScript_25B78D
@@ -150,7 +150,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25B8BB:: @ 825B8BB
setvar VAR_0x8004, 15
special CallFrontierUtilFunc
compare VAR_0x8004, 1
- goto_eq BattleFrontier_BattlePikeLobby_EventScript_25BA27
+ goto_if_eq BattleFrontier_BattlePikeLobby_EventScript_25BA27
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
@@ -163,7 +163,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25B8BB:: @ 825B8BB
special sub_80F9490
waitstate
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePikeLobby_EventScript_25BA73
+ goto_if_eq BattleFrontier_BattlePikeLobby_EventScript_25BA73
msgbox BattleFrontier_BattlePikeLobby_Text_25C0D8, MSGBOX_YESNO
switch VAR_RESULT
case 0, BattleFrontier_BattlePikeLobby_EventScript_25BA73
@@ -200,7 +200,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25B95C:: @ 825B95C
setvar VAR_0x8004, 26
special CallBattlePikeFunction
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePikeLobby_EventScript_25BA5C
+ goto_if_eq BattleFrontier_BattlePikeLobby_EventScript_25BA5C
special SavePlayerParty
setvar VAR_0x8004, 3
setvar VAR_0x8005, 3
@@ -263,7 +263,7 @@ BattleFrontier_BattlePikeLobby_EventScript_25BA80:: @ 825BA80
BattleFrontier_BattlePikeLobby_EventScript_25BA94:: @ 825BA94
applymovement 1, BattleFrontier_BattlePikeLobby_Movement_25BAA7
- applymovement 255, BattleFrontier_BattlePikeLobby_Movement_25BAA6
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeLobby_Movement_25BAA6
waitmovement 0
return
diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom1/scripts.inc b/data/maps/BattleFrontier_BattlePikeRandomRoom1/scripts.inc
index 79a10880a..1c810900c 100644
--- a/data/maps/BattleFrontier_BattlePikeRandomRoom1/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePikeRandomRoom1/scripts.inc
@@ -112,8 +112,8 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2BF:: @ 825D2BF
BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2FB:: @ 825D2FB
msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E311, MSGBOX_DEFAULT
closemessage
- special SpawnScriptEventObject
- applymovement 127, BattleFrontier_BattlePikeRandomRoom1_Movement_25D9B0
+ special SpawnCameraObject
+ applymovement EVENT_OBJ_ID_CAMERA, BattleFrontier_BattlePikeRandomRoom1_Movement_25D9B0
applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7E2
waitmovement 0
playse 267
@@ -146,7 +146,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D2FB:: @ 825D2FB
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
compare VAR_RESULT, 0
- goto_if 5, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3BD
+ goto_if_ne BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3BD
msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DED2, MSGBOX_DEFAULT
setvar VAR_0x8004, 2
setvar VAR_0x8005, 7
@@ -156,14 +156,14 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3BD:: @ 825D3BD
msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DF71, MSGBOX_DEFAULT
call BattleFrontier_BattlePikeRandomRoom1_EventScript_25D77B
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D3DA
+ 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 5, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D
+ goto_if_ne BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D
msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DFA2, MSGBOX_DEFAULT
waitmessage
playfanfare MUS_ME_SYMBOLGET
@@ -181,7 +181,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D416:: @ 825D416
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
compare VAR_RESULT, 0
- goto_if 5, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D443
+ goto_if_ne BattleFrontier_BattlePikeRandomRoom1_EventScript_25D443
msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E02C, MSGBOX_DEFAULT
setvar VAR_0x8004, 2
setvar VAR_0x8005, 7
@@ -191,14 +191,14 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D443:: @ 825D443
msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E0E8, MSGBOX_DEFAULT
call BattleFrontier_BattlePikeRandomRoom1_EventScript_25D77B
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D460
+ 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_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D
+ goto_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D
msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25E0F6, MSGBOX_DEFAULT
waitmessage
playfanfare MUS_ME_SYMBOLGET
@@ -215,7 +215,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D460:: @ 825D460
BattleFrontier_BattlePikeRandomRoom1_EventScript_25D49D:: @ 825D49D
applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7EA
waitmovement 0
- applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DC
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DC
waitmovement 0
setvar VAR_0x8004, 1
setvar VAR_0x8005, 1
@@ -277,7 +277,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D53E:: @ 825D53E
applymovement 1, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7C8
applymovement 2, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7CA
waitmovement 0
- applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BB
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BB
waitmovement 0
setvar VAR_0x8004, 21
setvar VAR_0x8005, 0
@@ -285,7 +285,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D53E:: @ 825D53E
msgbox gStringVar4, MSGBOX_DEFAULT
closemessage
delay 16
- applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BD
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BD
waitmovement 0
setvar VAR_0x8004, 21
setvar VAR_0x8005, 1
@@ -302,13 +302,13 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D53E:: @ 825D53E
end
BattleFrontier_BattlePikeRandomRoom1_EventScript_25D5DC:: @ 825D5DC
- applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BD
+ 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 255, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BF
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7BF
waitmovement 0
end
@@ -321,9 +321,9 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D605:: @ 825D605
special CallBattlePikeFunction
copyvar VAR_0x8004, VAR_RESULT
compare VAR_0x8004, 0
- call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D643
+ call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D643
compare VAR_0x8004, 1
- call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D6D5
+ call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D6D5
msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DD3F, MSGBOX_DEFAULT
closemessage
releaseall
@@ -338,13 +338,13 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D643:: @ 825D643
setvar VAR_0x8004, 11
special CallBattlePikeFunction
compare VAR_RESULT, 2
- call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D751
+ call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D751
compare VAR_RESULT, 1
- call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D758
+ call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D758
compare VAR_RESULT, 3
- call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D75F
+ call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D75F
compare VAR_RESULT, 4
- call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D766
+ call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D766
setvar VAR_0x8004, 15
special CallBattlePikeFunction
waitstate
@@ -375,9 +375,9 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D6D5:: @ 825D6D5
setvar VAR_0x8004, 11
special CallBattlePikeFunction
compare VAR_RESULT, 0
- call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D76D
+ call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D76D
compare VAR_RESULT, 1
- call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D774
+ call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D774
setvar VAR_0x8004, 15
special CallBattlePikeFunction
waitstate
@@ -431,7 +431,7 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D774:: @ 825D774
BattleFrontier_BattlePikeRandomRoom1_EventScript_25D77B:: @ 825D77B
closemessage
- applymovement 255, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DC
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRandomRoom1_Movement_25D7DC
waitmovement 0
setvar VAR_0x8004, SPECIAL_BATTLE_PIKE_SINGLE
setvar VAR_0x8005, 0
@@ -608,9 +608,9 @@ BattleFrontier_BattlePikeRandomRoom1_EventScript_25D83E:: @ 825D83E
setvar VAR_0x8004, 13
special CallBattlePikeFunction
compare VAR_RESULT, 2
- call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D881
+ call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D881
compare VAR_RESULT, 1
- call_if 1, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D875
+ call_if_eq BattleFrontier_BattlePikeRandomRoom1_EventScript_25D875
playfanfare MUS_ME_ASA
waitfanfare
msgbox BattleFrontier_BattlePikeRandomRoom1_Text_25DABE, MSGBOX_DEFAULT
diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom2/scripts.inc b/data/maps/BattleFrontier_BattlePikeRandomRoom2/scripts.inc
index 83031af95..f46760e17 100644
--- a/data/maps/BattleFrontier_BattlePikeRandomRoom2/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePikeRandomRoom2/scripts.inc
@@ -34,7 +34,7 @@ BattleFrontier_BattlePikeRandomRoom2_MapScript2_25E3DE: @ 825E3DE
BattleFrontier_BattlePikeRandomRoom2_EventScript_25E3E8:: @ 825E3E8
setvar VAR_TEMP_4, 1
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
end
BattleFrontier_BattlePikeRandomRoom2_Text_25E3F2: @ 825E3F2
diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom3/scripts.inc b/data/maps/BattleFrontier_BattlePikeRandomRoom3/scripts.inc
index b00b41fd7..4beb26724 100644
--- a/data/maps/BattleFrontier_BattlePikeRandomRoom3/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePikeRandomRoom3/scripts.inc
@@ -30,7 +30,7 @@ BattleFrontier_BattlePikeRandomRoom3_MapScript2_25E466: @ 825E466
BattleFrontier_BattlePikeRandomRoom3_EventScript_25E470:: @ 825E470
setvar VAR_TEMP_4, 1
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
end
BattleFrontier_BattlePikeRandomRoom3_MapScript1_25E47A: @ 825E47A
@@ -39,9 +39,9 @@ BattleFrontier_BattlePikeRandomRoom3_MapScript1_25E47A: @ 825E47A
setvar VAR_0x8005, 5
special CallFrontierUtilFunc
compare VAR_RESULT, 2
- goto_eq BattleFrontier_BattlePikeRandomRoom3_EventScript_25E4A3
+ goto_if_eq BattleFrontier_BattlePikeRandomRoom3_EventScript_25E4A3
compare VAR_RESULT, 3
- goto_eq BattleFrontier_BattlePikeRandomRoom3_EventScript_25E4A3
+ goto_if_eq BattleFrontier_BattlePikeRandomRoom3_EventScript_25E4A3
end
BattleFrontier_BattlePikeRandomRoom3_EventScript_25E4A3:: @ 825E4A3
diff --git a/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc b/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc
index ab40b6ff0..cac594516 100644
--- a/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc
@@ -18,7 +18,7 @@ BattleFrontier_BattlePikeThreePathRoom_MapScript2_25C87D: @ 825C87D
BattleFrontier_BattlePikeThreePathRoom_EventScript_25C887:: @ 825C887
setvar VAR_TEMP_4, 1
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
end
BattleFrontier_BattlePikeThreePathRoom_EventScript_25C891:: @ 825C891
@@ -169,7 +169,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA78:: @ 825CA78
setvar VAR_0x8004, 17
special CallBattlePikeFunction
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA91
+ goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA91
setvar VAR_TEMP_5, 255
end
@@ -192,7 +192,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25CABB:: @ 825CABB
setvar VAR_0x8004, 19
special CallBattlePikeFunction
compare VAR_RESULT, 4
- goto_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBC2
+ goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_25CBC2
lock
faceplayer
msgbox BattleFrontier_BattlePikeThreePathRoom_Text_25CE69, MSGBOX_YESNO
diff --git a/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/scripts.inc b/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/scripts.inc
index 91a42ebde..4fa8d142a 100644
--- a/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/scripts.inc
@@ -15,29 +15,29 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F07D:: @ 825F07D
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A:: @ 825F08A
specialvar VAR_TEMP_1, sub_813AA04
compare VAR_TEMP_1, VAR_0x8008
- goto_if 4, BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0C9
+ goto_if_ge BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0C9
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE86, MSGBOX_DEFAULT
compare VAR_TEMP_2, 0
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
compare VAR_TEMP_2, 1
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E
compare VAR_TEMP_2, 2
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1
goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
end
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0C9:: @ 825F0C9
compare VAR_TEMP_2, 0
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0E5
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0E5
compare VAR_TEMP_2, 1
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0E5
+ 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_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F11D
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F11D
copyvar VAR_0x8004, VAR_0x8008
special sub_813A9A4
givedecoration VAR_0x8009
@@ -45,7 +45,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F0E5:: @ 825F0E5
playse SE_REGI
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE45, MSGBOX_DEFAULT
compare VAR_TEMP_2, 0
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E
end
@@ -58,7 +58,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F11D:: @ 825F11D
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F12A:: @ 825F12A
checkitemspace VAR_0x8009, 1
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F166
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F166
copyvar VAR_0x8004, VAR_0x8008
special sub_813A9A4
giveitem VAR_0x8009, 1
@@ -66,7 +66,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F12A:: @ 825F12A
playse SE_REGI
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE72, MSGBOX_DEFAULT
compare VAR_TEMP_2, 2
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1
goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
end
@@ -108,7 +108,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185:: @ 825F185
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F21E:: @ 825F21E
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F8B6, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
setvar VAR_0x8008, 16
setvar VAR_0x8009, 75
goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
@@ -117,7 +117,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F21E:: @ 825F21E
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F241:: @ 825F241
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F8E6, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
setvar VAR_0x8008, 32
setvar VAR_0x8009, 103
goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
@@ -126,7 +126,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F241:: @ 825F241
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F264:: @ 825F264
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F917, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
setvar VAR_0x8008, 32
setvar VAR_0x8009, 87
goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
@@ -135,7 +135,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F264:: @ 825F264
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F287:: @ 825F287
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F949, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
setvar VAR_0x8008, 48
setvar VAR_0x8009, 79
goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
@@ -144,7 +144,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F287:: @ 825F287
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2AA:: @ 825F2AA
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F979, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
setvar VAR_0x8008, 48
setvar VAR_0x8009, 84
goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
@@ -153,7 +153,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2AA:: @ 825F2AA
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2CD:: @ 825F2CD
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F9A9, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
setvar VAR_0x8008, 48
setvar VAR_0x8009, 85
goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
@@ -162,7 +162,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2CD:: @ 825F2CD
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2F0:: @ 825F2F0
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25F9DB, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
setvar VAR_0x8008, 48
setvar VAR_0x8009, 86
goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
@@ -171,7 +171,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F2F0:: @ 825F2F0
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F313:: @ 825F313
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FA0A, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
setvar VAR_0x8008, 80
setvar VAR_0x8009, 80
goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
@@ -180,7 +180,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F313:: @ 825F313
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F336:: @ 825F336
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FA3D, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
setvar VAR_0x8008, 80
setvar VAR_0x8009, 81
goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
@@ -189,7 +189,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F336:: @ 825F336
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F359:: @ 825F359
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FA70, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F185
setvar VAR_0x8008, 80
setvar VAR_0x8009, 82
goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
@@ -222,7 +222,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E:: @ 825F38E
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F3F0:: @ 825F3F0
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FAA2, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E
setvar VAR_0x8008, 128
setvar VAR_0x8009, 113
goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
@@ -231,7 +231,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F3F0:: @ 825F3F0
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F413:: @ 825F413
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FAD2, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E
setvar VAR_0x8008, 128
setvar VAR_0x8009, 111
goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
@@ -240,7 +240,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F413:: @ 825F413
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F436:: @ 825F436
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB03, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E
setvar VAR_0x8008, 256
setvar VAR_0x8009, 114
goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
@@ -249,7 +249,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F436:: @ 825F436
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F459:: @ 825F459
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB35, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E
setvar VAR_0x8008, 256
setvar VAR_0x8009, 115
goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
@@ -258,7 +258,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F459:: @ 825F459
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F47C:: @ 825F47C
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB68, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F38E
setvar VAR_0x8008, 256
setvar VAR_0x8009, 116
goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
@@ -292,7 +292,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1:: @ 825F4B1
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F51E:: @ 825F51E
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FB9B, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1
setvar VAR_0x8008, 1
setvar VAR_0x8009, 64
goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
@@ -301,7 +301,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F51E:: @ 825F51E
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F541:: @ 825F541
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FBC7, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1
setvar VAR_0x8008, 1
setvar VAR_0x8009, 67
goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
@@ -310,7 +310,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F541:: @ 825F541
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F564:: @ 825F564
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FBF3, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1
setvar VAR_0x8008, 1
setvar VAR_0x8009, 65
goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
@@ -319,7 +319,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F564:: @ 825F564
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F587:: @ 825F587
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC1C, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1
setvar VAR_0x8008, 1
setvar VAR_0x8009, 70
goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
@@ -328,7 +328,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F587:: @ 825F587
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F5AA:: @ 825F5AA
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC45, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1
setvar VAR_0x8008, 1
setvar VAR_0x8009, 66
goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
@@ -337,7 +337,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F5AA:: @ 825F5AA
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F5CD:: @ 825F5CD
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC70, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F4B1
setvar VAR_0x8008, 1
setvar VAR_0x8009, 63
goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
@@ -374,7 +374,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602:: @ 825F602
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F690:: @ 825F690
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FE17, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
setvar VAR_0x8008, 48
setvar VAR_0x8009, 200
goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
@@ -383,7 +383,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F690:: @ 825F690
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6B3:: @ 825F6B3
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FCCB, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
setvar VAR_0x8008, 48
setvar VAR_0x8009, 180
goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
@@ -392,7 +392,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6B3:: @ 825F6B3
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6D6:: @ 825F6D6
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FCFA, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
setvar VAR_0x8008, 48
setvar VAR_0x8009, 183
goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
@@ -401,7 +401,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6D6:: @ 825F6D6
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6F9:: @ 825F6F9
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FD29, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
setvar VAR_0x8008, 48
setvar VAR_0x8009, 185
goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
@@ -410,7 +410,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F6F9:: @ 825F6F9
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F71C:: @ 825F71C
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FC9A, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
setvar VAR_0x8008, 64
setvar VAR_0x8009, 179
goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
@@ -419,7 +419,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F71C:: @ 825F71C
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F73F:: @ 825F73F
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FD59, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
setvar VAR_0x8008, 64
setvar VAR_0x8009, 186
goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
@@ -428,7 +428,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F73F:: @ 825F73F
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F762:: @ 825F762
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FD89, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
setvar VAR_0x8008, 64
setvar VAR_0x8009, 187
goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
@@ -437,7 +437,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F762:: @ 825F762
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F785:: @ 825F785
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FDB9, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
setvar VAR_0x8008, 64
setvar VAR_0x8009, 196
goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
@@ -446,7 +446,7 @@ BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F785:: @ 825F785
BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F7A8:: @ 825F7A8
msgbox BattleFrontier_BattlePointExchangeServiceCorner_Text_25FDE8, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
+ goto_if_eq BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F602
setvar VAR_0x8008, 64
setvar VAR_0x8009, 198
goto BattleFrontier_BattlePointExchangeServiceCorner_EventScript_25F08A
diff --git a/data/maps/BattleFrontier_BattlePyramidEmptySquare/scripts.inc b/data/maps/BattleFrontier_BattlePyramidEmptySquare/scripts.inc
index d6d53bc2f..558f6e416 100644
--- a/data/maps/BattleFrontier_BattlePyramidEmptySquare/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePyramidEmptySquare/scripts.inc
@@ -22,7 +22,7 @@ BattleFrontier_BattlePyramidEmptySquare_EventScript_252A77:: @ 8252A77
special CallBattlePyramidFunction
delay 2
compare VAR_RESULT, 2
- goto_if 5, BattleFrontier_BattlePyramidEmptySquare_EventScript_252A77
+ goto_if_ne BattleFrontier_BattlePyramidEmptySquare_EventScript_252A77
setvar VAR_TEMP_D, 0
releaseall
end
@@ -50,17 +50,17 @@ BattleFrontier_BattlePyramidEmptySquare_MapScript1_252AA2: @ 8252AA2
setvar VAR_0x8005, 5
special CallFrontierUtilFunc
compare VAR_RESULT, 4
- goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39
+ goto_if_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39
compare VAR_RESULT, 5
- goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39
+ goto_if_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39
+ goto_if_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B39
compare VAR_RESULT, 2
- goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B42
+ goto_if_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B42
compare VAR_RESULT, 3
- goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B42
+ goto_if_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B42
compare VAR_RESULT, 9
- goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B42
+ goto_if_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252B42
setvar VAR_0x8004, 14
setvar VAR_0x8005, 8
special CallFrontierUtilFunc
@@ -135,7 +135,7 @@ BattleFrontier_BattlePyramidEmptySquare_EventScript_252BE8:: @ 8252BE8
copyvar VAR_0x8006, VAR_RESULT
special CallFrontierUtilFunc
compare VAR_RESULT, 7
- goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252C45
+ goto_if_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252C45
setvar VAR_0x8004, 6
special CallBattlePyramidFunction
setvar VAR_0x8004, 2
@@ -167,7 +167,7 @@ BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A:: @ 8252C6A
special CallBattlePyramidFunction
callstd STD_FIND_ITEM
compare VAR_0x8007, 0
- goto_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252C87
+ goto_if_eq BattleFrontier_BattlePyramidEmptySquare_EventScript_252C87
setvar VAR_0x8004, 8
special CallBattlePyramidFunction
diff --git a/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc b/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc
index d890b2d06..686a1bfb2 100644
--- a/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc
@@ -9,7 +9,7 @@ BattleFrontier_BattlePyramidLobby_MapScript2_250721: @ 8250721
BattleFrontier_BattlePyramidLobby_EventScript_25072B: @ 825072B
setvar VAR_TEMP_1, 1
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
end
BattleFrontier_BattlePyramidLobby_MapScript2_250735: @ 8250735
@@ -53,7 +53,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_2507B1:: @ 82507B1
setvar VAR_0x8004, 10
special CallFrontierUtilFunc
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattlePyramidLobby_EventScript_2507D2
+ goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_2507D2
msgbox BattleFrontier_BattlePyramidLobby_Text_2517B5, MSGBOX_DEFAULT
goto BattleFrontier_BattlePyramidLobby_EventScript_2507DA
@@ -63,7 +63,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_2507D2:: @ 82507D2
BattleFrontier_BattlePyramidLobby_EventScript_2507DA:: @ 82507DA
special sub_81B95E0
compare VAR_RESULT, 1
- call_if 1, BattleFrontier_BattlePyramidLobby_EventScript_250DDB
+ call_if_eq BattleFrontier_BattlePyramidLobby_EventScript_250DDB
clearflag FLAG_SPECIAL_FLAG_0x4004
setvar VAR_0x8004, 8
special CallFrontierUtilFunc
@@ -154,7 +154,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250904:: @ 8250904
setvar VAR_0x8004, 15
special CallFrontierUtilFunc
compare VAR_0x8004, 1
- goto_eq BattleFrontier_BattlePyramidLobby_EventScript_250A75
+ goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_250A75
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
@@ -167,7 +167,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250904:: @ 8250904
special sub_80F9490
waitstate
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePyramidLobby_EventScript_250AC1
+ goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_250AC1
msgbox BattleFrontier_BattlePyramidLobby_Text_2514E6, MSGBOX_YESNO
switch VAR_RESULT
case 0, BattleFrontier_BattlePyramidLobby_EventScript_250AC1
@@ -203,7 +203,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_2509A5:: @ 82509A5
call BattleFrontier_BattlePyramidLobby_EventScript_27134F
setvar VAR_TEMP_0, 255
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePyramidLobby_EventScript_250AAA
+ goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_250AAA
BattleFrontier_BattlePyramidLobby_EventScript_250A21:: @ 8250A21
special SavePlayerParty
@@ -286,7 +286,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250B28:: @ 8250B28
setvar VAR_0x8005, 5
special CallBattlePyramidFunction
compare VAR_RESULT, 0
- goto_if 5, BattleFrontier_BattlePyramidLobby_EventScript_250B53
+ goto_if_ne BattleFrontier_BattlePyramidLobby_EventScript_250B53
setvar VAR_RESULT, 0
goto BattleFrontier_BattlePyramidLobby_EventScript_250BA4
return
@@ -304,7 +304,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250B66:: @ 8250B66
setvar VAR_0x8005, 6
special CallBattlePyramidFunction
compare VAR_RESULT, 0
- goto_if 5, BattleFrontier_BattlePyramidLobby_EventScript_250B91
+ goto_if_ne BattleFrontier_BattlePyramidLobby_EventScript_250B91
setvar VAR_RESULT, 0
goto BattleFrontier_BattlePyramidLobby_EventScript_250BA4
return
@@ -434,14 +434,14 @@ BattleFrontier_BattlePyramidLobby_EventScript_250D42:: @ 8250D42
BattleFrontier_BattlePyramidLobby_EventScript_250D56:: @ 8250D56
applymovement 1, BattleFrontier_BattlePyramidLobby_Movement_250DC4
- applymovement 255, BattleFrontier_BattlePyramidLobby_Movement_250DCD
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePyramidLobby_Movement_250DCD
waitmovement 0
msgbox BattleFrontier_BattlePyramidLobby_Text_251569, MSGBOX_DEFAULT
setvar VAR_0x8004, 1
setvar VAR_0x8005, 1
special CallBattlePyramidFunction
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePyramidLobby_EventScript_250D94
+ goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_250D94
msgbox BattleFrontier_BattlePyramidLobby_Text_2515AD, MSGBOX_DEFAULT
goto BattleFrontier_BattlePyramidLobby_EventScript_250D9C
@@ -457,7 +457,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250D9C:: @ 8250D9C
closemessage
applymovement 1, BattleFrontier_BattlePyramidLobby_Movement_250DD5
waitmovement 0
- applymovement 255, BattleFrontier_BattlePyramidLobby_Movement_250DD8
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePyramidLobby_Movement_250DD8
waitmovement 0
return
@@ -497,7 +497,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250DDB:: @ 8250DDB
setflag FLAG_SPECIAL_FLAG_0x4004
special sub_81C6A94
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePyramidLobby_EventScript_250E00
+ goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_250E00
message BattleFrontier_BattlePyramidLobby_Text_2518C6
waitmessage
goto BattleFrontier_BattlePyramidLobby_EventScript_250E09
@@ -535,7 +535,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_250E50:: @ 8250E50
BattleFrontier_BattlePyramidLobby_EventScript_250E60:: @ 8250E60
special sub_81B95E0
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattlePyramidLobby_EventScript_250E6F
+ goto_if_eq BattleFrontier_BattlePyramidLobby_EventScript_250E6F
return
BattleFrontier_BattlePyramidLobby_EventScript_250E6F:: @ 8250E6F
diff --git a/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc b/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc
index d7a1a3c3b..d04fe23f2 100644
--- a/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc
@@ -19,9 +19,9 @@ BattleFrontier_BattlePyramidTop_MapScript2_2550CE: @ 82550CE
BattleFrontier_BattlePyramidTop_EventScript_2550D8:: @ 82550D8
setvar VAR_TEMP_1, 1
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
compare VAR_TEMP_C, 0
- goto_if 5, BattleFrontier_BattlePyramidTop_EventScript_2550F3
+ goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_2550F3
setobjectxyperm 2, 0, 0
BattleFrontier_BattlePyramidTop_EventScript_2550F3:: @ 82550F3
@@ -31,7 +31,7 @@ BattleFrontier_BattlePyramidTop_MapScript1_2550F4: @ 82550F4
setvar VAR_0x8004, 9
special CallFrontierUtilFunc
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattlePyramidTop_EventScript_25510C
+ goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_25510C
call BattleFrontier_BattlePyramidTop_EventScript_242170
BattleFrontier_BattlePyramidTop_EventScript_25510C:: @ 825510C
@@ -46,11 +46,11 @@ BattleFrontier_BattlePyramidTop_EventScript_25510C:: @ 825510C
setvar VAR_0x8005, 5
special CallFrontierUtilFunc
compare VAR_RESULT, 2
- goto_eq BattleFrontier_BattlePyramidTop_EventScript_252B42
+ goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_252B42
compare VAR_RESULT, 3
- goto_eq BattleFrontier_BattlePyramidTop_EventScript_252B42
+ goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_252B42
compare VAR_RESULT, 9
- goto_eq BattleFrontier_BattlePyramidTop_EventScript_252B42
+ goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_252B42
end
BattleFrontier_BattlePyramidTop_MapScript2_25516E: @ 825516E
@@ -89,14 +89,14 @@ BattleFrontier_BattlePyramidTop_EventScript_2551D0:: @ 82551D0
lock
faceplayer
compare VAR_TEMP_D, 0
- goto_if 5, BattleFrontier_BattlePyramidTop_EventScript_255236
+ goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_255236
compare VAR_TEMP_C, 0
- goto_if 5, BattleFrontier_BattlePyramidTop_EventScript_255240
+ goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_255240
msgbox BattleFrontier_BattlePyramidTop_Text_255410, MSGBOX_DEFAULT
closemessage
applymovement 1, BattleFrontier_BattlePyramidTop_Movement_2553FD
waitmovement 0
- applymovement 255, BattleFrontier_BattlePyramidTop_Movement_255403
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePyramidTop_Movement_255403
waitmovement 0
applymovement 1, BattleFrontier_BattlePyramidTop_Movement_255400
waitmovement 0
@@ -137,9 +137,9 @@ BattleFrontier_BattlePyramidTop_EventScript_255256:: @ 8255256
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
compare VAR_RESULT, 0
- goto_if 5, BattleFrontier_BattlePyramidTop_EventScript_2552D0
- special SpawnScriptEventObject
- applymovement 127, BattleFrontier_BattlePyramidTop_Movement_25540C
+ goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_2552D0
+ special SpawnCameraObject
+ applymovement EVENT_OBJ_ID_CAMERA, BattleFrontier_BattlePyramidTop_Movement_25540C
waitmovement 0
msgbox BattleFrontier_BattlePyramidTop_Text_255669, MSGBOX_DEFAULT
closemessage
@@ -161,14 +161,14 @@ BattleFrontier_BattlePyramidTop_EventScript_2552DA:: @ 82552DA
call BattleFrontier_BattlePyramidTop_EventScript_2553ED
playbgm MUS_PYRAMID_TOP, 0
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattlePyramidTop_EventScript_2552FB
+ goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_2552FB
goto BattleFrontier_BattlePyramidTop_EventScript_252B42
BattleFrontier_BattlePyramidTop_EventScript_2552FB:: @ 82552FB
setvar VAR_0x8004, 12
special CallFrontierUtilFunc
compare VAR_RESULT, 0
- goto_if 5, BattleFrontier_BattlePyramidTop_EventScript_25521A
+ goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_25521A
msgbox BattleFrontier_BattlePyramidTop_Text_255873, MSGBOX_DEFAULT
playfanfare MUS_ME_SYMBOLGET
message BattleFrontier_BattlePyramidTop_Text_2558E9
@@ -184,9 +184,9 @@ BattleFrontier_BattlePyramidTop_EventScript_255335:: @ 8255335
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
compare VAR_RESULT, 0
- goto_if 5, BattleFrontier_BattlePyramidTop_EventScript_255388
- special SpawnScriptEventObject
- applymovement 127, BattleFrontier_BattlePyramidTop_Movement_25540C
+ goto_if_ne BattleFrontier_BattlePyramidTop_EventScript_255388
+ special SpawnCameraObject
+ applymovement EVENT_OBJ_ID_CAMERA, BattleFrontier_BattlePyramidTop_Movement_25540C
waitmovement 0
msgbox BattleFrontier_BattlePyramidTop_Text_255951, MSGBOX_DEFAULT
closemessage
@@ -208,14 +208,14 @@ BattleFrontier_BattlePyramidTop_EventScript_255392:: @ 8255392
call BattleFrontier_BattlePyramidTop_EventScript_2553ED
playbgm MUS_PYRAMID_TOP, 0
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattlePyramidTop_EventScript_2553B3
+ goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_2553B3
goto BattleFrontier_BattlePyramidTop_EventScript_252B42
BattleFrontier_BattlePyramidTop_EventScript_2553B3:: @ 82553B3
setvar VAR_0x8004, 12
special CallFrontierUtilFunc
compare VAR_RESULT, 2
- goto_eq BattleFrontier_BattlePyramidTop_EventScript_25521A
+ goto_if_eq BattleFrontier_BattlePyramidTop_EventScript_25521A
msgbox BattleFrontier_BattlePyramidTop_Text_255ACD, MSGBOX_DEFAULT
playfanfare MUS_ME_SYMBOLGET
message BattleFrontier_BattlePyramidTop_Text_255B59
diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc
index 83b78d40e..1e953db23 100644
--- a/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattleTowerBattleRoom/scripts.inc
@@ -18,16 +18,16 @@ BattleFrontier_BattleTowerBattleRoom_MapScript2_241B62: @ 8241B62
BattleFrontier_BattleTowerBattleRoom_EventScript_241B6C:: @ 8241B6C
setvar VAR_TEMP_0, 1
- applymovement 255, BattleFrontier_BattleTowerBattleRoom_Movement_242179
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_242179
waitmovement 0
setvar VAR_0x8004, 1
setvar VAR_0x8005, 2
special CallFrontierUtilFunc
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241BC3
+ goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241BC3
applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_24218D
waitmovement 0
- applymovement 255, BattleFrontier_BattleTowerBattleRoom_Movement_24217E
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_24217E
waitmovement 0
setvar VAR_TEMP_2, 1
setvar VAR_0x8004, 2
@@ -76,10 +76,10 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241C2F:: @ 8241C2F
setvar VAR_0x8004, 9
special CallFrontierUtilFunc
compare VAR_RESULT, 0
- call_if 5, BattleFrontier_BattleTowerBattleRoom_EventScript_241EC3
+ call_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_241EC3
applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_24218D
waitmovement 0
- applymovement 255, BattleFrontier_BattleTowerBattleRoom_Movement_24217E
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_24217E
waitmovement 0
msgbox BattleFrontier_BattleTowerBattleRoom_Text_242217, MSGBOX_DEFAULT
playfanfare MUS_ME_ASA
@@ -91,14 +91,14 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241C8F:: @ 8241C8F
special CallFrontierUtilFunc
copyvar VAR_TEMP_F, VAR_RESULT
compare VAR_RESULT, 0
- goto_if 5, BattleFrontier_BattleTowerBattleRoom_EventScript_241F0A
+ 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_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241D0A
+ goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241D0A
multichoice 19, 4, 103, 1
switch VAR_RESULT
case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241DDC
@@ -146,7 +146,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241DAA:: @ 8241DAA
BattleFrontier_BattleTowerBattleRoom_EventScript_241DDC:: @ 8241DDC
closemessage
- applymovement 255, BattleFrontier_BattleTowerBattleRoom_Movement_242180
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_242180
waitmovement 0
applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_242192
waitmovement 0
@@ -246,7 +246,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241EC3:: @ 8241EC3
BattleFrontier_BattleTowerBattleRoom_EventScript_241F0A:: @ 8241F0A
compare VAR_TEMP_2, 1
- goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241F22
+ goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241F22
msgbox BattleFrontier_BattleTowerBattleRoom_Text_2424C2, MSGBOX_DEFAULT
setvar VAR_TEMP_2, 1
@@ -255,7 +255,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241F22:: @ 8241F22
waitmessage
call BattleFrontier_BattleTowerBattleRoom_EventScript_23E8E0
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241F79
+ goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241F79
multichoice 19, 4, 103, 1
switch VAR_RESULT
case 0, BattleFrontier_BattleTowerBattleRoom_EventScript_241FAF
@@ -275,7 +275,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241F79:: @ 8241F79
BattleFrontier_BattleTowerBattleRoom_EventScript_241FAF:: @ 8241FAF
call BattleFrontier_BattleTowerBattleRoom_EventScript_242170
closemessage
- applymovement 255, BattleFrontier_BattleTowerBattleRoom_Movement_242180
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerBattleRoom_Movement_242180
waitmovement 0
applymovement 2, BattleFrontier_BattleTowerBattleRoom_Movement_242192
waitmovement 0
@@ -290,7 +290,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_241FAF:: @ 8241FAF
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
compare VAR_RESULT, 0
- goto_if 5, BattleFrontier_BattleTowerBattleRoom_EventScript_242029
+ goto_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_242029
msgbox BattleFrontier_BattleTowerBattleRoom_Text_242579, MSGBOX_DEFAULT
setvar VAR_0x8004, 2
setvar VAR_0x8005, 7
@@ -300,7 +300,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_242029:: @ 8242029
msgbox BattleFrontier_BattleTowerBattleRoom_Text_24268C, MSGBOX_DEFAULT
call BattleFrontier_BattleTowerBattleRoom_EventScript_24210E
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_242046
+ goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_242046
goto BattleFrontier_BattleTowerBattleRoom_EventScript_241C03
BattleFrontier_BattleTowerBattleRoom_EventScript_242046:: @ 8242046
@@ -308,7 +308,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_242046:: @ 8242046
setvar VAR_0x8004, 12
special CallFrontierUtilFunc
compare VAR_RESULT, 0
- goto_if 5, BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6
+ goto_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6
msgbox BattleFrontier_BattleTowerBattleRoom_Text_2426B4, MSGBOX_DEFAULT
playfanfare MUS_ME_SYMBOLGET
message BattleFrontier_BattleTowerBattleRoom_Text_24270E
@@ -324,7 +324,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_242085:: @ 8242085
setvar VAR_0x8005, 7
special CallFrontierUtilFunc
compare VAR_RESULT, 0
- goto_if 5, BattleFrontier_BattleTowerBattleRoom_EventScript_2420B2
+ goto_if_ne BattleFrontier_BattleTowerBattleRoom_EventScript_2420B2
msgbox BattleFrontier_BattleTowerBattleRoom_Text_2427F9, MSGBOX_DEFAULT
setvar VAR_0x8004, 2
setvar VAR_0x8005, 7
@@ -334,7 +334,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_2420B2:: @ 82420B2
msgbox BattleFrontier_BattleTowerBattleRoom_Text_2428E0, MSGBOX_DEFAULT
call BattleFrontier_BattleTowerBattleRoom_EventScript_24210E
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2420CF
+ goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2420CF
goto BattleFrontier_BattleTowerBattleRoom_EventScript_241C03
BattleFrontier_BattleTowerBattleRoom_EventScript_2420CF:: @ 82420CF
@@ -342,7 +342,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_2420CF:: @ 82420CF
setvar VAR_0x8004, 12
special CallFrontierUtilFunc
compare VAR_RESULT, 2
- goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6
+ goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_241DF6
msgbox BattleFrontier_BattleTowerBattleRoom_Text_2428F7, MSGBOX_DEFAULT
playfanfare MUS_ME_SYMBOLGET
message BattleFrontier_BattleTowerBattleRoom_Text_242932
@@ -368,7 +368,7 @@ BattleFrontier_BattleTowerBattleRoom_EventScript_24210E:: @ 824210E
waitstate
copyvar VAR_0x8004, VAR_FRONTIER_BATTLE_MODE
compare VAR_0x8004, 3
- goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_24215A
+ goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_24215A
setvar VAR_0x8004, 18
special CallFrontierUtilFunc
special HealPlayerParty
@@ -486,11 +486,11 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_2421B8:: @ 82421B8
BattleFrontier_BattleTowerBattleRoom_EventScript_2421B8:: @ 82421B8
copyvar VAR_RESULT, VAR_FRONTIER_BATTLE_MODE
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2421E8
+ goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2421E8
compare VAR_RESULT, 2
- goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2421F2
+ goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2421F2
compare VAR_RESULT, 3
- goto_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2421FC
+ goto_if_eq BattleFrontier_BattleTowerBattleRoom_EventScript_2421FC
warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY, 255, 6, 6
waitstate
end
diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom2/scripts.inc b/data/maps/BattleFrontier_BattleTowerBattleRoom2/scripts.inc
index fa17ef5af..ac3a81cec 100644
--- a/data/maps/BattleFrontier_BattleTowerBattleRoom2/scripts.inc
+++ b/data/maps/BattleFrontier_BattleTowerBattleRoom2/scripts.inc
@@ -6,9 +6,9 @@ BattleFrontier_BattleTowerBattleRoom2_MapScripts:: @ 8248EE8
BattleFrontier_BattleTowerBattleRoom2_MapScript1_248EF8: @ 8248EF8
compare VAR_FRONTIER_BATTLE_MODE, 2
- call_if 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_248F0F
+ call_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_248F0F
compare VAR_FRONTIER_BATTLE_MODE, 3
- call_if 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_248F2F
+ call_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_248F2F
end
BattleFrontier_BattleTowerBattleRoom2_EventScript_248F0F:: @ 8248F0F
@@ -16,7 +16,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_248F0F:: @ 8248F0F
special sub_8161F74
checkplayergender
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_248F29
+ goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_248F29
setvar VAR_OBJ_GFX_ID_F, 0
return
@@ -33,7 +33,7 @@ BattleFrontier_BattleTowerBattleRoom2_MapScript2_248F33: @ 8248F33
.2byte 0
BattleFrontier_BattleTowerBattleRoom2_EventScript_248F3D:: @ 8248F3D
- hideobjectat 255, MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM2
+ hideobjectat EVENT_OBJ_ID_PLAYER, MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM2
end
BattleFrontier_BattleTowerBattleRoom2_MapScript2_248F43: @ 8248F43
@@ -49,7 +49,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_248F4D:: @ 8248F4D
setvar VAR_0x8005, 2
special CallFrontierUtilFunc
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_248FB4
+ goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_248FB4
applymovement 2, BattleFrontier_BattleTowerBattleRoom2_Movement_24953E
applymovement 3, BattleFrontier_BattleTowerBattleRoom2_Movement_24953E
waitmovement 0
@@ -71,7 +71,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_248FB4:: @ 8248FB4
applymovement 4, BattleFrontier_BattleTowerBattleRoom2_Movement_24952E
waitmovement 0
compare VAR_FRONTIER_BATTLE_MODE, 3
- goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249026
+ goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249026
setvar VAR_0x8004, 7
setvar VAR_0x8005, 0
special sub_8161F74
@@ -143,7 +143,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_2490AA:: @ 82490AA
applymovement 6, BattleFrontier_BattleTowerBattleRoom2_Movement_249524
waitmovement 0
compare VAR_FRONTIER_BATTLE_MODE, 3
- goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249118
+ goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249118
msgbox BattleFrontier_BattleTowerBattleRoom2_Text_242217, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249121
@@ -158,7 +158,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_249121:: @ 8249121
setvar VAR_0x8005, 2
special CallFrontierUtilFunc
compare VAR_FRONTIER_BATTLE_MODE, 3
- call_if 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_249514
+ call_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249514
playfanfare MUS_ME_ASA
waitfanfare
special HealPlayerParty
@@ -169,10 +169,10 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_249143:: @ 8249143
special CallFrontierUtilFunc
call BattleFrontier_BattleTowerBattleRoom2_EventScript_2492FD
compare VAR_FRONTIER_BATTLE_MODE, 3
- goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249283
+ goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249283
call BattleFrontier_BattleTowerBattleRoom2_EventScript_23E8E0
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_2491B1
+ goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_2491B1
multichoice 19, 4, 103, 1
switch VAR_RESULT
case 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_249283
@@ -257,7 +257,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_2492DB:: @ 82492DB
BattleFrontier_BattleTowerBattleRoom2_EventScript_2492FD:: @ 82492FD
compare VAR_FRONTIER_BATTLE_MODE, 3
- goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_24937E
+ goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_24937E
copyvar VAR_TEMP_F, VAR_RESULT
switch VAR_TEMP_F
case 1, BattleFrontier_BattleTowerBattleRoom2_EventScript_249354
@@ -349,8 +349,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_249412:: @ 8249412
return
BattleFrontier_BattleTowerBattleRoom2_EventScript_249417:: @ 8249417
- checkflag FLAG_TEMP_2
- goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_249457
+ goto_if_set FLAG_TEMP_2, BattleFrontier_BattleTowerBattleRoom2_EventScript_249457
multichoice 19, 6, 105, 1
switch VAR_RESULT
case 0, BattleFrontier_BattleTowerBattleRoom2_EventScript_249483
@@ -375,7 +374,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_249483:: @ 8249483
special sub_813B568
waitstate
compare VAR_RESULT, 0
- goto_if 5, BattleFrontier_BattleTowerBattleRoom2_EventScript_24907E
+ goto_if_ne BattleFrontier_BattleTowerBattleRoom2_EventScript_24907E
goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249412
end
@@ -396,7 +395,7 @@ BattleFrontier_BattleTowerBattleRoom2_EventScript_2494DD:: @ 82494DD
waitmessage
multichoicedefault 20, 8, 94, 1, 0
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_2494FA
+ goto_if_eq BattleFrontier_BattleTowerBattleRoom2_EventScript_2494FA
goto BattleFrontier_BattleTowerBattleRoom2_EventScript_249143
end
diff --git a/data/maps/BattleFrontier_BattleTowerCorridor/scripts.inc b/data/maps/BattleFrontier_BattleTowerCorridor/scripts.inc
index 9ff6bbc59..55e21dedb 100644
--- a/data/maps/BattleFrontier_BattleTowerCorridor/scripts.inc
+++ b/data/maps/BattleFrontier_BattleTowerCorridor/scripts.inc
@@ -5,7 +5,7 @@ BattleFrontier_BattleTowerCorridor_MapScripts:: @ 8241AAA
BattleFrontier_BattleTowerCorridor_MapScript1_241AB5: @ 8241AB5
compare VAR_0x8006, 1
- goto_eq BattleFrontier_BattleTowerCorridor_EventScript_241AD3
+ goto_if_eq BattleFrontier_BattleTowerCorridor_EventScript_241AD3
setmetatile 12, 0, 519, 0
setmetatile 12, 1, 527, 0
end
@@ -22,15 +22,15 @@ BattleFrontier_BattleTowerCorridor_MapScript2_241AE6: @ 8241AE6
BattleFrontier_BattleTowerCorridor_EventScript_241AF0:: @ 8241AF0
setvar VAR_TEMP_0, 1
compare VAR_0x8006, 1
- goto_eq BattleFrontier_BattleTowerCorridor_EventScript_241B16
+ goto_if_eq BattleFrontier_BattleTowerCorridor_EventScript_241B16
applymovement 1, BattleFrontier_BattleTowerCorridor_Movement_241B3A
- applymovement 255, BattleFrontier_BattleTowerCorridor_Movement_241B39
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerCorridor_Movement_241B39
waitmovement 0
goto BattleFrontier_BattleTowerCorridor_EventScript_241B27
BattleFrontier_BattleTowerCorridor_EventScript_241B16:: @ 8241B16
applymovement 1, BattleFrontier_BattleTowerCorridor_Movement_241B37
- applymovement 255, BattleFrontier_BattleTowerCorridor_Movement_241B36
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerCorridor_Movement_241B36
waitmovement 0
BattleFrontier_BattleTowerCorridor_EventScript_241B27:: @ 8241B27
diff --git a/data/maps/BattleFrontier_BattleTowerCorridor2/scripts.inc b/data/maps/BattleFrontier_BattleTowerCorridor2/scripts.inc
index d28fa105d..75282775f 100644
--- a/data/maps/BattleFrontier_BattleTowerCorridor2/scripts.inc
+++ b/data/maps/BattleFrontier_BattleTowerCorridor2/scripts.inc
@@ -6,9 +6,9 @@ BattleFrontier_BattleTowerCorridor2_MapScripts:: @ 8248D4A
BattleFrontier_BattleTowerCorridor2_MapScript1_248D5A: @ 8248D5A
compare VAR_FRONTIER_BATTLE_MODE, 2
- call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248D71
+ call_if_eq BattleFrontier_BattleTowerCorridor2_EventScript_248D71
compare VAR_FRONTIER_BATTLE_MODE, 3
- call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248D91
+ call_if_eq BattleFrontier_BattleTowerCorridor2_EventScript_248D91
end
BattleFrontier_BattleTowerCorridor2_EventScript_248D71:: @ 8248D71
@@ -16,7 +16,7 @@ BattleFrontier_BattleTowerCorridor2_EventScript_248D71:: @ 8248D71
special sub_8161F74
checkplayergender
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleTowerCorridor2_EventScript_248D8B
+ goto_if_eq BattleFrontier_BattleTowerCorridor2_EventScript_248D8B
setvar VAR_OBJ_GFX_ID_F, 0
return
@@ -33,7 +33,7 @@ BattleFrontier_BattleTowerCorridor2_MapScript2_248D95: @ 8248D95
.2byte 0
BattleFrontier_BattleTowerCorridor2_EventScript_248D9F:: @ 8248D9F
- hideobjectat 255, MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2
+ 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
@@ -88,13 +88,13 @@ BattleFrontier_BattleTowerCorridor2_EventScript_248DBC:: @ 8248DBC
BattleFrontier_BattleTowerCorridor2_EventScript_248E71:: @ 8248E71
compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248E9E
+ call_if_eq BattleFrontier_BattleTowerCorridor2_EventScript_248E9E
compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248E9E
+ call_if_eq BattleFrontier_BattleTowerCorridor2_EventScript_248E9E
compare VAR_FRONTIER_BATTLE_MODE, 2
- call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248EA8
+ call_if_eq BattleFrontier_BattleTowerCorridor2_EventScript_248EA8
compare VAR_FRONTIER_BATTLE_MODE, 3
- call_if 1, BattleFrontier_BattleTowerCorridor2_EventScript_248EB2
+ call_if_eq BattleFrontier_BattleTowerCorridor2_EventScript_248EB2
return
BattleFrontier_BattleTowerCorridor2_EventScript_248E9E:: @ 8248E9E
diff --git a/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc b/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc
index 968d45772..0479641a7 100644
--- a/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc
+++ b/data/maps/BattleFrontier_BattleTowerElevator/scripts.inc
@@ -10,7 +10,7 @@ BattleFrontier_BattleTowerElevator_MapScript2_2419E6: @ 82419E6
BattleFrontier_BattleTowerElevator_EventScript_2419F0:: @ 82419F0
setvar VAR_TEMP_0, 1
applymovement 1, BattleFrontier_BattleTowerElevator_Movement_241A86
- applymovement 255, BattleFrontier_BattleTowerElevator_Movement_241A8A
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerElevator_Movement_241A8A
waitmovement 0
special sub_813A080
waitse
@@ -18,20 +18,20 @@ BattleFrontier_BattleTowerElevator_EventScript_2419F0:: @ 82419F0
waitstate
delay 48
applymovement 1, BattleFrontier_BattleTowerElevator_Movement_241A8E
- applymovement 255, BattleFrontier_BattleTowerElevator_Movement_241A92
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerElevator_Movement_241A92
waitmovement 0
call BattleFrontier_BattleTowerElevator_EventScript_241A28
end
BattleFrontier_BattleTowerElevator_EventScript_241A28:: @ 8241A28
compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if 1, BattleFrontier_BattleTowerElevator_EventScript_241A55
+ call_if_eq BattleFrontier_BattleTowerElevator_EventScript_241A55
compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if 1, BattleFrontier_BattleTowerElevator_EventScript_241A55
+ call_if_eq BattleFrontier_BattleTowerElevator_EventScript_241A55
compare VAR_FRONTIER_BATTLE_MODE, 2
- call_if 1, BattleFrontier_BattleTowerElevator_EventScript_241A5F
+ call_if_eq BattleFrontier_BattleTowerElevator_EventScript_241A5F
compare VAR_FRONTIER_BATTLE_MODE, 3
- call_if 1, BattleFrontier_BattleTowerElevator_EventScript_241A72
+ call_if_eq BattleFrontier_BattleTowerElevator_EventScript_241A72
return
BattleFrontier_BattleTowerElevator_EventScript_241A55:: @ 8241A55
@@ -40,8 +40,7 @@ BattleFrontier_BattleTowerElevator_EventScript_241A55:: @ 8241A55
return
BattleFrontier_BattleTowerElevator_EventScript_241A5F:: @ 8241A5F
- checkflag FLAG_0x152
- goto_if 0, BattleFrontier_BattleTowerElevator_EventScript_241A7C
+ goto_if_unset FLAG_0x152, BattleFrontier_BattleTowerElevator_EventScript_241A7C
warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2, 255, 7, 2
waitstate
return
@@ -86,6 +85,6 @@ BattleFrontier_BattleTowerElevator_MapScript2_241A96: @ 8241A96
BattleFrontier_BattleTowerElevator_EventScript_241AA0:: @ 8241AA0
setvar VAR_TEMP_1, 1
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
end
diff --git a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc
index 0911ea5f2..29315eff5 100644
--- a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc
+++ b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc
@@ -14,9 +14,8 @@ BattleFrontier_BattleTowerLobby_MapScript1_23E694: @ 823E694
setvar VAR_0x8004, 10
special CallApprenticeFunction
compare VAR_0x8004, 0
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23E6B5
- checkflag FLAG_0x934
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23E6C1
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23E6B5
+ goto_if_set FLAG_0x934, BattleFrontier_BattleTowerLobby_EventScript_23E6C1
BattleFrontier_BattleTowerLobby_EventScript_23E6B5:: @ 823E6B5
clearflag FLAG_HIDE_APPRENTICE
@@ -36,7 +35,7 @@ BattleFrontier_BattleTowerLobby_MapScript2_23E6C9: @ 823E6C9
BattleFrontier_BattleTowerLobby_EventScript_23E6D3:: @ 823E6D3
setvar VAR_TEMP_1, 1
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
end
BattleFrontier_BattleTowerLobby_MapScript2_23E6DD: @ 823E6DD
@@ -79,7 +78,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E758:: @ 823E758
setvar VAR_0x8004, 10
special CallFrontierUtilFunc
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23E778
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23E778
message BattleFrontier_BattleTowerLobby_Text_23F60D
waitmessage
goto BattleFrontier_BattleTowerLobby_EventScript_23E780
@@ -91,7 +90,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E780:: @ 823E780
setvar VAR_0x8004, 5
special sub_8161F74
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23E7A5
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23E7A5
message BattleFrontier_BattleTowerLobby_Text_23F844
waitmessage
playfanfare MUS_FANFA4
@@ -108,7 +107,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E7A5:: @ 823E7A5
setvar VAR_0x8005, 1
special sub_8161F74
compare VAR_RESULT, 49
- goto_if 5, BattleFrontier_BattleTowerLobby_EventScript_23E7E2
+ goto_if_ne BattleFrontier_BattleTowerLobby_EventScript_23E7E2
msgbox BattleFrontier_BattleTowerLobby_Text_23F79D, MSGBOX_DEFAULT
BattleFrontier_BattleTowerLobby_EventScript_23E7E2:: @ 823E7E2
@@ -120,14 +119,13 @@ BattleFrontier_BattleTowerLobby_EventScript_23E7E2:: @ 823E7E2
BattleFrontier_BattleTowerLobby_EventScript_23E7F2:: @ 823E7F2
compare VAR_FRONTIER_BATTLE_MODE, 2
- goto_if 5, BattleFrontier_BattleTowerLobby_EventScript_23E81E
- checkflag FLAG_0x152
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23E81E
+ goto_if_ne BattleFrontier_BattleTowerLobby_EventScript_23E81E
+ goto_if_set FLAG_0x152, BattleFrontier_BattleTowerLobby_EventScript_23E81E
setvar VAR_0x8004, 1
setvar VAR_0x8005, 1
special sub_8161F74
compare VAR_RESULT, 0
- goto_if 5, BattleFrontier_BattleTowerLobby_EventScript_23E830
+ goto_if_ne BattleFrontier_BattleTowerLobby_EventScript_23E830
BattleFrontier_BattleTowerLobby_EventScript_23E81E:: @ 823E81E
setvar VAR_0x8004, 2
@@ -161,7 +159,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E84D:: @ 823E84D
waitse
call BattleFrontier_BattleTowerLobby_EventScript_23E8E0
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23E8DF
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23E8DF
message BattleFrontier_BattleTowerLobby_Text_23FE3C
waitmessage
multichoicedefault 20, 8, 94, 1, 0
@@ -184,7 +182,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E8B4:: @ 823E8B4
setvar VAR_0x8004, 19
special CallFrontierUtilFunc
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23E8D7
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23E8D7
playse SE_SAVE
msgbox BattleFrontier_BattleTowerLobby_Text_2423CD, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_23E8DF
@@ -215,7 +213,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E8EE:: @ 823E8EE
lock
faceplayer
compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23E930
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23E930
message BattleFrontier_BattleTowerLobby_Text_23F737
waitmessage
message BattleFrontier_BattleTowerLobby_Text_23F754
@@ -264,7 +262,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E984:: @ 823E984
setvar VAR_0x8004, 15
special CallFrontierUtilFunc
compare VAR_0x8004, 1
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
@@ -277,7 +275,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23E984:: @ 823E984
special sub_80F9490
waitstate
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3
msgbox BattleFrontier_BattleTowerLobby_Text_23FDC7, MSGBOX_YESNO
switch VAR_RESULT
case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0E3
@@ -305,7 +303,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EA2A:: @ 823EA2A
call BattleFrontier_BattleTowerLobby_EventScript_27134F
setvar VAR_TEMP_0, 255
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0
incrementgamestat 30
setvar VAR_0x40BC, 1
goto BattleFrontier_BattleTowerLobby_EventScript_23F0F3
@@ -344,7 +342,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EAED:: @ 823EAED
setvar VAR_0x8004, 15
special CallFrontierUtilFunc
compare VAR_0x8004, 1
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
@@ -357,7 +355,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EAED:: @ 823EAED
special sub_80F9490
waitstate
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3
msgbox BattleFrontier_BattleTowerLobby_Text_23FDC7, MSGBOX_YESNO
switch VAR_RESULT
case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0E3
@@ -385,7 +383,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EB93:: @ 823EB93
call BattleFrontier_BattleTowerLobby_EventScript_27134F
setvar VAR_TEMP_0, 255
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0
incrementgamestat 30
setvar VAR_0x40BC, 0
goto BattleFrontier_BattleTowerLobby_EventScript_23F0F3
@@ -425,7 +423,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EC59:: @ 823EC59
setvar VAR_0x8004, 15
special CallFrontierUtilFunc
compare VAR_0x8004, 1
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
@@ -438,7 +436,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EC59:: @ 823EC59
special sub_80F9490
waitstate
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3
msgbox BattleFrontier_BattleTowerLobby_Text_23FDC7, MSGBOX_YESNO
switch VAR_RESULT
case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0E3
@@ -466,7 +464,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23ECFF:: @ 823ECFF
call BattleFrontier_BattleTowerLobby_EventScript_27134F
setvar VAR_TEMP_0, 255
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0
incrementgamestat 30
setvar VAR_0x40BC, 0
goto BattleFrontier_BattleTowerLobby_EventScript_23F0F3
@@ -505,7 +503,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EDC2:: @ 823EDC2
setvar VAR_0x8004, 15
special CallFrontierUtilFunc
compare VAR_0x8004, 1
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F02B
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
copyvar VAR_0x8006, VAR_RESULT
@@ -518,7 +516,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23EDC2:: @ 823EDC2
special sub_80F9490
waitstate
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E3
msgbox BattleFrontier_BattleTowerLobby_Text_23FDC7, MSGBOX_YESNO
switch VAR_RESULT
case 0, BattleFrontier_BattleTowerLobby_EventScript_23F0E3
@@ -549,11 +547,11 @@ BattleFrontier_BattleTowerLobby_EventScript_23EE68:: @ 823EE68
call BattleFrontier_BattleTowerLobby_EventScript_27134F
setvar VAR_TEMP_0, 255
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0D0
incrementgamestat 30
specialvar VAR_RESULT, IsWirelessAdapterConnected
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F3E8
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F3E8
goto BattleFrontier_BattleTowerLobby_EventScript_23F2C5
end
@@ -606,9 +604,9 @@ BattleFrontier_BattleTowerLobby_EventScript_23EF80:: @ 823EF80
BattleFrontier_BattleTowerLobby_EventScript_23EF8A:: @ 823EF8A
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23EFA1
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23EFA1
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23EFAB
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23EFAB
end
BattleFrontier_BattleTowerLobby_EventScript_23EFA1:: @ 823EFA1
@@ -744,7 +742,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23F108:: @ 823F108
special sub_8161F74
delay 1
compare VAR_RESULT, 6
- goto_if 5, BattleFrontier_BattleTowerLobby_EventScript_23F108
+ goto_if_ne BattleFrontier_BattleTowerLobby_EventScript_23F108
call BattleFrontier_BattleTowerLobby_EventScript_23F135
clearflag FLAG_0x077
warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR, 255, 1, 6
@@ -755,7 +753,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23F108:: @ 823F108
BattleFrontier_BattleTowerLobby_EventScript_23F135:: @ 823F135
call BattleFrontier_BattleTowerLobby_EventScript_23F1A7
compare VAR_FRONTIER_BATTLE_MODE, 3
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F152
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F152
msgbox BattleFrontier_BattleTowerLobby_Text_23FE11, MSGBOX_DEFAULT
goto BattleFrontier_BattleTowerLobby_EventScript_23F15B
@@ -769,12 +767,12 @@ BattleFrontier_BattleTowerLobby_EventScript_23F15B:: @ 823F15B
call BattleFrontier_BattleTowerLobby_EventScript_23F1E8
call BattleFrontier_BattleTowerLobby_EventScript_23F22D
applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerLobby_Movement_23F195
- applymovement 255, BattleFrontier_BattleTowerLobby_Movement_23F195
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerLobby_Movement_23F195
waitmovement 0
opendoor VAR_0x8004, 1
waitdooranim
applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerLobby_Movement_23F199
- applymovement 255, BattleFrontier_BattleTowerLobby_Movement_23F19C
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerLobby_Movement_23F19C
waitmovement 0
closedoor VAR_0x8004, 1
waitdooranim
@@ -808,13 +806,13 @@ BattleFrontier_BattleTowerLobby_Movement_23F1A0: @ 823F1A0
BattleFrontier_BattleTowerLobby_EventScript_23F1A7:: @ 823F1A7
compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F1D4
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F1D4
compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F1D9
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F1D9
compare VAR_FRONTIER_BATTLE_MODE, 2
- call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F1DE
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F1DE
compare VAR_FRONTIER_BATTLE_MODE, 3
- call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F1E3
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F1E3
return
BattleFrontier_BattleTowerLobby_EventScript_23F1D4:: @ 823F1D4
@@ -835,13 +833,13 @@ BattleFrontier_BattleTowerLobby_EventScript_23F1E3:: @ 823F1E3
BattleFrontier_BattleTowerLobby_EventScript_23F1E8:: @ 823F1E8
compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F215
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F215
compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F21B
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F21B
compare VAR_FRONTIER_BATTLE_MODE, 2
- call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F221
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F221
compare VAR_FRONTIER_BATTLE_MODE, 3
- call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F227
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F227
return
BattleFrontier_BattleTowerLobby_EventScript_23F215:: @ 823F215
@@ -862,13 +860,13 @@ BattleFrontier_BattleTowerLobby_EventScript_23F227:: @ 823F227
BattleFrontier_BattleTowerLobby_EventScript_23F22D:: @ 823F22D
compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F25A
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F25A
compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F260
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F260
compare VAR_FRONTIER_BATTLE_MODE, 2
- call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F266
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F266
compare VAR_FRONTIER_BATTLE_MODE, 3
- call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F26C
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F26C
return
BattleFrontier_BattleTowerLobby_EventScript_23F25A:: @ 823F25A
@@ -889,13 +887,13 @@ BattleFrontier_BattleTowerLobby_EventScript_23F26C:: @ 823F26C
BattleFrontier_BattleTowerLobby_EventScript_23F272:: @ 823F272
compare VAR_FRONTIER_BATTLE_MODE, 0
- call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F29F
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F29F
compare VAR_FRONTIER_BATTLE_MODE, 1
- call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F2A5
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F2A5
compare VAR_FRONTIER_BATTLE_MODE, 2
- call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F2AB
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F2AB
compare VAR_FRONTIER_BATTLE_MODE, 3
- call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F2B1
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F2B1
return
BattleFrontier_BattleTowerLobby_EventScript_23F29F:: @ 823F29F
@@ -935,25 +933,25 @@ BattleFrontier_BattleTowerLobby_EventScript_23F2C5:: @ 823F2C5
special sub_80B2DA4
waitstate
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F3AF
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F3AF
compare VAR_RESULT, 2
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_2772D2
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2772D2
compare VAR_RESULT, 3
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F327
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F327
compare VAR_RESULT, 4
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F351
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F351
compare VAR_RESULT, 5
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E6
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F0E6
compare VAR_RESULT, 6
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_2772C5
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2772C5
compare VAR_RESULT, 11
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F366
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F366
end
BattleFrontier_BattleTowerLobby_EventScript_23F327:: @ 823F327
special CloseLink
compare VAR_0x8005, 3
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F33F
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F33F
msgbox BattleFrontier_BattleTowerLobby_Text_278255, MSGBOX_DEFAULT
release
end
@@ -974,11 +972,11 @@ BattleFrontier_BattleTowerLobby_EventScript_23F351:: @ 823F351
BattleFrontier_BattleTowerLobby_EventScript_23F366:: @ 823F366
special CloseLink
compare VAR_0x8005, 0
- call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F394
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F394
compare VAR_0x8005, 1
- call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F39D
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F39D
compare VAR_0x8005, 2
- call_if 1, BattleFrontier_BattleTowerLobby_EventScript_23F3A6
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F3A6
msgbox BattleFrontier_BattleTowerLobby_Text_2413DE, MSGBOX_DEFAULT
release
end
@@ -1035,26 +1033,26 @@ BattleFrontier_BattleTowerLobby_EventScript_23F3F3:: @ 823F3F3
BattleFrontier_BattleTowerLobby_EventScript_23F430:: @ 823F430
call BattleFrontier_BattleTowerLobby_EventScript_277B30
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F496
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F496
compare VAR_RESULT, 5
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F3F3
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F3F3
compare VAR_RESULT, 8
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F430
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F430
compare VAR_RESULT, 11
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F366
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F366
release
return
BattleFrontier_BattleTowerLobby_EventScript_23F463:: @ 823F463
call BattleFrontier_BattleTowerLobby_EventScript_277B35
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F496
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F496
compare VAR_RESULT, 5
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F3F3
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F3F3
compare VAR_RESULT, 8
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F463
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F463
compare VAR_RESULT, 11
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_23F366
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_23F366
release
return
diff --git a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc
index b0c35a7fc..99cbbb662 100644
--- a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/scripts.inc
@@ -11,8 +11,7 @@ BattleFrontier_BattleTowerMultiBattleRoom_MapScript1_243DA7: @ 8243DA7
end
BattleFrontier_BattleTowerMultiBattleRoom_MapScript1_243DB0: @ 8243DB0
- checkflag FLAG_0x152
- goto_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243DDA
+ goto_if_set FLAG_0x152, 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
@@ -44,7 +43,7 @@ BattleFrontier_BattleTowerMultiBattleRoom_MapScript2_243E14: @ 8243E14
.2byte 0
BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E1E:: @ 8243E1E
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
end
BattleFrontier_BattleTowerMultiBattleRoom_MapScript2_243E23: @ 8243E23
@@ -60,12 +59,12 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E35:: @ 8243E35
BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E41:: @ 8243E41
lockall
- applymovement 255, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243E75
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243E75
waitmovement 0
applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243E77
waitmovement 0
moveobjectoffscreen 1
- applymovement 255, BattleFrontier_BattleTowerMultiBattleRoom_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_2725A6
waitmovement 0
msgbox BattleFrontier_BattleTowerMultiBattleRoom_Text_244056, MSGBOX_DEFAULT
special HealPlayerParty
@@ -89,7 +88,7 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E7A:: @ 8243E7A
waitmessage
multichoicedefault 20, 8, 94, 1, 0
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E9D
+ goto_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E9D
msgbox BattleFrontier_BattleTowerMultiBattleRoom_Text_24410C, MSGBOX_DEFAULT
release
end
@@ -119,19 +118,19 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243EB5:: @ 8243EB5
BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243EE4:: @ 8243EE4
applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F26
- applymovement 255, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F1A
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F1A
waitmovement 0
return
BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243EF6: @ 8243EF6
applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F26
- applymovement 255, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F1E
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F1E
waitmovement 0
return
BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F08: @ 8243F08
applymovement 1, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F26
- applymovement 255, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F22
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattleTowerMultiBattleRoom_Movement_243F22
waitmovement 0
return
@@ -166,8 +165,7 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F29:: @ 8243F29
end
BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36:: @ 8243F36
- checkflag FLAG_0x152
- goto_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FC3
+ goto_if_set FLAG_0x152, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FC3
setvar VAR_0x8004, 11
setvar VAR_0x8005, 0
special sub_8161F74
@@ -193,9 +191,9 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F36:: @ 8243F36
waitbuttonpress
closemessage
compare VAR_FACING, 1
- call_if 5, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FD4
+ call_if_ne BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FD4
compare VAR_FACING, 1
- call_if 1, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FDF
+ call_if_eq BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FDF
removeobject VAR_LAST_TALKED
setflag FLAG_0x152
warpsilent MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM, 255, 10, 3
diff --git a/data/maps/BattleFrontier_Lounge1/scripts.inc b/data/maps/BattleFrontier_Lounge1/scripts.inc
index ea1ae17a0..a12c54334 100644
--- a/data/maps/BattleFrontier_Lounge1/scripts.inc
+++ b/data/maps/BattleFrontier_Lounge1/scripts.inc
@@ -4,10 +4,8 @@ BattleFrontier_Lounge1_MapScripts:: @ 825E774
BattleFrontier_Lounge1_EventScript_25E775:: @ 825E775
lock
faceplayer
- checkflag FLAG_0x153
- call_if 0, BattleFrontier_Lounge1_EventScript_25E7AD
- checkflag FLAG_0x153
- call_if 1, BattleFrontier_Lounge1_EventScript_25E7B6
+ call_if_unset FLAG_0x153, BattleFrontier_Lounge1_EventScript_25E7AD
+ call_if_set FLAG_0x153, BattleFrontier_Lounge1_EventScript_25E7B6
setflag FLAG_0x153
goto BattleFrontier_Lounge1_EventScript_25E792
end
@@ -16,9 +14,9 @@ BattleFrontier_Lounge1_EventScript_25E792:: @ 825E792
special sub_81B94B0
waitstate
compare VAR_0x8004, 255
- goto_if 5, BattleFrontier_Lounge1_EventScript_25E7BF
+ goto_if_ne BattleFrontier_Lounge1_EventScript_25E7BF
compare VAR_0x8004, 255
- goto_eq BattleFrontier_Lounge1_EventScript_25E943
+ goto_if_eq BattleFrontier_Lounge1_EventScript_25E943
end
BattleFrontier_Lounge1_EventScript_25E7AD:: @ 825E7AD
@@ -32,16 +30,16 @@ BattleFrontier_Lounge1_EventScript_25E7B6:: @ 825E7B6
BattleFrontier_Lounge1_EventScript_25E7BF:: @ 825E7BF
specialvar VAR_RESULT, ScriptGetPartyMonSpecies
compare VAR_RESULT, 412
- goto_eq BattleFrontier_Lounge1_EventScript_25E7FF
+ goto_if_eq BattleFrontier_Lounge1_EventScript_25E7FF
special sub_8139D98
compare VAR_0x8005, 90
- goto_if 3, BattleFrontier_Lounge1_EventScript_25E87F
+ goto_if_le BattleFrontier_Lounge1_EventScript_25E87F
compare VAR_0x8005, 120
- goto_if 3, BattleFrontier_Lounge1_EventScript_25E88D
+ goto_if_le BattleFrontier_Lounge1_EventScript_25E88D
compare VAR_0x8005, 150
- goto_if 3, BattleFrontier_Lounge1_EventScript_25E89B
+ goto_if_le BattleFrontier_Lounge1_EventScript_25E89B
compare VAR_0x8005, 151
- goto_if 4, BattleFrontier_Lounge1_EventScript_25E8A9
+ goto_if_ge BattleFrontier_Lounge1_EventScript_25E8A9
end
BattleFrontier_Lounge1_EventScript_25E7FF:: @ 825E7FF
@@ -51,28 +49,28 @@ BattleFrontier_Lounge1_EventScript_25E7FF:: @ 825E7FF
BattleFrontier_Lounge1_EventScript_25E80D:: @ 825E80D
compare VAR_0x8006, 0
- goto_eq BattleFrontier_Lounge1_EventScript_25E8B7
+ goto_if_eq BattleFrontier_Lounge1_EventScript_25E8B7
compare VAR_0x8006, 1
- goto_eq BattleFrontier_Lounge1_EventScript_25E8C5
+ goto_if_eq BattleFrontier_Lounge1_EventScript_25E8C5
compare VAR_0x8006, 2
- goto_eq BattleFrontier_Lounge1_EventScript_25E8D3
+ goto_if_eq BattleFrontier_Lounge1_EventScript_25E8D3
compare VAR_0x8006, 3
- goto_eq BattleFrontier_Lounge1_EventScript_25E8E1
+ goto_if_eq BattleFrontier_Lounge1_EventScript_25E8E1
compare VAR_0x8006, 4
- goto_eq BattleFrontier_Lounge1_EventScript_25E8EF
+ goto_if_eq BattleFrontier_Lounge1_EventScript_25E8EF
compare VAR_0x8006, 5
- goto_eq BattleFrontier_Lounge1_EventScript_25E8FD
+ goto_if_eq BattleFrontier_Lounge1_EventScript_25E8FD
end
BattleFrontier_Lounge1_EventScript_25E850:: @ 825E850
compare VAR_0x8007, 15
- goto_if 3, BattleFrontier_Lounge1_EventScript_25E90B
+ goto_if_le BattleFrontier_Lounge1_EventScript_25E90B
compare VAR_0x8007, 25
- goto_if 3, BattleFrontier_Lounge1_EventScript_25E919
+ goto_if_le BattleFrontier_Lounge1_EventScript_25E919
compare VAR_0x8007, 30
- goto_if 3, BattleFrontier_Lounge1_EventScript_25E927
+ goto_if_le BattleFrontier_Lounge1_EventScript_25E927
compare VAR_0x8007, 31
- goto_if 4, BattleFrontier_Lounge1_EventScript_25E935
+ goto_if_ge BattleFrontier_Lounge1_EventScript_25E935
end
BattleFrontier_Lounge1_EventScript_25E87D:: @ 825E87D
diff --git a/data/maps/BattleFrontier_Lounge2/scripts.inc b/data/maps/BattleFrontier_Lounge2/scripts.inc
index a044e3439..e8c5db1f7 100644
--- a/data/maps/BattleFrontier_Lounge2/scripts.inc
+++ b/data/maps/BattleFrontier_Lounge2/scripts.inc
@@ -4,8 +4,7 @@ BattleFrontier_Lounge2_MapScripts:: @ 8260642
BattleFrontier_Lounge2_EventScript_260643:: @ 8260643
lock
faceplayer
- checkflag FLAG_0x154
- goto_eq BattleFrontier_Lounge2_EventScript_26065F
+ goto_if_set FLAG_0x154, BattleFrontier_Lounge2_EventScript_26065F
setflag FLAG_0x154
msgbox BattleFrontier_Lounge2_Text_260766, MSGBOX_DEFAULT
goto BattleFrontier_Lounge2_EventScript_26066D
@@ -18,29 +17,29 @@ BattleFrontier_Lounge2_EventScript_26065F:: @ 826065F
BattleFrontier_Lounge2_EventScript_26066D:: @ 826066D
compare VAR_FRONTIER_MANIAC_FACILITY, 0
- call_if 1, BattleFrontier_Lounge2_EventScript_26070A
+ call_if_eq BattleFrontier_Lounge2_EventScript_26070A
compare VAR_FRONTIER_MANIAC_FACILITY, 1
- call_if 1, BattleFrontier_Lounge2_EventScript_26070F
+ call_if_eq BattleFrontier_Lounge2_EventScript_26070F
compare VAR_FRONTIER_MANIAC_FACILITY, 2
- call_if 1, BattleFrontier_Lounge2_EventScript_260714
+ call_if_eq BattleFrontier_Lounge2_EventScript_260714
compare VAR_FRONTIER_MANIAC_FACILITY, 3
- call_if 1, BattleFrontier_Lounge2_EventScript_260719
+ call_if_eq BattleFrontier_Lounge2_EventScript_260719
compare VAR_FRONTIER_MANIAC_FACILITY, 4
- call_if 1, BattleFrontier_Lounge2_EventScript_26071E
+ call_if_eq BattleFrontier_Lounge2_EventScript_26071E
compare VAR_FRONTIER_MANIAC_FACILITY, 5
- call_if 1, BattleFrontier_Lounge2_EventScript_260723
+ call_if_eq BattleFrontier_Lounge2_EventScript_260723
compare VAR_FRONTIER_MANIAC_FACILITY, 6
- call_if 1, BattleFrontier_Lounge2_EventScript_260728
+ call_if_eq BattleFrontier_Lounge2_EventScript_260728
compare VAR_FRONTIER_MANIAC_FACILITY, 7
- call_if 1, BattleFrontier_Lounge2_EventScript_26072D
+ call_if_eq BattleFrontier_Lounge2_EventScript_26072D
compare VAR_FRONTIER_MANIAC_FACILITY, 8
- call_if 1, BattleFrontier_Lounge2_EventScript_260732
+ call_if_eq BattleFrontier_Lounge2_EventScript_260732
compare VAR_FRONTIER_MANIAC_FACILITY, 9
- call_if 1, BattleFrontier_Lounge2_EventScript_260737
+ call_if_eq BattleFrontier_Lounge2_EventScript_260737
compare VAR_FRONTIER_MANIAC_FACILITY, 3
- call_if 3, BattleFrontier_Lounge2_EventScript_2606F8
+ call_if_le BattleFrontier_Lounge2_EventScript_2606F8
compare VAR_FRONTIER_MANIAC_FACILITY, 4
- call_if 4, BattleFrontier_Lounge2_EventScript_260701
+ call_if_ge BattleFrontier_Lounge2_EventScript_260701
special sub_8139F20
waitmessage
waitbuttonpress
diff --git a/data/maps/BattleFrontier_Lounge3/scripts.inc b/data/maps/BattleFrontier_Lounge3/scripts.inc
index 26cbeebcf..4b0b23bc8 100644
--- a/data/maps/BattleFrontier_Lounge3/scripts.inc
+++ b/data/maps/BattleFrontier_Lounge3/scripts.inc
@@ -4,11 +4,10 @@ BattleFrontier_Lounge3_MapScripts:: @ 8261D82
BattleFrontier_Lounge3_EventScript_261D83:: @ 8261D83
lock
faceplayer
- checkflag FLAG_0x157
- goto_eq BattleFrontier_Lounge3_EventScript_261EF9
+ goto_if_set FLAG_0x157, BattleFrontier_Lounge3_EventScript_261EF9
call BattleFrontier_Lounge3_EventScript_261EA0
compare VAR_0x8004, 2
- goto_if 3, BattleFrontier_Lounge3_EventScript_261EEB
+ goto_if_le BattleFrontier_Lounge3_EventScript_261EEB
setflag FLAG_0x157
msgbox BattleFrontier_Lounge3_Text_262061, MSGBOX_DEFAULT
goto BattleFrontier_Lounge3_EventScript_261DAF
@@ -20,10 +19,10 @@ BattleFrontier_Lounge3_EventScript_261DAF:: @ 8261DAF
waitbuttonpress
msgbox BattleFrontier_Lounge3_Text_262A60, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_Lounge3_EventScript_261FA5
+ goto_if_eq BattleFrontier_Lounge3_EventScript_261FA5
msgbox BattleFrontier_Lounge3_Text_262ABD, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_Lounge3_EventScript_261FA5
+ goto_if_eq BattleFrontier_Lounge3_EventScript_261FA5
message BattleFrontier_Lounge3_Text_262B42
waitmessage
special sub_813A958
@@ -59,7 +58,7 @@ BattleFrontier_Lounge3_EventScript_261E46:: @ 8261E46
BattleFrontier_Lounge3_EventScript_261E51:: @ 8261E51
specialvar VAR_TEMP_1, sub_813AA04
compare VAR_TEMP_1, VAR_0x8008
- goto_if 4, BattleFrontier_Lounge3_EventScript_261E75
+ goto_if_ge BattleFrontier_Lounge3_EventScript_261E75
msgbox BattleFrontier_Lounge3_Text_262B6E, MSGBOX_DEFAULT
message BattleFrontier_Lounge3_Text_262B42
waitmessage
@@ -86,20 +85,13 @@ BattleFrontier_Lounge3_EventScript_261E96:: @ 8261E96
BattleFrontier_Lounge3_EventScript_261EA0:: @ 8261EA0
setvar VAR_0x8004, 0
- checkflag FLAG_SYS_TOWER_SILVER
- call_if 1, BattleFrontier_Lounge3_EventScript_261EE5
- checkflag FLAG_SYS_DOME_SILVER
- call_if 1, BattleFrontier_Lounge3_EventScript_261EE5
- checkflag FLAG_SYS_PALACE_SILVER
- call_if 1, BattleFrontier_Lounge3_EventScript_261EE5
- checkflag FLAG_SYS_ARENA_SILVER
- call_if 1, BattleFrontier_Lounge3_EventScript_261EE5
- checkflag FLAG_SYS_FACTORY_SILVER
- call_if 1, BattleFrontier_Lounge3_EventScript_261EE5
- checkflag FLAG_SYS_PIKE_SILVER
- call_if 1, BattleFrontier_Lounge3_EventScript_261EE5
- checkflag FLAG_SYS_PYRAMID_SILVER
- call_if 1, BattleFrontier_Lounge3_EventScript_261EE5
+ 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
return
BattleFrontier_Lounge3_EventScript_261EE5:: @ 8261EE5
@@ -114,26 +106,26 @@ BattleFrontier_Lounge3_EventScript_261EEB:: @ 8261EEB
BattleFrontier_Lounge3_EventScript_261EF9:: @ 8261EF9
msgbox BattleFrontier_Lounge3_Text_26346B, MSGBOX_DEFAULT
compare VAR_FRONTIER_GAMBLER_PLACED_BET_F, 1
- goto_if 4, BattleFrontier_Lounge3_EventScript_261F12
+ goto_if_ge BattleFrontier_Lounge3_EventScript_261F12
goto BattleFrontier_Lounge3_EventScript_261DAF
end
BattleFrontier_Lounge3_EventScript_261F12:: @ 8261F12
compare VAR_FRONTIER_GAMBLER_PLACED_BET_F, 1
- goto_eq BattleFrontier_Lounge3_EventScript_261F9E
+ goto_if_eq BattleFrontier_Lounge3_EventScript_261F9E
compare VAR_FRONTIER_GAMBLER_PLACED_BET_F, 2
- goto_eq BattleFrontier_Lounge3_EventScript_261F2E
+ goto_if_eq BattleFrontier_Lounge3_EventScript_261F2E
goto BattleFrontier_Lounge3_EventScript_261F71
end
BattleFrontier_Lounge3_EventScript_261F2E:: @ 8261F2E
msgbox BattleFrontier_Lounge3_Text_263334, MSGBOX_DEFAULT
compare VAR_FRONTIER_GAMBLER_AMOUNT_BET, 0
- call_if 1, BattleFrontier_Lounge3_EventScript_261F80
+ call_if_eq BattleFrontier_Lounge3_EventScript_261F80
compare VAR_FRONTIER_GAMBLER_AMOUNT_BET, 1
- call_if 1, BattleFrontier_Lounge3_EventScript_261F8A
+ call_if_eq BattleFrontier_Lounge3_EventScript_261F8A
compare VAR_FRONTIER_GAMBLER_AMOUNT_BET, 2
- call_if 1, BattleFrontier_Lounge3_EventScript_261F94
+ call_if_eq BattleFrontier_Lounge3_EventScript_261F94
msgbox BattleFrontier_Lounge3_Text_2633D4, 9
special sub_813A9D0
msgbox BattleFrontier_Lounge3_Text_2633F2, MSGBOX_DEFAULT
diff --git a/data/maps/BattleFrontier_Lounge5/scripts.inc b/data/maps/BattleFrontier_Lounge5/scripts.inc
index 65a5d2556..7a8bd1929 100644
--- a/data/maps/BattleFrontier_Lounge5/scripts.inc
+++ b/data/maps/BattleFrontier_Lounge5/scripts.inc
@@ -6,16 +6,16 @@ BattleFrontier_Lounge5_EventScript_2645C6:: @ 82645C6
faceplayer
msgbox BattleFrontier_Lounge5_Text_264632, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_Lounge5_EventScript_26460D
+ goto_if_eq BattleFrontier_Lounge5_EventScript_26460D
special sub_81B94B0
waitstate
lock
faceplayer
compare VAR_0x8004, 255
- goto_eq BattleFrontier_Lounge5_EventScript_26460D
+ goto_if_eq BattleFrontier_Lounge5_EventScript_26460D
specialvar VAR_RESULT, ScriptGetPartyMonSpecies
compare VAR_RESULT, 412
- goto_eq BattleFrontier_Lounge5_EventScript_264603
+ goto_if_eq BattleFrontier_Lounge5_EventScript_264603
special sub_813A7B8
waitmessage
waitbuttonpress
diff --git a/data/maps/BattleFrontier_Lounge6/scripts.inc b/data/maps/BattleFrontier_Lounge6/scripts.inc
index 495a604d4..3c1852283 100644
--- a/data/maps/BattleFrontier_Lounge6/scripts.inc
+++ b/data/maps/BattleFrontier_Lounge6/scripts.inc
@@ -4,25 +4,24 @@ BattleFrontier_Lounge6_MapScripts:: @ 8264FEC
BattleFrontier_Lounge6_EventScript_264FED:: @ 8264FED
lock
faceplayer
- checkflag FLAG_0x09C
- goto_eq BattleFrontier_Lounge6_EventScript_265083
+ goto_if_set FLAG_0x09C, BattleFrontier_Lounge6_EventScript_265083
setvar VAR_0x8008, 3
copyvar VAR_0x8004, VAR_0x8008
specialvar VAR_RESULT, sub_807E73C
copyvar VAR_0x8009, VAR_RESULT
msgbox BattleFrontier_Lounge6_Text_26508D, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_Lounge6_EventScript_26506B
+ goto_if_eq BattleFrontier_Lounge6_EventScript_26506B
special sub_81B94B0
waitstate
copyvar VAR_0x800A, VAR_0x8004
compare VAR_0x8004, 255
- goto_eq BattleFrontier_Lounge6_EventScript_26506B
+ goto_if_eq BattleFrontier_Lounge6_EventScript_26506B
copyvar VAR_0x8005, VAR_0x800A
specialvar VAR_RESULT, sub_807E9D4
copyvar VAR_0x800B, VAR_RESULT
compare VAR_RESULT, VAR_0x8009
- goto_if 5, BattleFrontier_Lounge6_EventScript_265075
+ goto_if_ne BattleFrontier_Lounge6_EventScript_265075
copyvar VAR_0x8004, VAR_0x8008
copyvar VAR_0x8005, VAR_0x800A
special sub_807EA10
diff --git a/data/maps/BattleFrontier_Lounge7/scripts.inc b/data/maps/BattleFrontier_Lounge7/scripts.inc
index f395a27bc..0f9376125 100644
--- a/data/maps/BattleFrontier_Lounge7/scripts.inc
+++ b/data/maps/BattleFrontier_Lounge7/scripts.inc
@@ -5,8 +5,7 @@ BattleFrontier_Lounge7_EventScript_265255:: @ 8265255
lock
faceplayer
setvar VAR_TEMP_C, 9
- checkflag FLAG_0x15A
- goto_eq BattleFrontier_Lounge7_EventScript_265276
+ goto_if_set FLAG_0x15A, BattleFrontier_Lounge7_EventScript_265276
msgbox BattleFrontier_Lounge7_Text_2656ED, MSGBOX_DEFAULT
setflag FLAG_0x15A
goto BattleFrontier_Lounge7_EventScript_265284
@@ -120,8 +119,7 @@ BattleFrontier_Lounge7_EventScript_265445:: @ 8265445
lock
faceplayer
setvar VAR_TEMP_C, 10
- checkflag FLAG_0x15B
- goto_eq BattleFrontier_Lounge7_EventScript_265466
+ goto_if_set FLAG_0x15B, BattleFrontier_Lounge7_EventScript_265466
msgbox BattleFrontier_Lounge7_Text_265A6C, MSGBOX_DEFAULT
setflag FLAG_0x15B
goto BattleFrontier_Lounge7_EventScript_265474
@@ -251,10 +249,10 @@ BattleFrontier_Lounge7_EventScript_26564F:: @ 826564F
copyvar VAR_0x8004, VAR_TEMP_C
msgbox BattleFrontier_Lounge7_Text_265921, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_Lounge7_EventScript_2656CA
+ goto_if_eq BattleFrontier_Lounge7_EventScript_2656CA
specialvar VAR_TEMP_1, sub_813AA04
compare VAR_TEMP_1, VAR_0x8008
- goto_if 4, BattleFrontier_Lounge7_EventScript_265696
+ goto_if_ge BattleFrontier_Lounge7_EventScript_265696
msgbox BattleFrontier_Lounge7_Text_265997, MSGBOX_DEFAULT
goto BattleFrontier_Lounge7_EventScript_2656CA
end
@@ -268,7 +266,7 @@ BattleFrontier_Lounge7_EventScript_265696:: @ 8265696
special sub_81B892C
waitstate
compare VAR_RESULT, 0
- goto_eq BattleFrontier_Lounge7_EventScript_265645
+ goto_if_eq BattleFrontier_Lounge7_EventScript_265645
msgbox BattleFrontier_Lounge7_Text_2659C7, MSGBOX_DEFAULT
copyvar VAR_0x8004, VAR_0x8008
special sub_813A9A4
@@ -277,7 +275,7 @@ BattleFrontier_Lounge7_EventScript_265696:: @ 8265696
BattleFrontier_Lounge7_EventScript_2656CA:: @ 82656CA
compare VAR_TEMP_E, 0
- goto_eq BattleFrontier_Lounge7_EventScript_26532F
+ goto_if_eq BattleFrontier_Lounge7_EventScript_26532F
goto BattleFrontier_Lounge7_EventScript_26551F
end
diff --git a/data/maps/BattleFrontier_OutsideEast/scripts.inc b/data/maps/BattleFrontier_OutsideEast/scripts.inc
index fe034442e..401f5565d 100644
--- a/data/maps/BattleFrontier_OutsideEast/scripts.inc
+++ b/data/maps/BattleFrontier_OutsideEast/scripts.inc
@@ -4,22 +4,20 @@ BattleFrontier_OutsideEast_MapScripts:: @ 8242C04
.byte 0
BattleFrontier_OutsideEast_MapScript1_242C0F: @ 8242C0F
- checkflag FLAG_SYS_CTRL_OBJ_DELETE
- call_if 1, BattleFrontier_OutsideEast_EventScript_242C19
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, BattleFrontier_OutsideEast_EventScript_242C19
end
BattleFrontier_OutsideEast_EventScript_242C19:: @ 8242C19
specialvar VAR_RESULT, GetBattleOutcome
compare VAR_RESULT, 7
- goto_if 5, BattleFrontier_OutsideEast_EventScript_27374E
+ goto_if_ne BattleFrontier_OutsideEast_EventScript_27374E
removeobject VAR_LAST_TALKED
return
BattleFrontier_OutsideEast_MapScript1_242C2D: @ 8242C2D
setvar VAR_0x40BC, 0
setflag FLAG_HIDE_BATTLE_TOWER_REPORTER
- checkflag FLAG_0x1C6
- call_if 0, BattleFrontier_OutsideEast_EventScript_242C3F
+ call_if_unset FLAG_0x1C6, BattleFrontier_OutsideEast_EventScript_242C3F
end
BattleFrontier_OutsideEast_EventScript_242C3F:: @ 8242C3F
@@ -117,7 +115,7 @@ BattleFrontier_OutsideEast_EventScript_242CEA:: @ 8242CEA
BattleFrontier_OutsideEast_EventScript_242CFC:: @ 8242CFC
lock
faceplayer
- special sub_80FAFF8
+ special DoWateringBerryTreeAnim
waitstate
waitse
playse 269
@@ -136,11 +134,11 @@ BattleFrontier_OutsideEast_EventScript_242CFC:: @ 8242CFC
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
compare VAR_RESULT, 1
- goto_eq BattleFrontier_OutsideEast_EventScript_242D60
+ goto_if_eq BattleFrontier_OutsideEast_EventScript_242D60
compare VAR_RESULT, 4
- goto_eq BattleFrontier_OutsideEast_EventScript_242D60
+ goto_if_eq BattleFrontier_OutsideEast_EventScript_242D60
compare VAR_RESULT, 5
- goto_eq BattleFrontier_OutsideEast_EventScript_242D60
+ goto_if_eq BattleFrontier_OutsideEast_EventScript_242D60
setflag FLAG_0x1C6
release
end
@@ -223,8 +221,7 @@ BattleFrontier_OutsideEast_EventScript_242DE0:: @ 8242DE0
BattleFrontier_OutsideEast_EventScript_242DE9:: @ 8242DE9
lock
faceplayer
- checkflag FLAG_0x1C6
- goto_eq BattleFrontier_OutsideEast_EventScript_242DFE
+ goto_if_set FLAG_0x1C6, BattleFrontier_OutsideEast_EventScript_242DFE
msgbox BattleFrontier_OutsideEast_Text_243C2C, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/BattleFrontier_OutsideWest/scripts.inc b/data/maps/BattleFrontier_OutsideWest/scripts.inc
index b01b0eb2d..da5724259 100644
--- a/data/maps/BattleFrontier_OutsideWest/scripts.inc
+++ b/data/maps/BattleFrontier_OutsideWest/scripts.inc
@@ -13,7 +13,7 @@ BattleFrontier_OutsideWest_EventScript_23D3F0:: @ 823D3F0
msgbox BattleFrontier_OutsideWest_Text_23D808, MSGBOX_DEFAULT
checkitem ITEM_SS_TICKET, 1
compare VAR_RESULT, 0
- goto_eq BattleFrontier_OutsideWest_EventScript_23D44E
+ goto_if_eq BattleFrontier_OutsideWest_EventScript_23D44E
message BattleFrontier_OutsideWest_Text_23D89D
waitmessage
goto BattleFrontier_OutsideWest_EventScript_23D416
@@ -36,7 +36,7 @@ BattleFrontier_OutsideWest_EventScript_23D44E:: @ 823D44E
BattleFrontier_OutsideWest_EventScript_23D458:: @ 823D458
msgbox BattleFrontier_OutsideWest_Text_23D8F2, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_OutsideWest_EventScript_23D4AE
+ goto_if_eq BattleFrontier_OutsideWest_EventScript_23D4AE
msgbox BattleFrontier_OutsideWest_Text_23D94B, MSGBOX_DEFAULT
call BattleFrontier_OutsideWest_EventScript_23D4BA
warp MAP_SLATEPORT_CITY_HARBOR, 255, 8, 11
@@ -47,7 +47,7 @@ BattleFrontier_OutsideWest_EventScript_23D458:: @ 823D458
BattleFrontier_OutsideWest_EventScript_23D483:: @ 823D483
msgbox BattleFrontier_OutsideWest_Text_23D90E, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BattleFrontier_OutsideWest_EventScript_23D4AE
+ goto_if_eq BattleFrontier_OutsideWest_EventScript_23D4AE
msgbox BattleFrontier_OutsideWest_Text_23D94B, MSGBOX_DEFAULT
call BattleFrontier_OutsideWest_EventScript_23D4BA
warp MAP_LILYCOVE_CITY_HARBOR, 255, 8, 11
@@ -145,13 +145,13 @@ BattleFrontier_OutsideWest_EventScript_23D57F:: @ 823D57F
faceplayer
delay 20
compare VAR_FACING, 2
- call_if 1, BattleFrontier_OutsideWest_EventScript_23D5BA
+ call_if_eq BattleFrontier_OutsideWest_EventScript_23D5BA
compare VAR_FACING, 1
- call_if 1, BattleFrontier_OutsideWest_EventScript_23D5C5
+ call_if_eq BattleFrontier_OutsideWest_EventScript_23D5C5
compare VAR_FACING, 3
- call_if 1, BattleFrontier_OutsideWest_EventScript_23D5BA
+ call_if_eq BattleFrontier_OutsideWest_EventScript_23D5BA
compare VAR_FACING, 4
- call_if 1, BattleFrontier_OutsideWest_EventScript_23D5BA
+ call_if_eq BattleFrontier_OutsideWest_EventScript_23D5BA
msgbox BattleFrontier_OutsideWest_Text_23DC36, MSGBOX_DEFAULT
release
end
@@ -170,13 +170,13 @@ BattleFrontier_OutsideWest_EventScript_23D5C6:: @ 823D5C6
message BattleFrontier_OutsideWest_Text_23DCB0
waitmessage
compare VAR_FACING, 2
- call_if 1, BattleFrontier_OutsideWest_EventScript_23D5FD
+ call_if_eq BattleFrontier_OutsideWest_EventScript_23D5FD
compare VAR_FACING, 1
- call_if 1, BattleFrontier_OutsideWest_EventScript_23D608
+ call_if_eq BattleFrontier_OutsideWest_EventScript_23D608
compare VAR_FACING, 3
- call_if 1, BattleFrontier_OutsideWest_EventScript_23D613
+ call_if_eq BattleFrontier_OutsideWest_EventScript_23D613
compare VAR_FACING, 4
- call_if 1, BattleFrontier_OutsideWest_EventScript_23D61E
+ call_if_eq BattleFrontier_OutsideWest_EventScript_23D61E
waitbuttonpress
release
end
@@ -227,7 +227,7 @@ BattleFrontier_OutsideWest_EventScript_23D635:: @ 823D635
msgbox BattleFrontier_OutsideWest_Text_23DD3B, MSGBOX_DEFAULT
random 2
compare VAR_RESULT, 1
- goto_eq BattleFrontier_OutsideWest_EventScript_23D653
+ goto_if_eq BattleFrontier_OutsideWest_EventScript_23D653
goto BattleFrontier_OutsideWest_EventScript_23D65D
end
diff --git a/data/maps/BattleFrontier_RankingHall/scripts.inc b/data/maps/BattleFrontier_RankingHall/scripts.inc
index f6a7715d1..5f8a6c44e 100644
--- a/data/maps/BattleFrontier_RankingHall/scripts.inc
+++ b/data/maps/BattleFrontier_RankingHall/scripts.inc
@@ -87,7 +87,7 @@ BattleFrontier_RankingHall_EventScript_25E54A:: @ 825E54A
faceplayer
msgbox BattleFrontier_RankingHall_Text_25E666, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq BattleFrontier_RankingHall_EventScript_25E569
+ goto_if_eq BattleFrontier_RankingHall_EventScript_25E569
msgbox BattleFrontier_RankingHall_Text_25E6B6, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/BattleFrontier_ReceptionGate/scripts.inc b/data/maps/BattleFrontier_ReceptionGate/scripts.inc
index 30f3a10d5..5ed97bd60 100644
--- a/data/maps/BattleFrontier_ReceptionGate/scripts.inc
+++ b/data/maps/BattleFrontier_ReceptionGate/scripts.inc
@@ -21,7 +21,7 @@ BattleFrontier_ReceptionGate_EventScript_2661F3:: @ 82661F3
waitmovement 0
msgbox BattleFrontier_ReceptionGate_Text_266580, MSGBOX_DEFAULT
closemessage
- applymovement 255, BattleFrontier_ReceptionGate_Movement_2662D2
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_ReceptionGate_Movement_2662D2
waitmovement 0
goto BattleFrontier_ReceptionGate_EventScript_266229
end
@@ -40,18 +40,18 @@ BattleFrontier_ReceptionGate_EventScript_266229:: @ 8266229
closemessage
applymovement 1, BattleFrontier_ReceptionGate_Movement_2725A6
applymovement 2, BattleFrontier_ReceptionGate_Movement_2725A6
- applymovement 255, BattleFrontier_ReceptionGate_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_ReceptionGate_Movement_2725A6
waitmovement 0
playse SE_PIN
applymovement 1, BattleFrontier_ReceptionGate_Movement_272598
applymovement 2, BattleFrontier_ReceptionGate_Movement_272598
- applymovement 255, BattleFrontier_ReceptionGate_Movement_272598
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_ReceptionGate_Movement_272598
waitmovement 0
msgbox BattleFrontier_ReceptionGate_Text_266733, MSGBOX_DEFAULT
closemessage
applymovement 1, BattleFrontier_ReceptionGate_Movement_2662F0
applymovement 2, BattleFrontier_ReceptionGate_Movement_2662F6
- applymovement 255, BattleFrontier_ReceptionGate_Movement_2662D7
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_ReceptionGate_Movement_2662D7
applymovement 4, BattleFrontier_ReceptionGate_Movement_2662E0
waitmovement 0
msgbox BattleFrontier_ReceptionGate_Text_266764, MSGBOX_DEFAULT
diff --git a/data/maps/BattleFrontier_ScottsHouse/scripts.inc b/data/maps/BattleFrontier_ScottsHouse/scripts.inc
index 6824df384..9f42bc89e 100644
--- a/data/maps/BattleFrontier_ScottsHouse/scripts.inc
+++ b/data/maps/BattleFrontier_ScottsHouse/scripts.inc
@@ -4,76 +4,54 @@ BattleFrontier_ScottsHouse_MapScripts:: @ 82636A7
BattleFrontier_ScottsHouse_EventScript_2636A8:: @ 82636A8
lock
faceplayer
- checkflag FLAG_TEMP_4
- goto_eq BattleFrontier_ScottsHouse_EventScript_2637DA
- checkflag FLAG_TEMP_3
- goto_eq BattleFrontier_ScottsHouse_EventScript_2638AA
- checkflag FLAG_TEMP_2
- goto_eq BattleFrontier_ScottsHouse_EventScript_263939
+ 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
end
BattleFrontier_ScottsHouse_EventScript_2636CB:: @ 82636CB
- checkflag FLAG_0x1D1
- goto_if 0, BattleFrontier_ScottsHouse_EventScript_263943
- checkflag FLAG_0x05C
- goto_if 0, BattleFrontier_ScottsHouse_EventScript_263704
- checkflag FLAG_0x1D2
- goto_if 0, BattleFrontier_ScottsHouse_EventScript_26376A
+ goto_if_unset FLAG_0x1D1, BattleFrontier_ScottsHouse_EventScript_263943
+ goto_if_unset FLAG_0x05C, BattleFrontier_ScottsHouse_EventScript_263704
+ goto_if_unset FLAG_0x1D2, BattleFrontier_ScottsHouse_EventScript_26376A
goto BattleFrontier_ScottsHouse_EventScript_2636EC
end
BattleFrontier_ScottsHouse_EventScript_2636EC:: @ 82636EC
- checkflag FLAG_0x0ED
- goto_if 0, BattleFrontier_ScottsHouse_EventScript_26381B
- checkflag FLAG_0x0EE
- goto_if 0, BattleFrontier_ScottsHouse_EventScript_2638B4
+ goto_if_unset FLAG_0x0ED, BattleFrontier_ScottsHouse_EventScript_26381B
+ goto_if_unset FLAG_0x0EE, BattleFrontier_ScottsHouse_EventScript_2638B4
goto BattleFrontier_ScottsHouse_EventScript_2637E4
end
BattleFrontier_ScottsHouse_EventScript_263704:: @ 8263704
- checkflag FLAG_SYS_TOWER_SILVER
- goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC
- checkflag FLAG_SYS_DOME_SILVER
- goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC
- checkflag FLAG_SYS_PALACE_SILVER
- goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC
- checkflag FLAG_SYS_ARENA_SILVER
- goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC
- checkflag FLAG_SYS_FACTORY_SILVER
- goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC
- checkflag FLAG_SYS_PIKE_SILVER
- goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC
- checkflag FLAG_SYS_PYRAMID_SILVER
- goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC
+ 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_eq BattleFrontier_ScottsHouse_EventScript_2637D0
+ goto_if_eq BattleFrontier_ScottsHouse_EventScript_2637D0
setflag FLAG_0x05C
setflag FLAG_TEMP_4
release
end
BattleFrontier_ScottsHouse_EventScript_26376A:: @ 826376A
- checkflag FLAG_SYS_TOWER_GOLD
- goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC
- checkflag FLAG_SYS_DOME_GOLD
- goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC
- checkflag FLAG_SYS_PALACE_GOLD
- goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC
- checkflag FLAG_SYS_ARENA_GOLD
- goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC
- checkflag FLAG_SYS_FACTORY_GOLD
- goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC
- checkflag FLAG_SYS_PIKE_GOLD
- goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC
- checkflag FLAG_SYS_PYRAMID_GOLD
- goto_if 0, BattleFrontier_ScottsHouse_EventScript_2636EC
+ 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_eq BattleFrontier_ScottsHouse_EventScript_2637D0
+ goto_if_eq BattleFrontier_ScottsHouse_EventScript_2637D0
setflag FLAG_0x1D2
setflag FLAG_TEMP_4
release
@@ -92,9 +70,9 @@ BattleFrontier_ScottsHouse_EventScript_2637DA:: @ 82637DA
BattleFrontier_ScottsHouse_EventScript_2637E4:: @ 82637E4
random 3
compare VAR_RESULT, 1
- goto_eq BattleFrontier_ScottsHouse_EventScript_263807
+ goto_if_eq BattleFrontier_ScottsHouse_EventScript_263807
compare VAR_RESULT, 2
- goto_eq BattleFrontier_ScottsHouse_EventScript_263811
+ goto_if_eq BattleFrontier_ScottsHouse_EventScript_263811
msgbox BattleFrontier_ScottsHouse_Text_263DDD, MSGBOX_DEFAULT
release
end
@@ -119,7 +97,7 @@ BattleFrontier_ScottsHouse_EventScript_26381B:: @ 826381B
setvar VAR_0x8005, 1
special sub_8161F74
compare VAR_RESULT, 50
- goto_if 4, BattleFrontier_ScottsHouse_EventScript_26387A
+ goto_if_ge BattleFrontier_ScottsHouse_EventScript_26387A
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
setvar VAR_0x8006, 1
@@ -128,7 +106,7 @@ BattleFrontier_ScottsHouse_EventScript_26381B:: @ 826381B
setvar VAR_0x8005, 1
special sub_8161F74
compare VAR_RESULT, 50
- goto_if 4, BattleFrontier_ScottsHouse_EventScript_26387A
+ goto_if_ge BattleFrontier_ScottsHouse_EventScript_26387A
goto BattleFrontier_ScottsHouse_EventScript_2637E4
end
@@ -136,7 +114,7 @@ BattleFrontier_ScottsHouse_EventScript_26387A:: @ 826387A
msgbox BattleFrontier_ScottsHouse_Text_264412, MSGBOX_DEFAULT
givedecoration_std 42
compare VAR_RESULT, 0
- goto_eq BattleFrontier_ScottsHouse_EventScript_2638A0
+ goto_if_eq BattleFrontier_ScottsHouse_EventScript_2638A0
setflag FLAG_0x0ED
setflag FLAG_TEMP_3
goto BattleFrontier_ScottsHouse_EventScript_2638AA
@@ -162,7 +140,7 @@ BattleFrontier_ScottsHouse_EventScript_2638B4:: @ 82638B4
setvar VAR_0x8005, 1
special sub_8161F74
compare VAR_RESULT, 100
- goto_if 4, BattleFrontier_ScottsHouse_EventScript_263913
+ goto_if_ge BattleFrontier_ScottsHouse_EventScript_263913
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
setvar VAR_0x8006, 1
@@ -171,7 +149,7 @@ BattleFrontier_ScottsHouse_EventScript_2638B4:: @ 82638B4
setvar VAR_0x8005, 1
special sub_8161F74
compare VAR_RESULT, 100
- goto_if 4, BattleFrontier_ScottsHouse_EventScript_263913
+ goto_if_ge BattleFrontier_ScottsHouse_EventScript_263913
goto BattleFrontier_ScottsHouse_EventScript_2637E4
end
@@ -179,7 +157,7 @@ BattleFrontier_ScottsHouse_EventScript_263913:: @ 8263913
msgbox BattleFrontier_ScottsHouse_Text_26449F, MSGBOX_DEFAULT
givedecoration_std 43
compare VAR_RESULT, 0
- goto_eq BattleFrontier_ScottsHouse_EventScript_2638A0
+ goto_if_eq BattleFrontier_ScottsHouse_EventScript_2638A0
setflag FLAG_0x0EE
setflag FLAG_TEMP_3
goto BattleFrontier_ScottsHouse_EventScript_2638AA
@@ -195,23 +173,23 @@ BattleFrontier_ScottsHouse_EventScript_263943:: @ 8263943
closemessage
delay 30
compare VAR_FACING, 2
- call_if 1, BattleFrontier_ScottsHouse_EventScript_263A13
+ call_if_eq BattleFrontier_ScottsHouse_EventScript_263A13
compare VAR_FACING, 1
- call_if 1, BattleFrontier_ScottsHouse_EventScript_263A1E
+ call_if_eq BattleFrontier_ScottsHouse_EventScript_263A1E
compare VAR_FACING, 4
- call_if 1, BattleFrontier_ScottsHouse_EventScript_263A29
+ call_if_eq BattleFrontier_ScottsHouse_EventScript_263A29
compare VAR_FACING, 3
- call_if 1, BattleFrontier_ScottsHouse_EventScript_263A34
+ call_if_eq BattleFrontier_ScottsHouse_EventScript_263A34
msgbox BattleFrontier_ScottsHouse_Text_263B29, MSGBOX_DEFAULT
applymovement 1, BattleFrontier_ScottsHouse_Movement_27259E
waitmovement 0
msgbox BattleFrontier_ScottsHouse_Text_263BD4, MSGBOX_DEFAULT
compare VAR_0x40D1, 13
- goto_eq BattleFrontier_ScottsHouse_EventScript_2639BC
+ goto_if_eq BattleFrontier_ScottsHouse_EventScript_2639BC
compare VAR_0x40D1, 9
- goto_if 4, BattleFrontier_ScottsHouse_EventScript_2639CB
+ goto_if_ge BattleFrontier_ScottsHouse_EventScript_2639CB
compare VAR_0x40D1, 6
- goto_if 4, BattleFrontier_ScottsHouse_EventScript_2639DA
+ goto_if_ge BattleFrontier_ScottsHouse_EventScript_2639DA
goto BattleFrontier_ScottsHouse_EventScript_2639E9
end
diff --git a/data/maps/BirthIsland_Exterior/scripts.inc b/data/maps/BirthIsland_Exterior/scripts.inc
index 7bd9c1e60..bdc548162 100644
--- a/data/maps/BirthIsland_Exterior/scripts.inc
+++ b/data/maps/BirthIsland_Exterior/scripts.inc
@@ -13,10 +13,8 @@ BirthIsland_Exterior_MapScript1_267F29: @ 8267F29
setvar VAR_OBJ_GFX_ID_0, 100
setvar VAR_0x4034, 0
setvar VAR_0x4035, 0
- checkflag FLAG_0x1AD
- call_if 1, BirthIsland_Exterior_EventScript_267F4E
- checkflag FLAG_0x1AD
- call_if 0, BirthIsland_Exterior_EventScript_267F55
+ call_if_set FLAG_0x1AD, BirthIsland_Exterior_EventScript_267F4E
+ call_if_unset FLAG_0x1AD, BirthIsland_Exterior_EventScript_267F55
end
BirthIsland_Exterior_EventScript_267F4E:: @ 8267F4E
@@ -25,21 +23,19 @@ BirthIsland_Exterior_EventScript_267F4E:: @ 8267F4E
return
BirthIsland_Exterior_EventScript_267F55:: @ 8267F55
- checkflag FLAG_0x1AC
- goto_eq BirthIsland_Exterior_EventScript_27374E
+ goto_if_set FLAG_0x1AC, BirthIsland_Exterior_EventScript_27374E
clearflag FLAG_HIDE_BIRTH_ISLAND_DEOXYS_TRIANGLE
clearflag FLAG_0x8D4
return
BirthIsland_Exterior_MapScript1_267F65: @ 8267F65
- checkflag FLAG_SYS_CTRL_OBJ_DELETE
- call_if 1, BirthIsland_Exterior_EventScript_267F6F
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, BirthIsland_Exterior_EventScript_267F6F
end
BirthIsland_Exterior_EventScript_267F6F:: @ 8267F6F
specialvar VAR_RESULT, GetBattleOutcome
compare VAR_RESULT, 7
- goto_if 5, BirthIsland_Exterior_EventScript_27374E
+ goto_if_ne BirthIsland_Exterior_EventScript_27374E
removeobject 2
return
@@ -93,11 +89,11 @@ BirthIsland_Exterior_EventScript_267FC1:: @ 8267FC1
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
compare VAR_RESULT, 1
- goto_eq BirthIsland_Exterior_EventScript_26803B
+ goto_if_eq BirthIsland_Exterior_EventScript_26803B
compare VAR_RESULT, 4
- goto_eq BirthIsland_Exterior_EventScript_268049
+ goto_if_eq BirthIsland_Exterior_EventScript_268049
compare VAR_RESULT, 5
- goto_eq BirthIsland_Exterior_EventScript_268049
+ goto_if_eq BirthIsland_Exterior_EventScript_268049
setflag FLAG_0x1AD
release
end
diff --git a/data/maps/BirthIsland_Harbor/scripts.inc b/data/maps/BirthIsland_Harbor/scripts.inc
index dc3407e33..1a5ef87ec 100644
--- a/data/maps/BirthIsland_Harbor/scripts.inc
+++ b/data/maps/BirthIsland_Harbor/scripts.inc
@@ -6,7 +6,7 @@ BirthIsland_Harbor_EventScript_26805D:: @ 826805D
faceplayer
msgbox BirthIsland_Harbor_Text_2C6B90, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq BirthIsland_Harbor_EventScript_2680A2
+ goto_if_eq BirthIsland_Harbor_EventScript_2680A2
msgbox BirthIsland_Harbor_Text_2A6A5D, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, BirthIsland_Harbor_Movement_2725AA
diff --git a/data/maps/CaveOfOrigin_1F/scripts.inc b/data/maps/CaveOfOrigin_1F/scripts.inc
index 42c78d4b7..f42cb92f6 100644
--- a/data/maps/CaveOfOrigin_1F/scripts.inc
+++ b/data/maps/CaveOfOrigin_1F/scripts.inc
@@ -3,7 +3,6 @@ CaveOfOrigin_1F_MapScripts:: @ 8235768
.byte 0
CaveOfOrigin_1F_MapScript1_23576E: @ 823576E
- checkflag FLAG_0x071
- call_if 1, CaveOfOrigin_1F_EventScript_2722C1
+ call_if_set FLAG_0x071, CaveOfOrigin_1F_EventScript_2722C1
end
diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/scripts.inc b/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/scripts.inc
index 4b4240833..9ac7e4741 100644
--- a/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/scripts.inc
+++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/scripts.inc
@@ -3,7 +3,6 @@ CaveOfOrigin_UnusedRubySapphireMap1_MapScripts:: @ 8235778
.byte 0
CaveOfOrigin_UnusedRubySapphireMap1_MapScript1_23577E: @ 823577E
- checkflag FLAG_0x071
- call_if 1, CaveOfOrigin_UnusedRubySapphireMap1_EventScript_2722C1
+ call_if_set FLAG_0x071, CaveOfOrigin_UnusedRubySapphireMap1_EventScript_2722C1
end
diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/scripts.inc b/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/scripts.inc
index d73ff8231..5743c7c8c 100644
--- a/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/scripts.inc
+++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/scripts.inc
@@ -3,7 +3,6 @@ CaveOfOrigin_UnusedRubySapphireMap2_MapScripts:: @ 8235788
.byte 0
CaveOfOrigin_UnusedRubySapphireMap2_MapScript1_23578E: @ 823578E
- checkflag FLAG_0x071
- call_if 1, CaveOfOrigin_UnusedRubySapphireMap2_EventScript_2722C1
+ call_if_set FLAG_0x071, CaveOfOrigin_UnusedRubySapphireMap2_EventScript_2722C1
end
diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/scripts.inc b/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/scripts.inc
index 7f4fb2ff1..c831218a4 100644
--- a/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/scripts.inc
+++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/scripts.inc
@@ -3,7 +3,6 @@ CaveOfOrigin_UnusedRubySapphireMap3_MapScripts:: @ 8235798
.byte 0
CaveOfOrigin_UnusedRubySapphireMap3_MapScript1_23579E: @ 823579E
- checkflag FLAG_0x071
- call_if 1, CaveOfOrigin_UnusedRubySapphireMap3_EventScript_2722C1
+ call_if_set FLAG_0x071, CaveOfOrigin_UnusedRubySapphireMap3_EventScript_2722C1
end
diff --git a/data/maps/DesertRuins/scripts.inc b/data/maps/DesertRuins/scripts.inc
index 760336d91..685d8f5cf 100644
--- a/data/maps/DesertRuins/scripts.inc
+++ b/data/maps/DesertRuins/scripts.inc
@@ -5,20 +5,18 @@ DesertRuins_MapScripts:: @ 822D95B
.byte 0
DesertRuins_MapScript1_22D96B: @ 822D96B
- checkflag FLAG_SYS_CTRL_OBJ_DELETE
- call_if 1, DesertRuins_EventScript_22D975
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, DesertRuins_EventScript_22D975
end
DesertRuins_EventScript_22D975:: @ 822D975
specialvar VAR_RESULT, GetBattleOutcome
compare VAR_RESULT, 7
- goto_if 5, DesertRuins_EventScript_27374E
+ goto_if_ne DesertRuins_EventScript_27374E
removeobject VAR_LAST_TALKED
return
DesertRuins_MapScript1_22D989: @ 822D989
- checkflag FLAG_SYS_BRAILLE_STRENGTH
- call_if 0, DesertRuins_EventScript_22D993
+ call_if_unset FLAG_SYS_BRAILLE_STRENGTH, DesertRuins_EventScript_22D993
end
DesertRuins_EventScript_22D993:: @ 822D993
@@ -32,8 +30,7 @@ DesertRuins_EventScript_22D993:: @ 822D993
DesertRuins_MapScript1_22D9CA: @ 822D9CA
setflag FLAG_LANDMARK_DESERT_RUINS
- checkflag FLAG_0x1BB
- call_if 0, DesertRuins_EventScript_22D9D7
+ call_if_unset FLAG_0x1BB, DesertRuins_EventScript_22D9D7
end
DesertRuins_EventScript_22D9D7:: @ 822D9D7
@@ -42,8 +39,7 @@ DesertRuins_EventScript_22D9D7:: @ 822D9D7
DesertRuins_EventScript_22D9DB:: @ 822D9DB
lockall
- checkflag FLAG_SYS_BRAILLE_STRENGTH
- goto_eq DesertRuins_EventScript_22D9EE
+ goto_if_set FLAG_SYS_BRAILLE_STRENGTH, DesertRuins_EventScript_22D9EE
braillemessage DesertRuins_Braille_2A6CA0
waitbuttonpress
hidebox2
@@ -77,11 +73,11 @@ DesertRuins_EventScript_22DA02:: @ 822DA02
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
compare VAR_RESULT, 1
- goto_eq DesertRuins_EventScript_22DA49
+ goto_if_eq DesertRuins_EventScript_22DA49
compare VAR_RESULT, 4
- goto_eq DesertRuins_EventScript_22DA52
+ goto_if_eq DesertRuins_EventScript_22DA52
compare VAR_RESULT, 5
- goto_eq DesertRuins_EventScript_22DA52
+ goto_if_eq DesertRuins_EventScript_22DA52
setflag FLAG_0x1BB
release
end
diff --git a/data/maps/DesertUnderpass/scripts.inc b/data/maps/DesertUnderpass/scripts.inc
index 486bd2577..d9913cb76 100644
--- a/data/maps/DesertUnderpass/scripts.inc
+++ b/data/maps/DesertUnderpass/scripts.inc
@@ -9,10 +9,8 @@ DesertUnderpass_MapScript1_23AF3D: @ 823AF3D
DesertUnderpass_EventScript_23AF41:: @ 823AF41
lock
faceplayer
- checkflag FLAG_0x14F
- goto_eq DesertUnderpass_EventScript_23AF57
- checkflag FLAG_0x150
- goto_eq DesertUnderpass_EventScript_23AF68
+ goto_if_set FLAG_0x14F, DesertUnderpass_EventScript_23AF57
+ goto_if_set FLAG_0x150, DesertUnderpass_EventScript_23AF68
release
end
diff --git a/data/maps/DewfordTown/scripts.inc b/data/maps/DewfordTown/scripts.inc
index 41abdcede..b08a0e8a3 100644
--- a/data/maps/DewfordTown/scripts.inc
+++ b/data/maps/DewfordTown/scripts.inc
@@ -9,8 +9,7 @@ DewfordTown_MapScript1_1E950D: @ 81E950D
DewfordTown_EventScript_1E9511:: @ 81E9511
lock
faceplayer
- checkflag FLAG_0x0BD
- goto_if 0, DewfordTown_EventScript_1E9585
+ goto_if_unset FLAG_0x0BD, DewfordTown_EventScript_1E9585
message DewfordTown_Text_1E9C8A
waitmessage
multichoicedefault 21, 6, 0, 2, 0
@@ -44,7 +43,7 @@ DewfordTown_EventScript_1E957A:: @ 81E957A
DewfordTown_EventScript_1E9585:: @ 81E9585
msgbox DewfordTown_Text_1E9B24, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq DewfordTown_EventScript_1E95A2
+ goto_if_eq DewfordTown_EventScript_1E95A2
msgbox DewfordTown_Text_1E9BD9, MSGBOX_DEFAULT
release
end
@@ -74,13 +73,12 @@ DewfordTown_EventScript_1E95CC:: @ 81E95CC
DewfordTown_EventScript_1E95D5:: @ 81E95D5
lock
faceplayer
- checkflag FLAG_0x101
- goto_eq DewfordTown_EventScript_1E962A
+ goto_if_set FLAG_0x101, DewfordTown_EventScript_1E962A
msgbox DewfordTown_Text_1E9DD1, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq DewfordTown_EventScript_1E95FF
+ goto_if_eq DewfordTown_EventScript_1E95FF
compare VAR_RESULT, 0
- goto_eq DewfordTown_EventScript_1E9620
+ goto_if_eq DewfordTown_EventScript_1E9620
end
DewfordTown_EventScript_1E95FF:: @ 81E95FF
@@ -101,9 +99,9 @@ DewfordTown_EventScript_1E962A:: @ 81E962A
waitmessage
multichoice 20, 8, 50, 1
compare VAR_RESULT, 0
- goto_eq DewfordTown_EventScript_1E964C
+ goto_if_eq DewfordTown_EventScript_1E964C
compare VAR_RESULT, 1
- goto_eq DewfordTown_EventScript_1E9656
+ goto_if_eq DewfordTown_EventScript_1E9656
end
DewfordTown_EventScript_1E964C:: @ 81E964C
@@ -119,29 +117,29 @@ DewfordTown_EventScript_1E9656:: @ 81E9656
DewfordTown_EventScript_1E9660:: @ 81E9660
call DewfordTown_EventScript_271E95
setobjectpriority 2, MAP_DEWFORD_TOWN, 0
- setobjectpriority 255, MAP_DEWFORD_TOWN, 0
+ setobjectpriority EVENT_OBJ_ID_PLAYER, MAP_DEWFORD_TOWN, 0
applymovement 2, DewfordTown_Movement_1E991D
waitmovement 0
removeobject 2
- applymovement 255, DewfordTown_Movement_1E9911
+ applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_1E9911
waitmovement 0
- hideobjectat 255, MAP_DEWFORD_TOWN
+ hideobjectat EVENT_OBJ_ID_PLAYER, MAP_DEWFORD_TOWN
call DewfordTown_EventScript_2720A0
applymovement 4, DewfordTown_Movement_1E97A2
- applymovement 255, DewfordTown_Movement_1E97A2
+ applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_1E97A2
waitmovement 0
- showobjectat 255, MAP_ROUTE104
+ showobjectat EVENT_OBJ_ID_PLAYER, MAP_ROUTE104
call DewfordTown_EventScript_2720A8
- applymovement 255, DewfordTown_Movement_1E9914
+ applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_1E9914
waitmovement 0
- showobjectat 255, MAP_ROUTE104
+ showobjectat EVENT_OBJ_ID_PLAYER, MAP_ROUTE104
clearflag FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY
clearflag FLAG_HIDE_BRINEYS_HOUSE_PEEKO
clearflag FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT
setflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN
hideobjectat 4, MAP_DEWFORD_TOWN
setvar VAR_0x408E, 2
- resetobjectpriority 255, MAP_DEWFORD_TOWN
+ resetobjectpriority EVENT_OBJ_ID_PLAYER, MAP_DEWFORD_TOWN
warp MAP_ROUTE104_MR_BRINEYS_HOUSE, 255, 5, 4
copyvar VAR_0x4096, VAR_0x8008
waitstate
@@ -151,20 +149,20 @@ DewfordTown_EventScript_1E9660:: @ 81E9660
DewfordTown_EventScript_1E96E7:: @ 81E96E7
call DewfordTown_EventScript_271E95
setobjectpriority 2, MAP_DEWFORD_TOWN, 0
- setobjectpriority 255, MAP_DEWFORD_TOWN, 1
+ setobjectpriority EVENT_OBJ_ID_PLAYER, MAP_DEWFORD_TOWN, 1
applymovement 2, DewfordTown_Movement_1E991D
waitmovement 0
removeobject 2
- applymovement 255, DewfordTown_Movement_1E9911
+ applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_1E9911
waitmovement 0
- hideobjectat 255, MAP_DEWFORD_TOWN
+ hideobjectat EVENT_OBJ_ID_PLAYER, MAP_DEWFORD_TOWN
call DewfordTown_EventScript_2720A0
applymovement 4, DewfordTown_Movement_1E9865
- applymovement 255, DewfordTown_Movement_1E9865
+ applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_1E9865
waitmovement 0
call DewfordTown_EventScript_2720A8
- showobjectat 255, MAP_ROUTE109
- applymovement 255, DewfordTown_Movement_1E9918
+ showobjectat EVENT_OBJ_ID_PLAYER, MAP_ROUTE109
+ applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Movement_1E9918
waitmovement 0
setobjectxyperm 2, 21, 26
addobject 2
@@ -176,13 +174,11 @@ DewfordTown_EventScript_1E96E7:: @ 81E96E7
clearflag FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT
setflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN
hideobjectat 4, MAP_DEWFORD_TOWN
- checkflag FLAG_0x095
- call_if 0, DewfordTown_EventScript_1E9790
- checkflag FLAG_0x095
- call_if 1, DewfordTown_EventScript_1E9799
+ call_if_unset FLAG_0x095, DewfordTown_EventScript_1E9790
+ call_if_set FLAG_0x095, DewfordTown_EventScript_1E9799
closemessage
copyvar VAR_0x4096, VAR_0x8008
- resetobjectpriority 255, MAP_DEWFORD_TOWN
+ resetobjectpriority EVENT_OBJ_ID_PLAYER, MAP_DEWFORD_TOWN
resetobjectpriority 2, MAP_ROUTE109
moveobjectoffscreen 2
release
@@ -600,9 +596,9 @@ DewfordTown_EventScript_1E9922:: @ 81E9922
call DewfordTown_EventScript_271E8B
msgbox DewfordTown_Text_1EA136, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq DewfordTown_EventScript_1E9948
+ goto_if_eq DewfordTown_EventScript_1E9948
compare VAR_RESULT, 0
- goto_eq DewfordTown_EventScript_1E9952
+ goto_if_eq DewfordTown_EventScript_1E9952
end
DewfordTown_EventScript_1E9948:: @ 81E9948
@@ -617,15 +613,15 @@ DewfordTown_EventScript_1E9952:: @ 81E9952
lock
faceplayer
compare VAR_RESULT, 1
- goto_eq DewfordTown_EventScript_1E997D
+ goto_if_eq DewfordTown_EventScript_1E997D
compare VAR_RESULT, 0
- goto_eq DewfordTown_EventScript_1E9994
+ goto_if_eq DewfordTown_EventScript_1E9994
end
DewfordTown_EventScript_1E997D:: @ 81E997D
incrementgamestat 2
compare VAR_0x8004, 0
- goto_eq DewfordTown_EventScript_1E999E
+ goto_if_eq DewfordTown_EventScript_1E999E
msgbox DewfordTown_Text_1EA2AA, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/DewfordTown_Gym/scripts.inc b/data/maps/DewfordTown_Gym/scripts.inc
index 703888e98..1251c714e 100644
--- a/data/maps/DewfordTown_Gym/scripts.inc
+++ b/data/maps/DewfordTown_Gym/scripts.inc
@@ -8,21 +8,21 @@ DewfordTown_Gym_MapScript1_1FC642: @ 81FC642
DewfordTown_Gym_EventScript_1FC648:: @ 81FC648
checktrainerflag TRAINER_BRAWLY_1
- goto_eq DewfordTown_Gym_EventScript_1FC6A2
+ goto_if_eq DewfordTown_Gym_EventScript_1FC6A2
call DewfordTown_Gym_EventScript_1FC768
copyvar VAR_0x8001, VAR_0x8000
compare VAR_0x8000, 0
- goto_eq DewfordTown_Gym_EventScript_1FC6BE
+ goto_if_eq DewfordTown_Gym_EventScript_1FC6BE
compare VAR_0x8000, 1
- goto_eq DewfordTown_Gym_EventScript_1FC6BA
+ goto_if_eq DewfordTown_Gym_EventScript_1FC6BA
compare VAR_0x8000, 2
- goto_eq DewfordTown_Gym_EventScript_1FC6B6
+ goto_if_eq DewfordTown_Gym_EventScript_1FC6B6
compare VAR_0x8000, 3
- goto_eq DewfordTown_Gym_EventScript_1FC6B2
+ goto_if_eq DewfordTown_Gym_EventScript_1FC6B2
compare VAR_0x8000, 4
- goto_eq DewfordTown_Gym_EventScript_1FC6AE
+ goto_if_eq DewfordTown_Gym_EventScript_1FC6AE
compare VAR_0x8000, 5
- goto_eq DewfordTown_Gym_EventScript_1FC6AA
+ goto_if_eq DewfordTown_Gym_EventScript_1FC6AA
goto DewfordTown_Gym_EventScript_1FC6A6
DewfordTown_Gym_EventScript_1FC6A2:: @ 81FC6A2
@@ -61,20 +61,20 @@ DewfordTown_Gym_EventScript_1FC6C2:: @ 81FC6C2
call DewfordTown_Gym_EventScript_1FC768
nop1
compare VAR_0x8000, VAR_0x8001
- goto_eq DewfordTown_Gym_EventScript_1FC71A
+ goto_if_eq DewfordTown_Gym_EventScript_1FC71A
copyvar VAR_0x8001, VAR_0x8000
compare VAR_0x8000, 1
- goto_eq DewfordTown_Gym_EventScript_1FC71B
+ goto_if_eq DewfordTown_Gym_EventScript_1FC71B
compare VAR_0x8000, 2
- goto_eq DewfordTown_Gym_EventScript_1FC726
+ goto_if_eq DewfordTown_Gym_EventScript_1FC726
compare VAR_0x8000, 3
- goto_eq DewfordTown_Gym_EventScript_1FC731
+ goto_if_eq DewfordTown_Gym_EventScript_1FC731
compare VAR_0x8000, 4
- goto_eq DewfordTown_Gym_EventScript_1FC73C
+ goto_if_eq DewfordTown_Gym_EventScript_1FC73C
compare VAR_0x8000, 5
- goto_eq DewfordTown_Gym_EventScript_1FC747
+ goto_if_eq DewfordTown_Gym_EventScript_1FC747
compare VAR_0x8000, 6
- goto_eq DewfordTown_Gym_EventScript_1FC752
+ goto_if_eq DewfordTown_Gym_EventScript_1FC752
DewfordTown_Gym_EventScript_1FC71A:: @ 81FC71A
return
@@ -124,32 +124,32 @@ DewfordTown_Gym_EventScript_1FC75D:: @ 81FC75D
DewfordTown_Gym_EventScript_1FC768:: @ 81FC768
setvar VAR_0x8000, 0
checktrainerflag TRAINER_TAKAO
- goto_if 0, DewfordTown_Gym_EventScript_1FC77B
+ goto_if_lt DewfordTown_Gym_EventScript_1FC77B
addvar VAR_0x8000, 1
DewfordTown_Gym_EventScript_1FC77B:: @ 81FC77B
checktrainerflag TRAINER_JOCELYN
- goto_if 0, DewfordTown_Gym_EventScript_1FC789
+ goto_if_lt DewfordTown_Gym_EventScript_1FC789
addvar VAR_0x8000, 1
DewfordTown_Gym_EventScript_1FC789:: @ 81FC789
checktrainerflag TRAINER_LAURA
- goto_if 0, DewfordTown_Gym_EventScript_1FC797
+ goto_if_lt DewfordTown_Gym_EventScript_1FC797
addvar VAR_0x8000, 1
DewfordTown_Gym_EventScript_1FC797:: @ 81FC797
checktrainerflag TRAINER_BRENDEN
- goto_if 0, DewfordTown_Gym_EventScript_1FC7A5
+ goto_if_lt DewfordTown_Gym_EventScript_1FC7A5
addvar VAR_0x8000, 1
DewfordTown_Gym_EventScript_1FC7A5:: @ 81FC7A5
checktrainerflag TRAINER_CRISTIAN
- goto_if 0, DewfordTown_Gym_EventScript_1FC7B3
+ goto_if_lt DewfordTown_Gym_EventScript_1FC7B3
addvar VAR_0x8000, 1
DewfordTown_Gym_EventScript_1FC7B3:: @ 81FC7B3
checktrainerflag TRAINER_LILITH
- goto_if 0, DewfordTown_Gym_EventScript_1FC7C1
+ goto_if_lt DewfordTown_Gym_EventScript_1FC7C1
addvar VAR_0x8000, 1
DewfordTown_Gym_EventScript_1FC7C1:: @ 81FC7C1
@@ -159,9 +159,8 @@ DewfordTown_Gym_EventScript_1FC7C2:: @ 81FC7C2
trainerbattle_single TRAINER_BRAWLY_1, DewfordTown_Gym_Text_1FCF44, DewfordTown_Gym_Text_1FD008, DewfordTown_Gym_EventScript_1FC7F7, NO_MUSIC
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq DewfordTown_Gym_EventScript_1FC89C
- checkflag FLAG_0x0A6
- goto_if 0, DewfordTown_Gym_EventScript_1FC878
+ goto_if_eq DewfordTown_Gym_EventScript_1FC89C
+ goto_if_unset FLAG_0x0A6, DewfordTown_Gym_EventScript_1FC878
msgbox DewfordTown_Gym_Text_1FD20D, MSGBOX_DEFAULT
release
end
@@ -176,7 +175,7 @@ DewfordTown_Gym_EventScript_1FC7F7:: @ 81FC7F7
setflag FLAG_BADGE02_GET
addvar VAR_0x4085, 1
compare VAR_0x4085, 6
- call_if 1, DewfordTown_Gym_EventScript_271E84
+ call_if_eq DewfordTown_Gym_EventScript_271E84
setvar VAR_0x8008, 2
call DewfordTown_Gym_EventScript_271F43
call DewfordTown_Gym_EventScript_1FC855
@@ -196,7 +195,7 @@ DewfordTown_Gym_EventScript_1FC7F7:: @ 81FC7F7
DewfordTown_Gym_EventScript_1FC855:: @ 81FC855
giveitem_std ITEM_TM08
compare VAR_RESULT, 0
- goto_eq DewfordTown_Gym_EventScript_27205E
+ goto_if_eq DewfordTown_Gym_EventScript_27205E
msgbox DewfordTown_Gym_Text_1FD181, MSGBOX_DEFAULT
setflag FLAG_0x0A6
return
@@ -204,7 +203,7 @@ DewfordTown_Gym_EventScript_1FC855:: @ 81FC855
DewfordTown_Gym_EventScript_1FC878:: @ 81FC878
giveitem_std ITEM_TM08
compare VAR_RESULT, 0
- goto_eq DewfordTown_Gym_EventScript_272054
+ goto_if_eq DewfordTown_Gym_EventScript_272054
msgbox DewfordTown_Gym_Text_1FD181, MSGBOX_DEFAULT
setflag FLAG_0x0A6
release
@@ -278,8 +277,7 @@ DewfordTown_Gym_EventScript_1FC97C:: @ 81FC97C
DewfordTown_Gym_EventScript_1FC983:: @ 81FC983
lock
faceplayer
- checkflag FLAG_0x4F1
- goto_eq DewfordTown_Gym_EventScript_1FC998
+ goto_if_set FLAG_0x4F1, DewfordTown_Gym_EventScript_1FC998
msgbox DewfordTown_Gym_Text_1FC9D6, MSGBOX_DEFAULT
release
end
@@ -291,15 +289,13 @@ DewfordTown_Gym_EventScript_1FC998:: @ 81FC998
DewfordTown_Gym_EventScript_1FC9A2:: @ 81FC9A2
lockall
- checkflag FLAG_BADGE02_GET
- goto_eq DewfordTown_Gym_EventScript_1FC9C2
+ goto_if_set FLAG_BADGE02_GET, DewfordTown_Gym_EventScript_1FC9C2
goto DewfordTown_Gym_EventScript_1FC9CC
end
DewfordTown_Gym_EventScript_1FC9B2:: @ 81FC9B2
lockall
- checkflag FLAG_BADGE02_GET
- goto_eq DewfordTown_Gym_EventScript_1FC9C2
+ goto_if_set FLAG_BADGE02_GET, DewfordTown_Gym_EventScript_1FC9C2
goto DewfordTown_Gym_EventScript_1FC9CC
end
diff --git a/data/maps/DewfordTown_Hall/scripts.inc b/data/maps/DewfordTown_Hall/scripts.inc
index bec9826f3..450ccb4ec 100644
--- a/data/maps/DewfordTown_Hall/scripts.inc
+++ b/data/maps/DewfordTown_Hall/scripts.inc
@@ -7,7 +7,7 @@ DewfordTown_Hall_EventScript_1FD4D0:: @ 81FD4D0
call DewfordTown_Hall_EventScript_271E8B
special TrendyPhraseIsOld
compare VAR_RESULT, 1
- goto_eq DewfordTown_Hall_EventScript_1FD4EF
+ goto_if_eq DewfordTown_Hall_EventScript_1FD4EF
msgbox DewfordTown_Hall_Text_1FD818, MSGBOX_DEFAULT
release
end
@@ -32,9 +32,9 @@ DewfordTown_Hall_EventScript_1FD50A:: @ 81FD50A
special sub_811EF6C
msgbox DewfordTown_Hall_Text_1FD948, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq DewfordTown_Hall_EventScript_1FD533
+ goto_if_eq DewfordTown_Hall_EventScript_1FD533
compare VAR_RESULT, 0
- goto_eq DewfordTown_Hall_EventScript_1FD53D
+ goto_if_eq DewfordTown_Hall_EventScript_1FD53D
end
DewfordTown_Hall_EventScript_1FD533:: @ 81FD533
@@ -192,15 +192,15 @@ DewfordTown_Hall_EventScript_1FD73A:: @ 81FD73A
applymovement 8, DewfordTown_Hall_Movement_1FD7D6
waitmovement 0
compare VAR_0x8008, 0
- goto_eq DewfordTown_Hall_EventScript_1FD75B
+ goto_if_eq DewfordTown_Hall_EventScript_1FD75B
compare VAR_0x8008, 1
- goto_eq DewfordTown_Hall_EventScript_1FD771
+ goto_if_eq DewfordTown_Hall_EventScript_1FD771
end
DewfordTown_Hall_EventScript_1FD75B:: @ 81FD75B
compare VAR_FACING, 4
- goto_eq DewfordTown_Hall_EventScript_1FD739
- applymovement 255, DewfordTown_Hall_Movement_2725A8
+ goto_if_eq DewfordTown_Hall_EventScript_1FD739
+ applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Hall_Movement_2725A8
waitmovement 0
return
@@ -211,32 +211,32 @@ DewfordTown_Hall_EventScript_1FD772:: @ 81FD772
applymovement 7, DewfordTown_Hall_Movement_1FD7D8
waitmovement 0
compare VAR_0x8008, 0
- goto_eq DewfordTown_Hall_EventScript_1FD793
+ goto_if_eq DewfordTown_Hall_EventScript_1FD793
compare VAR_0x8008, 1
- goto_eq DewfordTown_Hall_EventScript_1FD7C0
+ goto_if_eq DewfordTown_Hall_EventScript_1FD7C0
end
DewfordTown_Hall_EventScript_1FD793:: @ 81FD793
compare VAR_FACING, 2
- call_if 1, DewfordTown_Hall_EventScript_1FD7AA
+ call_if_eq DewfordTown_Hall_EventScript_1FD7AA
compare VAR_FACING, 1
- call_if 1, DewfordTown_Hall_EventScript_1FD7B5
+ call_if_eq DewfordTown_Hall_EventScript_1FD7B5
return
DewfordTown_Hall_EventScript_1FD7AA:: @ 81FD7AA
- applymovement 255, DewfordTown_Hall_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Hall_Movement_2725A6
waitmovement 0
return
DewfordTown_Hall_EventScript_1FD7B5:: @ 81FD7B5
- applymovement 255, DewfordTown_Hall_Movement_2725AA
+ applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Hall_Movement_2725AA
waitmovement 0
return
DewfordTown_Hall_EventScript_1FD7C0:: @ 81FD7C0
compare VAR_FACING, 3
- goto_eq DewfordTown_Hall_EventScript_1FD739
- applymovement 255, DewfordTown_Hall_Movement_2725A4
+ goto_if_eq DewfordTown_Hall_EventScript_1FD739
+ applymovement EVENT_OBJ_ID_PLAYER, DewfordTown_Hall_Movement_2725A4
waitmovement 0
return
@@ -252,12 +252,11 @@ DewfordTown_Hall_EventScript_1FD7DA:: @ 81FD7DA
lock
faceplayer
call DewfordTown_Hall_EventScript_271E8B
- checkflag FLAG_RECEIVED_TM_36
- goto_eq DewfordTown_Hall_EventScript_1FD80E
+ goto_if_set FLAG_RECEIVED_TM_36, DewfordTown_Hall_EventScript_1FD80E
msgbox DewfordTown_Hall_Text_1FE142, MSGBOX_DEFAULT
giveitem_std ITEM_TM36
compare VAR_RESULT, 0
- goto_eq DewfordTown_Hall_EventScript_272054
+ goto_if_eq DewfordTown_Hall_EventScript_272054
setflag FLAG_RECEIVED_TM_36
release
end
diff --git a/data/maps/DewfordTown_House2/scripts.inc b/data/maps/DewfordTown_House2/scripts.inc
index c0de82dac..cff58306e 100644
--- a/data/maps/DewfordTown_House2/scripts.inc
+++ b/data/maps/DewfordTown_House2/scripts.inc
@@ -4,12 +4,11 @@ DewfordTown_House2_MapScripts:: @ 81FE22D
DewfordTown_House2_EventScript_1FE22E:: @ 81FE22E
lock
faceplayer
- checkflag FLAG_0x121
- goto_eq DewfordTown_House2_EventScript_1FE267
+ goto_if_set FLAG_0x121, DewfordTown_House2_EventScript_1FE267
msgbox DewfordTown_House2_Text_1FE27A, MSGBOX_DEFAULT
giveitem_std ITEM_SILK_SCARF
compare VAR_RESULT, 0
- goto_eq DewfordTown_House2_EventScript_1FE25D
+ goto_if_eq DewfordTown_House2_EventScript_1FE25D
setflag FLAG_0x121
release
end
diff --git a/data/maps/EverGrandeCity/scripts.inc b/data/maps/EverGrandeCity/scripts.inc
index 5bb85a3c1..75327b839 100644
--- a/data/maps/EverGrandeCity/scripts.inc
+++ b/data/maps/EverGrandeCity/scripts.inc
@@ -3,8 +3,7 @@ EverGrandeCity_MapScripts:: @ 81E7D1B
.byte 0
EverGrandeCity_MapScript1_1E7D21: @ 81E7D21
- checkflag FLAG_SYS_WEATHER_CTRL
- call_if 1, EverGrandeCity_EventScript_27207A
+ call_if_set FLAG_SYS_WEATHER_CTRL, EverGrandeCity_EventScript_27207A
end
EverGrandeCity_EventScript_1E7D2B:: @ 81E7D2B
diff --git a/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc b/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc
index 250a3012b..8da9ae712 100644
--- a/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc
+++ b/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc
@@ -13,7 +13,7 @@ EverGrandeCity_ChampionsRoom_MapScript2_228A05: @ 8228A05
.2byte 0
EverGrandeCity_ChampionsRoom_EventScript_228A0F:: @ 8228A0F
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
end
EverGrandeCity_ChampionsRoom_MapScript2_228A14: @ 8228A14
@@ -22,10 +22,10 @@ EverGrandeCity_ChampionsRoom_MapScript2_228A14: @ 8228A14
EverGrandeCity_ChampionsRoom_EventScript_228A1E:: @ 8228A1E
lockall
- applymovement 255, EverGrandeCity_ChampionsRoom_Movement_2725C1
+ applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_2725C1
waitmovement 0
delay 40
- applymovement 255, EverGrandeCity_ChampionsRoom_Movement_228A42
+ applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_228A42
waitmovement 0
setvar VAR_TEMP_1, 1
goto EverGrandeCity_ChampionsRoom_EventScript_228A45
@@ -54,16 +54,16 @@ EverGrandeCity_ChampionsRoom_EventScript_228A61:: @ 8228A61
playse SE_DOOR
checkplayergender
compare VAR_RESULT, 0
- call_if 1, EverGrandeCity_ChampionsRoom_EventScript_228ABC
+ call_if_eq EverGrandeCity_ChampionsRoom_EventScript_228ABC
compare VAR_RESULT, 1
- call_if 1, EverGrandeCity_ChampionsRoom_EventScript_228AC1
+ call_if_eq EverGrandeCity_ChampionsRoom_EventScript_228AC1
addobject 2
call EverGrandeCity_ChampionsRoom_EventScript_228BFD
checkplayergender
compare VAR_RESULT, 0
- goto_eq EverGrandeCity_ChampionsRoom_EventScript_228AC6
+ goto_if_eq EverGrandeCity_ChampionsRoom_EventScript_228AC6
compare VAR_RESULT, 1
- goto_eq EverGrandeCity_ChampionsRoom_EventScript_228AFB
+ goto_if_eq EverGrandeCity_ChampionsRoom_EventScript_228AFB
end
EverGrandeCity_ChampionsRoom_EventScript_228ABC:: @ 8228ABC
@@ -105,7 +105,7 @@ EverGrandeCity_ChampionsRoom_EventScript_228B30:: @ 8228B30
addobject 3
applymovement 3, EverGrandeCity_ChampionsRoom_Movement_228C43
waitmovement 0
- applymovement 255, EverGrandeCity_ChampionsRoom_Movement_2725A8
+ applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_2725A8
waitmovement 0
msgbox EverGrandeCity_ChampionsRoom_Text_2291E6, MSGBOX_DEFAULT
call EverGrandeCity_ChampionsRoom_EventScript_272184
@@ -119,22 +119,22 @@ EverGrandeCity_ChampionsRoom_EventScript_228B30:: @ 8228B30
closemessage
delay 30
applymovement 1, EverGrandeCity_ChampionsRoom_Movement_228C3B
- applymovement 255, EverGrandeCity_ChampionsRoom_Movement_228C1D
+ applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_228C1D
applymovement 3, EverGrandeCity_ChampionsRoom_Movement_2725A6
applymovement 2, EverGrandeCity_ChampionsRoom_Movement_228C38
waitmovement 0
delay 20
- applymovement 255, EverGrandeCity_ChampionsRoom_Movement_2725AA
+ applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_2725AA
waitmovement 0
msgbox EverGrandeCity_ChampionsRoom_Text_2293EB, MSGBOX_DEFAULT
checkplayergender
compare VAR_RESULT, 0
- call_if 1, EverGrandeCity_ChampionsRoom_EventScript_228BEB
+ call_if_eq EverGrandeCity_ChampionsRoom_EventScript_228BEB
compare VAR_RESULT, 1
- call_if 1, EverGrandeCity_ChampionsRoom_EventScript_228BF4
+ call_if_eq EverGrandeCity_ChampionsRoom_EventScript_228BF4
closemessage
applymovement 1, EverGrandeCity_ChampionsRoom_Movement_228C3F
- applymovement 255, EverGrandeCity_ChampionsRoom_Movement_228C20
+ applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_228C20
waitmovement 0
setflag FLAG_HIDE_PETALBURG_GYM_GREETER
warp MAP_EVER_GRANDE_CITY_HALL_OF_FAME, 255, 7, 16
@@ -153,7 +153,7 @@ EverGrandeCity_ChampionsRoom_EventScript_228BF4:: @ 8228BF4
EverGrandeCity_ChampionsRoom_EventScript_228BFD:: @ 8228BFD
applymovement 2, EverGrandeCity_ChampionsRoom_Movement_228C26
waitmovement 0
- applymovement 255, EverGrandeCity_ChampionsRoom_Movement_2725A4
+ applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_ChampionsRoom_Movement_2725A4
waitmovement 0
return
diff --git a/data/maps/EverGrandeCity_DrakesRoom/scripts.inc b/data/maps/EverGrandeCity_DrakesRoom/scripts.inc
index b50e715aa..06dd58d26 100644
--- a/data/maps/EverGrandeCity_DrakesRoom/scripts.inc
+++ b/data/maps/EverGrandeCity_DrakesRoom/scripts.inc
@@ -9,7 +9,7 @@ EverGrandeCity_DrakesRoom_MapScript2_2286AC: @ 82286AC
.2byte 0
EverGrandeCity_DrakesRoom_EventScript_2286B6:: @ 82286B6
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
end
EverGrandeCity_DrakesRoom_MapScript2_2286BB: @ 82286BB
@@ -24,10 +24,9 @@ EverGrandeCity_DrakesRoom_EventScript_2286C5:: @ 82286C5
end
EverGrandeCity_DrakesRoom_MapScript1_2286D2: @ 82286D2
- checkflag FLAG_0x4FE
- call_if 1, EverGrandeCity_DrakesRoom_EventScript_2286E7
+ call_if_set FLAG_0x4FE, EverGrandeCity_DrakesRoom_EventScript_2286E7
compare VAR_0x409C, 4
- call_if 1, EverGrandeCity_DrakesRoom_EventScript_2286ED
+ call_if_eq EverGrandeCity_DrakesRoom_EventScript_2286ED
end
EverGrandeCity_DrakesRoom_EventScript_2286E7:: @ 82286E7
@@ -41,8 +40,7 @@ EverGrandeCity_DrakesRoom_EventScript_2286ED:: @ 82286ED
EverGrandeCity_DrakesRoom_EventScript_2286F3:: @ 82286F3
lock
faceplayer
- checkflag FLAG_0x4FE
- goto_eq EverGrandeCity_DrakesRoom_EventScript_22871A
+ goto_if_set FLAG_0x4FE, EverGrandeCity_DrakesRoom_EventScript_22871A
playbgm MUS_SITENNOU, 0
msgbox EverGrandeCity_DrakesRoom_Text_22873E, MSGBOX_DEFAULT
trainerbattle_no_intro TRAINER_DRAKE, EverGrandeCity_DrakesRoom_Text_228895
diff --git a/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc b/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc
index 141881cf9..641c994a5 100644
--- a/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc
+++ b/data/maps/EverGrandeCity_GlaciasRoom/scripts.inc
@@ -9,7 +9,7 @@ EverGrandeCity_GlaciasRoom_MapScript2_228422: @ 8228422
.2byte 0
EverGrandeCity_GlaciasRoom_EventScript_22842C:: @ 822842C
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
end
EverGrandeCity_GlaciasRoom_MapScript2_228431: @ 8228431
@@ -24,10 +24,9 @@ EverGrandeCity_GlaciasRoom_EventScript_22843B:: @ 822843B
end
EverGrandeCity_GlaciasRoom_MapScript1_228448: @ 8228448
- checkflag FLAG_0x4FD
- call_if 1, EverGrandeCity_GlaciasRoom_EventScript_22845D
+ call_if_set FLAG_0x4FD, EverGrandeCity_GlaciasRoom_EventScript_22845D
compare VAR_0x409C, 3
- call_if 1, EverGrandeCity_GlaciasRoom_EventScript_228463
+ call_if_eq EverGrandeCity_GlaciasRoom_EventScript_228463
end
EverGrandeCity_GlaciasRoom_EventScript_22845D:: @ 822845D
@@ -41,8 +40,7 @@ EverGrandeCity_GlaciasRoom_EventScript_228463:: @ 8228463
EverGrandeCity_GlaciasRoom_EventScript_228469:: @ 8228469
lock
faceplayer
- checkflag FLAG_0x4FD
- goto_eq EverGrandeCity_GlaciasRoom_EventScript_228490
+ goto_if_set FLAG_0x4FD, EverGrandeCity_GlaciasRoom_EventScript_228490
playbgm MUS_SITENNOU, 0
msgbox EverGrandeCity_GlaciasRoom_Text_2284AC, MSGBOX_DEFAULT
trainerbattle_no_intro TRAINER_GLACIA, EverGrandeCity_GlaciasRoom_Text_2285B4
diff --git a/data/maps/EverGrandeCity_Hall1/scripts.inc b/data/maps/EverGrandeCity_Hall1/scripts.inc
index 960918662..a5b7764d7 100644
--- a/data/maps/EverGrandeCity_Hall1/scripts.inc
+++ b/data/maps/EverGrandeCity_Hall1/scripts.inc
@@ -7,6 +7,6 @@ EverGrandeCity_Hall1_MapScript2_22956F: @ 822956F
.2byte 0
EverGrandeCity_Hall1_EventScript_229579:: @ 8229579
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
end
diff --git a/data/maps/EverGrandeCity_Hall2/scripts.inc b/data/maps/EverGrandeCity_Hall2/scripts.inc
index 1d76e3695..565d68168 100644
--- a/data/maps/EverGrandeCity_Hall2/scripts.inc
+++ b/data/maps/EverGrandeCity_Hall2/scripts.inc
@@ -7,6 +7,6 @@ EverGrandeCity_Hall2_MapScript2_229584: @ 8229584
.2byte 0
EverGrandeCity_Hall2_EventScript_22958E:: @ 822958E
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
end
diff --git a/data/maps/EverGrandeCity_Hall3/scripts.inc b/data/maps/EverGrandeCity_Hall3/scripts.inc
index a100487f5..85d0bb2f6 100644
--- a/data/maps/EverGrandeCity_Hall3/scripts.inc
+++ b/data/maps/EverGrandeCity_Hall3/scripts.inc
@@ -7,6 +7,6 @@ EverGrandeCity_Hall3_MapScript2_229599: @ 8229599
.2byte 0
EverGrandeCity_Hall3_EventScript_2295A3:: @ 82295A3
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
end
diff --git a/data/maps/EverGrandeCity_Hall4/scripts.inc b/data/maps/EverGrandeCity_Hall4/scripts.inc
index a7c730594..29f56829a 100644
--- a/data/maps/EverGrandeCity_Hall4/scripts.inc
+++ b/data/maps/EverGrandeCity_Hall4/scripts.inc
@@ -7,6 +7,6 @@ EverGrandeCity_Hall4_MapScript2_2295AE: @ 82295AE
.2byte 0
EverGrandeCity_Hall4_EventScript_2295B8:: @ 82295B8
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
end
diff --git a/data/maps/EverGrandeCity_Hall5/scripts.inc b/data/maps/EverGrandeCity_Hall5/scripts.inc
index 9ca9991e4..d492c28d2 100644
--- a/data/maps/EverGrandeCity_Hall5/scripts.inc
+++ b/data/maps/EverGrandeCity_Hall5/scripts.inc
@@ -7,6 +7,6 @@ EverGrandeCity_Hall5_MapScript2_2295C3: @ 82295C3
.2byte 0
EverGrandeCity_Hall5_EventScript_2295CD:: @ 82295CD
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
end
diff --git a/data/maps/EverGrandeCity_HallOfFame/scripts.inc b/data/maps/EverGrandeCity_HallOfFame/scripts.inc
index 2a871e18f..9b9bdb5d6 100644
--- a/data/maps/EverGrandeCity_HallOfFame/scripts.inc
+++ b/data/maps/EverGrandeCity_HallOfFame/scripts.inc
@@ -8,7 +8,7 @@ EverGrandeCity_HallOfFame_MapScript2_229837: @ 8229837
.2byte 0
EverGrandeCity_HallOfFame_EventScript_229841:: @ 8229841
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
end
EverGrandeCity_HallOfFame_MapScript2_229846: @ 8229846
@@ -18,24 +18,24 @@ EverGrandeCity_HallOfFame_MapScript2_229846: @ 8229846
EverGrandeCity_HallOfFame_EventScript_229850:: @ 8229850
lockall
applymovement 1, EverGrandeCity_HallOfFame_Movement_229901
- applymovement 255, EverGrandeCity_HallOfFame_Movement_229901
+ applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_HallOfFame_Movement_229901
waitmovement 0
applymovement 1, EverGrandeCity_HallOfFame_Movement_2725A8
- applymovement 255, EverGrandeCity_HallOfFame_Movement_2725A4
+ applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_HallOfFame_Movement_2725A4
waitmovement 0
msgbox EverGrandeCity_HallOfFame_Text_22990E, MSGBOX_DEFAULT
closemessage
applymovement 1, EverGrandeCity_HallOfFame_Movement_229908
- applymovement 255, EverGrandeCity_HallOfFame_Movement_229908
+ applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_HallOfFame_Movement_229908
waitmovement 0
delay 20
applymovement 1, EverGrandeCity_HallOfFame_Movement_2725A8
- applymovement 255, EverGrandeCity_HallOfFame_Movement_2725A4
+ applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_HallOfFame_Movement_2725A4
waitmovement 0
msgbox EverGrandeCity_HallOfFame_Text_2299A3, MSGBOX_DEFAULT
closemessage
applymovement 1, EverGrandeCity_HallOfFame_Movement_2725A6
- applymovement 255, EverGrandeCity_HallOfFame_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_HallOfFame_Movement_2725A6
waitmovement 0
delay 20
dofieldeffect 62
@@ -45,9 +45,9 @@ EverGrandeCity_HallOfFame_EventScript_229850:: @ 8229850
call EverGrandeCity_HallOfFame_EventScript_2717C1
checkplayergender
compare VAR_RESULT, 0
- goto_eq EverGrandeCity_HallOfFame_EventScript_2298E9
+ goto_if_eq EverGrandeCity_HallOfFame_EventScript_2298E9
compare VAR_RESULT, 1
- goto_eq EverGrandeCity_HallOfFame_EventScript_2298F5
+ goto_if_eq EverGrandeCity_HallOfFame_EventScript_2298F5
end
EverGrandeCity_HallOfFame_EventScript_2298E9:: @ 82298E9
diff --git a/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc b/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc
index 165c985ac..84ead3766 100644
--- a/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc
+++ b/data/maps/EverGrandeCity_PhoebesRoom/scripts.inc
@@ -9,7 +9,7 @@ EverGrandeCity_PhoebesRoom_MapScript2_228184: @ 8228184
.2byte 0
EverGrandeCity_PhoebesRoom_EventScript_22818E:: @ 822818E
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
end
EverGrandeCity_PhoebesRoom_MapScript2_228193: @ 8228193
@@ -24,10 +24,9 @@ EverGrandeCity_PhoebesRoom_EventScript_22819D:: @ 822819D
end
EverGrandeCity_PhoebesRoom_MapScript1_2281AA: @ 82281AA
- checkflag FLAG_0x4FC
- call_if 1, EverGrandeCity_PhoebesRoom_EventScript_2281BF
+ call_if_set FLAG_0x4FC, EverGrandeCity_PhoebesRoom_EventScript_2281BF
compare VAR_0x409C, 2
- call_if 1, EverGrandeCity_PhoebesRoom_EventScript_2281C5
+ call_if_eq EverGrandeCity_PhoebesRoom_EventScript_2281C5
end
EverGrandeCity_PhoebesRoom_EventScript_2281BF:: @ 82281BF
@@ -41,8 +40,7 @@ EverGrandeCity_PhoebesRoom_EventScript_2281C5:: @ 82281C5
EverGrandeCity_PhoebesRoom_EventScript_2281CB:: @ 82281CB
lock
faceplayer
- checkflag FLAG_0x4FC
- goto_eq EverGrandeCity_PhoebesRoom_EventScript_2281F2
+ goto_if_set FLAG_0x4FC, EverGrandeCity_PhoebesRoom_EventScript_2281F2
playbgm MUS_SITENNOU, 0
msgbox EverGrandeCity_PhoebesRoom_Text_22820E, MSGBOX_DEFAULT
trainerbattle_no_intro TRAINER_PHOEBE, EverGrandeCity_PhoebesRoom_Text_228325
diff --git a/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc b/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc
index 3fb16a5ab..c029571d0 100644
--- a/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc
+++ b/data/maps/EverGrandeCity_PokemonCenter_1F/scripts.inc
@@ -5,13 +5,11 @@ EverGrandeCity_PokemonCenter_1F_MapScripts:: @ 8229A34
EverGrandeCity_PokemonCenter_1F_MapScript1_229A3F: @ 8229A3F
setrespawn HEAL_LOCATION_EVER_GRANDE_CITY_1
- checkflag FLAG_0x1CF
- call_if 0, EverGrandeCity_PokemonCenter_1F_EventScript_229A4C
+ call_if_unset FLAG_0x1CF, EverGrandeCity_PokemonCenter_1F_EventScript_229A4C
end
EverGrandeCity_PokemonCenter_1F_EventScript_229A4C:: @ 8229A4C
- checkflag FLAG_BADGE06_GET
- goto_if 0, EverGrandeCity_PokemonCenter_1F_EventScript_27374E
+ goto_if_unset FLAG_BADGE06_GET, EverGrandeCity_PokemonCenter_1F_EventScript_27374E
clearflag FLAG_HIDE_EVER_GRANDE_POKEMON_CENTER_1F_SCOTT
return
@@ -37,11 +35,11 @@ EverGrandeCity_PokemonCenter_1F_EventScript_229A79:: @ 8229A79
msgbox EverGrandeCity_PokemonCenter_1F_Text_229BF1, MSGBOX_DEFAULT
closemessage
compare VAR_FACING, 2
- call_if 1, EverGrandeCity_PokemonCenter_1F_EventScript_229AB6
+ call_if_eq EverGrandeCity_PokemonCenter_1F_EventScript_229AB6
compare VAR_FACING, 4
- call_if 1, EverGrandeCity_PokemonCenter_1F_EventScript_229AC1
+ call_if_eq EverGrandeCity_PokemonCenter_1F_EventScript_229AC1
compare VAR_FACING, 3
- call_if 1, EverGrandeCity_PokemonCenter_1F_EventScript_229AC1
+ call_if_eq EverGrandeCity_PokemonCenter_1F_EventScript_229AC1
addvar VAR_0x40D1, 1
setflag FLAG_0x1CF
playse SE_KAIDAN
diff --git a/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc b/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc
index 0f3f6c33e..9b9c561eb 100644
--- a/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc
+++ b/data/maps/EverGrandeCity_PokemonLeague_1F/scripts.inc
@@ -6,8 +6,7 @@ EverGrandeCity_PokemonLeague_1F_MapScripts:: @ 82295D2
EverGrandeCity_PokemonLeague_1F_MapScript1_2295DD: @ 82295DD
setrespawn HEAL_LOCATION_EVER_GRANDE_CITY_2
setflag FLAG_LANDMARK_POKEMON_LEAGUE
- checkflag FLAG_0x107
- call_if 0, EverGrandeCity_PokemonLeague_1F_EventScript_2295ED
+ call_if_unset FLAG_0x107, EverGrandeCity_PokemonLeague_1F_EventScript_2295ED
end
EverGrandeCity_PokemonLeague_1F_EventScript_2295ED:: @ 82295ED
@@ -48,18 +47,16 @@ EverGrandeCity_PokemonLeague_1F_Pokemart_229624: @ 8229624
EverGrandeCity_PokemonLeague_1F_EventScript_229636:: @ 8229636
lockall
- checkflag FLAG_0x107
- goto_eq EverGrandeCity_PokemonLeague_1F_EventScript_2296BB
+ goto_if_set FLAG_0x107, EverGrandeCity_PokemonLeague_1F_EventScript_2296BB
getplayerxy VAR_TEMP_0, VAR_TEMP_1
compare VAR_TEMP_0, 11
- call_if 4, EverGrandeCity_PokemonLeague_1F_EventScript_229698
+ call_if_ge EverGrandeCity_PokemonLeague_1F_EventScript_229698
compare VAR_TEMP_0, 8
- call_if 3, EverGrandeCity_PokemonLeague_1F_EventScript_2296A3
+ call_if_le EverGrandeCity_PokemonLeague_1F_EventScript_2296A3
message EverGrandeCity_PokemonLeague_1F_Text_2296E8
waitmessage
delay 120
- checkflag FLAG_BADGE06_GET
- goto_if 0, EverGrandeCity_PokemonLeague_1F_EventScript_2296AE
+ goto_if_unset FLAG_BADGE06_GET, EverGrandeCity_PokemonLeague_1F_EventScript_2296AE
closemessage
applymovement 3, EverGrandeCity_PokemonLeague_1F_Movement_2296E2
applymovement 4, EverGrandeCity_PokemonLeague_1F_Movement_2296E5
@@ -77,12 +74,12 @@ EverGrandeCity_PokemonLeague_1F_EventScript_229636:: @ 8229636
end
EverGrandeCity_PokemonLeague_1F_EventScript_229698:: @ 8229698
- applymovement 255, EverGrandeCity_PokemonLeague_1F_Movement_2296DA
+ applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_PokemonLeague_1F_Movement_2296DA
waitmovement 0
return
EverGrandeCity_PokemonLeague_1F_EventScript_2296A3:: @ 82296A3
- applymovement 255, EverGrandeCity_PokemonLeague_1F_Movement_2296DE
+ applymovement EVENT_OBJ_ID_PLAYER, EverGrandeCity_PokemonLeague_1F_Movement_2296DE
waitmovement 0
return
diff --git a/data/maps/EverGrandeCity_SidneysRoom/scripts.inc b/data/maps/EverGrandeCity_SidneysRoom/scripts.inc
index b283f166e..8324e19cf 100644
--- a/data/maps/EverGrandeCity_SidneysRoom/scripts.inc
+++ b/data/maps/EverGrandeCity_SidneysRoom/scripts.inc
@@ -11,10 +11,9 @@ EverGrandeCity_SidneysRoom_MapScript1_227F16: @ 8227F16
end
EverGrandeCity_SidneysRoom_MapScript1_227F1D: @ 8227F1D
- checkflag FLAG_0x4FB
- call_if 1, EverGrandeCity_SidneysRoom_EventScript_227F32
+ call_if_set FLAG_0x4FB, EverGrandeCity_SidneysRoom_EventScript_227F32
compare VAR_0x409C, 1
- call_if 1, EverGrandeCity_SidneysRoom_EventScript_227F38
+ call_if_eq EverGrandeCity_SidneysRoom_EventScript_227F38
end
EverGrandeCity_SidneysRoom_EventScript_227F32:: @ 8227F32
@@ -31,7 +30,7 @@ EverGrandeCity_SidneysRoom_MapScript2_227F3E: @ 8227F3E
.2byte 0
EverGrandeCity_SidneysRoom_EventScript_227F48:: @ 8227F48
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
end
EverGrandeCity_SidneysRoom_MapScript2_227F4D: @ 8227F4D
@@ -48,8 +47,7 @@ EverGrandeCity_SidneysRoom_EventScript_227F57:: @ 8227F57
EverGrandeCity_SidneysRoom_EventScript_227F64:: @ 8227F64
lock
faceplayer
- checkflag FLAG_0x4FB
- goto_eq EverGrandeCity_SidneysRoom_EventScript_227F8B
+ goto_if_set FLAG_0x4FB, EverGrandeCity_SidneysRoom_EventScript_227F8B
playbgm MUS_SITENNOU, 0
msgbox EverGrandeCity_SidneysRoom_Text_227FA7, MSGBOX_DEFAULT
trainerbattle_no_intro TRAINER_SIDNEY, EverGrandeCity_SidneysRoom_Text_2280A2
diff --git a/data/maps/FallarborTown/scripts.inc b/data/maps/FallarborTown/scripts.inc
index 7a9d0b444..7b157c5f3 100644
--- a/data/maps/FallarborTown/scripts.inc
+++ b/data/maps/FallarborTown/scripts.inc
@@ -11,8 +11,7 @@ FallarborTown_MapScript1_1EB200: @ 81EB200
FallarborTown_EventScript_1EB20C:: @ 81EB20C
lock
faceplayer
- checkflag FLAG_0x08B
- goto_eq FallarborTown_EventScript_1EB221
+ goto_if_set FLAG_0x08B, FallarborTown_EventScript_1EB221
msgbox FallarborTown_Text_1EB26B, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc b/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc
index f3e1edbbf..a81bf991c 100644
--- a/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc
+++ b/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc
@@ -11,9 +11,9 @@ FallarborTown_BattleTentBattleRoom_MapScript1_2008A9: @ 82008A9
FallarborTown_BattleTentBattleRoom_EventScript_2008AF:: @ 82008AF
checkplayergender
compare VAR_RESULT, 0
- goto_eq FallarborTown_BattleTentBattleRoom_EventScript_2008C7
+ goto_if_eq FallarborTown_BattleTentBattleRoom_EventScript_2008C7
compare VAR_RESULT, 1
- goto_eq FallarborTown_BattleTentBattleRoom_EventScript_2008D2
+ goto_if_eq FallarborTown_BattleTentBattleRoom_EventScript_2008D2
return
FallarborTown_BattleTentBattleRoom_EventScript_2008C7:: @ 82008C7
@@ -39,7 +39,7 @@ FallarborTown_BattleTentBattleRoom_EventScript_2008E7:: @ 82008E7
setvar VAR_0x8005, 2
special CallFrontierUtilFunc
compare VAR_RESULT, 0
- goto_if 5, FallarborTown_BattleTentBattleRoom_EventScript_200B73
+ goto_if_ne FallarborTown_BattleTentBattleRoom_EventScript_200B73
FallarborTown_BattleTentBattleRoom_EventScript_20090F:: @ 820090F
setvar VAR_0x8004, 3
@@ -117,9 +117,9 @@ FallarborTown_BattleTentBattleRoom_EventScript_200A2A:: @ 8200A2A
setvar VAR_0x8005, 2
special CallFrontierUtilFunc
compare VAR_RESULT, 1
- call_if 1, FallarborTown_BattleTentBattleRoom_EventScript_200B43
+ call_if_eq FallarborTown_BattleTentBattleRoom_EventScript_200B43
compare VAR_RESULT, 2
- call_if 1, FallarborTown_BattleTentBattleRoom_EventScript_200B4A
+ call_if_eq FallarborTown_BattleTentBattleRoom_EventScript_200B4A
multichoice 20, 6, 104, 1
switch VAR_RESULT
case 0, FallarborTown_BattleTentBattleRoom_EventScript_200AD8
@@ -164,7 +164,7 @@ FallarborTown_BattleTentBattleRoom_EventScript_200AF3:: @ 8200AF3
setvar VAR_0x8005, 1
special CallBattleArenaFunction
compare VAR_RESULT, 9999
- goto_eq FallarborTown_BattleTentBattleRoom_EventScript_2009B3
+ goto_if_eq FallarborTown_BattleTentBattleRoom_EventScript_2009B3
addvar VAR_RESULT, 1
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
@@ -260,7 +260,7 @@ FallarborTown_BattleTentBattleRoom_MapScript2_200BB0: @ 8200BB0
.2byte 0
FallarborTown_BattleTentBattleRoom_EventScript_200BBA:: @ 8200BBA
- hideobjectat 255, MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM
+ hideobjectat EVENT_OBJ_ID_PLAYER, MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM
hideobjectat 1, MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM
removeobject 3
setvar VAR_TEMP_1, 1
diff --git a/data/maps/FallarborTown_BattleTentCorridor/scripts.inc b/data/maps/FallarborTown_BattleTentCorridor/scripts.inc
index d21216208..f3d0a924e 100644
--- a/data/maps/FallarborTown_BattleTentCorridor/scripts.inc
+++ b/data/maps/FallarborTown_BattleTentCorridor/scripts.inc
@@ -10,12 +10,12 @@ FallarborTown_BattleTentCorridor_EventScript_2006B7:: @ 82006B7
lockall
setvar VAR_TEMP_0, 1
applymovement 1, FallarborTown_BattleTentCorridor_Movement_2006FB
- applymovement 255, FallarborTown_BattleTentCorridor_Movement_2006FB
+ applymovement EVENT_OBJ_ID_PLAYER, FallarborTown_BattleTentCorridor_Movement_2006FB
waitmovement 0
opendoor 2, 1
waitdooranim
applymovement 1, FallarborTown_BattleTentCorridor_Movement_200701
- applymovement 255, FallarborTown_BattleTentCorridor_Movement_200700
+ applymovement EVENT_OBJ_ID_PLAYER, FallarborTown_BattleTentCorridor_Movement_200700
waitmovement 0
closedoor 2, 1
waitdooranim
diff --git a/data/maps/FallarborTown_BattleTentLobby/scripts.inc b/data/maps/FallarborTown_BattleTentLobby/scripts.inc
index aed9aa93f..cfc468994 100644
--- a/data/maps/FallarborTown_BattleTentLobby/scripts.inc
+++ b/data/maps/FallarborTown_BattleTentLobby/scripts.inc
@@ -9,7 +9,7 @@ FallarborTown_BattleTentLobby_MapScript2_1FFE71: @ 81FFE71
FallarborTown_BattleTentLobby_EventScript_1FFE7B:: @ 81FFE7B
setvar VAR_TEMP_1, 1
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
end
FallarborTown_BattleTentLobby_MapScript2_1FFE85: @ 81FFE85
@@ -133,7 +133,7 @@ FallarborTown_BattleTentLobby_EventScript_200001:: @ 8200001
setvar VAR_0x8004, 1
special sub_81B9B80
compare VAR_RESULT, 0
- goto_if 5, FallarborTown_BattleTentLobby_EventScript_1FFF84
+ goto_if_ne FallarborTown_BattleTentLobby_EventScript_1FFF84
special SavePlayerParty
msgbox FallarborTown_BattleTentLobby_Text_2C47EB, MSGBOX_DEFAULT
@@ -154,7 +154,7 @@ FallarborTown_BattleTentLobby_EventScript_20005D:: @ 820005D
setvar VAR_0x8004, 15
special CallFrontierUtilFunc
compare VAR_0x8004, 1
- goto_eq FallarborTown_BattleTentLobby_EventScript_200176
+ goto_if_eq FallarborTown_BattleTentLobby_EventScript_200176
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
setvar VAR_0x8006, 2
@@ -166,7 +166,7 @@ FallarborTown_BattleTentLobby_EventScript_20005D:: @ 820005D
special sub_80F9490
waitstate
compare VAR_RESULT, 0
- goto_eq FallarborTown_BattleTentLobby_EventScript_2001C2
+ goto_if_eq FallarborTown_BattleTentLobby_EventScript_2001C2
msgbox FallarborTown_BattleTentLobby_Text_2C4B35, MSGBOX_YESNO
switch VAR_RESULT
case 0, FallarborTown_BattleTentLobby_EventScript_2001C2
@@ -194,7 +194,7 @@ FallarborTown_BattleTentLobby_EventScript_2000E2:: @ 82000E2
call FallarborTown_BattleTentLobby_EventScript_27134F
setvar VAR_TEMP_0, 255
compare VAR_RESULT, 0
- goto_eq FallarborTown_BattleTentLobby_EventScript_2001AB
+ goto_if_eq FallarborTown_BattleTentLobby_EventScript_2001AB
FallarborTown_BattleTentLobby_EventScript_20013C:: @ 820013C
special SavePlayerParty
@@ -245,12 +245,12 @@ FallarborTown_BattleTentLobby_EventScript_2001CD:: @ 82001CD
FallarborTown_BattleTentLobby_EventScript_2001CF:: @ 82001CF
applymovement 1, FallarborTown_BattleTentLobby_Movement_2001FE
- applymovement 255, FallarborTown_BattleTentLobby_Movement_200205
+ applymovement EVENT_OBJ_ID_PLAYER, FallarborTown_BattleTentLobby_Movement_200205
waitmovement 0
opendoor 6, 1
waitdooranim
applymovement 1, FallarborTown_BattleTentLobby_Movement_200202
- applymovement 255, FallarborTown_BattleTentLobby_Movement_200209
+ applymovement EVENT_OBJ_ID_PLAYER, FallarborTown_BattleTentLobby_Movement_200209
waitmovement 0
closedoor 6, 1
waitdooranim
@@ -294,8 +294,7 @@ FallarborTown_BattleTentLobby_EventScript_20021F:: @ 820021F
FallarborTown_BattleTentLobby_EventScript_200228:: @ 8200228
lock
faceplayer
- checkflag FLAG_0x1CD
- goto_eq FallarborTown_BattleTentLobby_EventScript_200245
+ goto_if_set FLAG_0x1CD, FallarborTown_BattleTentLobby_EventScript_200245
msgbox FallarborTown_BattleTentLobby_Text_200501, MSGBOX_DEFAULT
addvar VAR_0x40D1, 1
setflag FLAG_0x1CD
diff --git a/data/maps/FallarborTown_House1/scripts.inc b/data/maps/FallarborTown_House1/scripts.inc
index 470d80267..699f5e4ed 100644
--- a/data/maps/FallarborTown_House1/scripts.inc
+++ b/data/maps/FallarborTown_House1/scripts.inc
@@ -4,26 +4,23 @@ FallarborTown_House1_MapScripts:: @ 8200F12
FallarborTown_House1_EventScript_200F13:: @ 8200F13
lock
faceplayer
- checkflag FLAG_0x0E5
- goto_eq FallarborTown_House1_EventScript_200FB2
+ goto_if_set FLAG_0x0E5, FallarborTown_House1_EventScript_200FB2
checkitem ITEM_METEORITE, 1
compare VAR_RESULT, 1
- goto_eq FallarborTown_House1_EventScript_200F38
+ goto_if_eq FallarborTown_House1_EventScript_200F38
msgbox FallarborTown_House1_Text_200FEE, MSGBOX_DEFAULT
release
end
FallarborTown_House1_EventScript_200F38:: @ 8200F38
- checkflag FLAG_TEMP_2
- call_if 0, FallarborTown_House1_EventScript_200F8B
- checkflag FLAG_TEMP_2
- call_if 1, FallarborTown_House1_EventScript_200F9C
+ 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_eq FallarborTown_House1_EventScript_200FA5
+ goto_if_eq FallarborTown_House1_EventScript_200FA5
msgbox FallarborTown_House1_Text_201159, MSGBOX_DEFAULT
giveitem_std ITEM_TM27
compare VAR_RESULT, 0
- goto_eq FallarborTown_House1_EventScript_272054
+ goto_if_eq FallarborTown_House1_EventScript_272054
setvar VAR_0x8004, 280
call FallarborTown_House1_EventScript_2723E4
setflag FLAG_0x0E5
@@ -54,10 +51,8 @@ FallarborTown_House1_EventScript_200FB2:: @ 8200FB2
FallarborTown_House1_EventScript_200FBC:: @ 8200FBC
lock
faceplayer
- checkflag FLAG_0x0E5
- goto_eq FallarborTown_House1_EventScript_200FE4
- checkflag FLAG_0x08B
- goto_eq FallarborTown_House1_EventScript_200FDA
+ goto_if_set FLAG_0x0E5, FallarborTown_House1_EventScript_200FE4
+ goto_if_set FLAG_0x08B, FallarborTown_House1_EventScript_200FDA
msgbox FallarborTown_House1_Text_2012BC, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/FallarborTown_House2/scripts.inc b/data/maps/FallarborTown_House2/scripts.inc
index 2fddd2fd4..962c4f64e 100644
--- a/data/maps/FallarborTown_House2/scripts.inc
+++ b/data/maps/FallarborTown_House2/scripts.inc
@@ -5,8 +5,7 @@ FallarborTown_House2_EventScript_201383:: @ 8201383
lockall
applymovement 1, FallarborTown_House2_Movement_27259E
waitmovement 0
- checkflag FLAG_TEMP_1
- goto_eq FallarborTown_House2_EventScript_2013A8
+ 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
@@ -15,7 +14,7 @@ FallarborTown_House2_EventScript_201383:: @ 8201383
FallarborTown_House2_EventScript_2013A8:: @ 82013A8
checkitem ITEM_HEART_SCALE, 1
compare VAR_RESULT, 0
- goto_eq FallarborTown_House2_EventScript_201452
+ goto_if_eq FallarborTown_House2_EventScript_201452
msgbox FallarborTown_House2_Text_201541, MSGBOX_YESNO
switch VAR_RESULT
case 0, FallarborTown_House2_EventScript_201452
@@ -27,12 +26,12 @@ FallarborTown_House2_EventScript_2013D6:: @ 82013D6
special sub_81B951C
waitstate
compare VAR_0x8004, 255
- goto_eq FallarborTown_House2_EventScript_201452
+ goto_if_eq FallarborTown_House2_EventScript_201452
special sub_81B98DC
compare VAR_RESULT, 1
- goto_eq FallarborTown_House2_EventScript_201444
+ goto_if_eq FallarborTown_House2_EventScript_201444
compare VAR_0x8005, 0
- goto_eq FallarborTown_House2_EventScript_201436
+ goto_if_eq FallarborTown_House2_EventScript_201436
goto FallarborTown_House2_EventScript_20140C
end
@@ -41,7 +40,7 @@ FallarborTown_House2_EventScript_20140C:: @ 820140C
special TeachMoveTutorMove
waitstate
compare VAR_0x8004, 0
- goto_eq FallarborTown_House2_EventScript_2013D6
+ goto_if_eq FallarborTown_House2_EventScript_2013D6
msgbox FallarborTown_House2_Text_201627, MSGBOX_DEFAULT
takeitem ITEM_HEART_SCALE, 1
goto FallarborTown_House2_EventScript_201452
diff --git a/data/maps/FarawayIsland_Entrance/scripts.inc b/data/maps/FarawayIsland_Entrance/scripts.inc
index 1fd5fdd35..8661c4c52 100644
--- a/data/maps/FarawayIsland_Entrance/scripts.inc
+++ b/data/maps/FarawayIsland_Entrance/scripts.inc
@@ -7,12 +7,12 @@ FarawayIsland_Entrance_MapScript1_267C94: @ 8267C94
end
FarawayIsland_Entrance_EventScript_267C98:: @ 8267C98
- setweather 1
+ setweather WEATHER_CLOUDS
doweather
end
FarawayIsland_Entrance_EventScript_267C9D:: @ 8267C9D
- setweather 0
+ setweather WEATHER_NONE
doweather
end
@@ -21,7 +21,7 @@ FarawayIsland_Entrance_EventScript_267CA2:: @ 8267CA2
faceplayer
msgbox FarawayIsland_Entrance_Text_2C6B42, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq FarawayIsland_Entrance_EventScript_267CE7
+ goto_if_eq FarawayIsland_Entrance_EventScript_267CE7
msgbox FarawayIsland_Entrance_Text_2A6A5D, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, FarawayIsland_Entrance_Movement_2725AA
diff --git a/data/maps/FarawayIsland_Interior/scripts.inc b/data/maps/FarawayIsland_Interior/scripts.inc
index 7b62ab578..55fd591e2 100644
--- a/data/maps/FarawayIsland_Interior/scripts.inc
+++ b/data/maps/FarawayIsland_Interior/scripts.inc
@@ -6,20 +6,19 @@ FarawayIsland_Interior_MapScripts:: @ 8267CFA
.byte 0
FarawayIsland_Interior_MapScript1_267D0F: @ 8267D0F
- checkflag FLAG_SYS_CTRL_OBJ_DELETE
- call_if 1, FarawayIsland_Interior_EventScript_267D19
+ 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
- goto_eq FarawayIsland_Interior_EventScript_267D4B
+ goto_if_eq FarawayIsland_Interior_EventScript_267D4B
compare VAR_RESULT, 4
- goto_eq FarawayIsland_Interior_EventScript_267D4B
+ goto_if_eq FarawayIsland_Interior_EventScript_267D4B
compare VAR_RESULT, 5
- goto_eq FarawayIsland_Interior_EventScript_267D4B
+ goto_if_eq FarawayIsland_Interior_EventScript_267D4B
compare VAR_RESULT, 10
- goto_eq FarawayIsland_Interior_EventScript_267D4B
+ goto_if_eq FarawayIsland_Interior_EventScript_267D4B
return
FarawayIsland_Interior_EventScript_267D4B:: @ 8267D4B
@@ -28,27 +27,24 @@ FarawayIsland_Interior_EventScript_267D4B:: @ 8267D4B
return
FarawayIsland_Interior_MapScript1_267D54: @ 8267D54
- checkflag FLAG_SYS_CTRL_OBJ_DELETE
- call_if 1, FarawayIsland_Interior_EventScript_267D5E
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, FarawayIsland_Interior_EventScript_267D5E
end
FarawayIsland_Interior_EventScript_267D5E:: @ 8267D5E
specialvar VAR_RESULT, GetBattleOutcome
compare VAR_RESULT, 7
- goto_if 5, FarawayIsland_Interior_EventScript_27374E
+ goto_if_ne FarawayIsland_Interior_EventScript_27374E
removeobject VAR_LAST_TALKED
return
FarawayIsland_Interior_MapScript1_267D72: @ 8267D72
setvar VAR_0x403A, 0
setvar VAR_TEMP_1, 1
- checkflag FLAG_0x1CA
- call_if 0, FarawayIsland_Interior_EventScript_267D86
+ call_if_unset FLAG_0x1CA, FarawayIsland_Interior_EventScript_267D86
end
FarawayIsland_Interior_EventScript_267D86:: @ 8267D86
- checkflag FLAG_0x1C7
- goto_eq FarawayIsland_Interior_EventScript_27374E
+ goto_if_set FLAG_0x1C7, FarawayIsland_Interior_EventScript_27374E
clearflag FLAG_HIDE_MEW
setvar VAR_TEMP_1, 0
return
@@ -130,13 +126,13 @@ FarawayIsland_Interior_EventScript_267DF2:: @ 8267DF2
waitse
playmoncry SPECIES_MEW, 2
compare VAR_FACING, 2
- call_if 1, FarawayIsland_Interior_EventScript_267EAF
+ call_if_eq FarawayIsland_Interior_EventScript_267EAF
compare VAR_FACING, 1
- call_if 1, FarawayIsland_Interior_EventScript_267EBA
+ call_if_eq FarawayIsland_Interior_EventScript_267EBA
compare VAR_FACING, 3
- call_if 1, FarawayIsland_Interior_EventScript_267EC5
+ call_if_eq FarawayIsland_Interior_EventScript_267EC5
compare VAR_FACING, 4
- call_if 1, FarawayIsland_Interior_EventScript_267ED0
+ call_if_eq FarawayIsland_Interior_EventScript_267ED0
special sub_81D4BEC
delay 40
waitmoncry
@@ -150,13 +146,13 @@ FarawayIsland_Interior_EventScript_267DF2:: @ 8267DF2
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
compare VAR_RESULT, 1
- goto_eq FarawayIsland_Interior_EventScript_267E96
+ goto_if_eq FarawayIsland_Interior_EventScript_267E96
compare VAR_RESULT, 4
- goto_eq FarawayIsland_Interior_EventScript_267EA4
+ goto_if_eq FarawayIsland_Interior_EventScript_267EA4
compare VAR_RESULT, 5
- goto_eq FarawayIsland_Interior_EventScript_267EA4
+ goto_if_eq FarawayIsland_Interior_EventScript_267EA4
compare VAR_RESULT, 10
- goto_eq FarawayIsland_Interior_EventScript_267EA4
+ goto_if_eq FarawayIsland_Interior_EventScript_267EA4
setflag FLAG_0x1CA
release
end
diff --git a/data/maps/FieryPath/scripts.inc b/data/maps/FieryPath/scripts.inc
index f0a28345c..3888c61ef 100644
--- a/data/maps/FieryPath/scripts.inc
+++ b/data/maps/FieryPath/scripts.inc
@@ -3,8 +3,7 @@ FieryPath_MapScripts:: @ 8230F24
.byte 0
FieryPath_MapScript1_230F2A: @ 8230F2A
- checkflag FLAG_LANDMARK_FIERY_PATH
- call_if 0, FieryPath_EventScript_230F37
+ call_if_unset FLAG_LANDMARK_FIERY_PATH, FieryPath_EventScript_230F37
setflag FLAG_LANDMARK_FIERY_PATH
end
diff --git a/data/maps/FortreeCity/scripts.inc b/data/maps/FortreeCity/scripts.inc
index 948f443d2..d1c80c9f9 100644
--- a/data/maps/FortreeCity/scripts.inc
+++ b/data/maps/FortreeCity/scripts.inc
@@ -18,8 +18,7 @@ FortreeCity_EventScript_1E25B6:: @ 81E25B6
FortreeCity_EventScript_1E25BF:: @ 81E25BF
lock
faceplayer
- checkflag FLAG_0x127
- goto_eq FortreeCity_EventScript_1E25D4
+ goto_if_set FLAG_0x127, FortreeCity_EventScript_1E25D4
msgbox FortreeCity_Text_1E2738, MSGBOX_DEFAULT
release
end
@@ -58,7 +57,7 @@ FortreeCity_EventScript_1E2614:: @ 81E2614
faceplayer
checkitem ITEM_DEVON_SCOPE, 1
compare VAR_RESULT, 1
- goto_eq FortreeCity_EventScript_1E2630
+ goto_if_eq FortreeCity_EventScript_1E2630
msgbox FortreeCity_Text_1E29E5, MSGBOX_DEFAULT
release
end
@@ -66,7 +65,7 @@ FortreeCity_EventScript_1E2614:: @ 81E2614
FortreeCity_EventScript_1E2630:: @ 81E2630
msgbox FortreeCity_Text_1E2A08, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq FortreeCity_EventScript_1E2645
+ goto_if_eq FortreeCity_EventScript_1E2645
release
end
diff --git a/data/maps/FortreeCity_Gym/scripts.inc b/data/maps/FortreeCity_Gym/scripts.inc
index c56f0cbdb..f45d87c58 100644
--- a/data/maps/FortreeCity_Gym/scripts.inc
+++ b/data/maps/FortreeCity_Gym/scripts.inc
@@ -19,9 +19,8 @@ FortreeCity_Gym_EventScript_2165C8:: @ 82165C8
trainerbattle_single TRAINER_WINONA_1, FortreeCity_Gym_Text_216D75, FortreeCity_Gym_Text_216E60, FortreeCity_Gym_EventScript_2165FD, NO_MUSIC
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq FortreeCity_Gym_EventScript_21668D
- checkflag FLAG_0x0AA
- goto_if 0, FortreeCity_Gym_EventScript_216646
+ goto_if_eq FortreeCity_Gym_EventScript_21668D
+ goto_if_unset FLAG_0x0AA, FortreeCity_Gym_EventScript_216646
msgbox FortreeCity_Gym_Text_217071, MSGBOX_DEFAULT
release
end
@@ -52,7 +51,7 @@ FortreeCity_Gym_EventScript_2165FD:: @ 82165FD
FortreeCity_Gym_EventScript_216646:: @ 8216646
giveitem_std ITEM_TM40
compare VAR_RESULT, 0
- goto_eq FortreeCity_Gym_EventScript_272054
+ goto_if_eq FortreeCity_Gym_EventScript_272054
msgbox FortreeCity_Gym_Text_216FEC, MSGBOX_DEFAULT
setflag FLAG_0x0AA
release
@@ -61,7 +60,7 @@ FortreeCity_Gym_EventScript_216646:: @ 8216646
FortreeCity_Gym_EventScript_21666A:: @ 821666A
giveitem_std ITEM_TM40
compare VAR_RESULT, 0
- goto_eq FortreeCity_Gym_EventScript_27205E
+ goto_if_eq FortreeCity_Gym_EventScript_27205E
msgbox FortreeCity_Gym_Text_216FEC, MSGBOX_DEFAULT
setflag FLAG_0x0AA
return
@@ -104,8 +103,7 @@ FortreeCity_Gym_EventScript_21671B:: @ 821671B
FortreeCity_Gym_EventScript_216732:: @ 8216732
lock
faceplayer
- checkflag FLAG_0x4F5
- goto_eq FortreeCity_Gym_EventScript_216747
+ goto_if_set FLAG_0x4F5, FortreeCity_Gym_EventScript_216747
msgbox FortreeCity_Gym_Text_216785, MSGBOX_DEFAULT
release
end
@@ -117,15 +115,13 @@ FortreeCity_Gym_EventScript_216747:: @ 8216747
FortreeCity_Gym_EventScript_216751:: @ 8216751
lockall
- checkflag FLAG_BADGE06_GET
- goto_eq FortreeCity_Gym_EventScript_216771
+ goto_if_set FLAG_BADGE06_GET, FortreeCity_Gym_EventScript_216771
goto FortreeCity_Gym_EventScript_21677B
end
FortreeCity_Gym_EventScript_216761:: @ 8216761
lockall
- checkflag FLAG_BADGE06_GET
- goto_eq FortreeCity_Gym_EventScript_216771
+ goto_if_set FLAG_BADGE06_GET, FortreeCity_Gym_EventScript_216771
goto FortreeCity_Gym_EventScript_21677B
end
diff --git a/data/maps/FortreeCity_House1/scripts.inc b/data/maps/FortreeCity_House1/scripts.inc
index 52a9793c3..44651ae0d 100644
--- a/data/maps/FortreeCity_House1/scripts.inc
+++ b/data/maps/FortreeCity_House1/scripts.inc
@@ -4,25 +4,24 @@ FortreeCity_House1_MapScripts:: @ 82162BA
FortreeCity_House1_EventScript_2162BB:: @ 82162BB
lock
faceplayer
- checkflag FLAG_0x09B
- goto_eq FortreeCity_House1_EventScript_216355
+ goto_if_set FLAG_0x09B, FortreeCity_House1_EventScript_216355
setvar VAR_0x8008, 1
copyvar VAR_0x8004, VAR_0x8008
specialvar VAR_RESULT, sub_807E73C
copyvar VAR_0x8009, VAR_RESULT
msgbox FortreeCity_House1_Text_21637B, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq FortreeCity_House1_EventScript_21633D
+ goto_if_eq FortreeCity_House1_EventScript_21633D
special sub_81B94B0
waitstate
copyvar VAR_0x800A, VAR_0x8004
compare VAR_0x8004, 255
- goto_eq FortreeCity_House1_EventScript_21633D
+ goto_if_eq FortreeCity_House1_EventScript_21633D
copyvar VAR_0x8005, VAR_0x800A
specialvar VAR_RESULT, sub_807E9D4
copyvar VAR_0x800B, VAR_RESULT
compare VAR_RESULT, VAR_0x8009
- goto_if 5, FortreeCity_House1_EventScript_216347
+ goto_if_ne FortreeCity_House1_EventScript_216347
copyvar VAR_0x8004, VAR_0x8008
copyvar VAR_0x8005, VAR_0x800A
special sub_807EA10
diff --git a/data/maps/FortreeCity_House2/scripts.inc b/data/maps/FortreeCity_House2/scripts.inc
index 0a5042c09..db8b14029 100644
--- a/data/maps/FortreeCity_House2/scripts.inc
+++ b/data/maps/FortreeCity_House2/scripts.inc
@@ -4,10 +4,8 @@ FortreeCity_House2_MapScripts:: @ 82177CA
FortreeCity_House2_EventScript_2177CB:: @ 82177CB
lock
faceplayer
- checkflag FLAG_0x108
- goto_eq FortreeCity_House2_EventScript_21786E
- checkflag FLAG_0x076
- call_if 0, FortreeCity_House2_EventScript_217862
+ goto_if_set FLAG_0x108, FortreeCity_House2_EventScript_21786E
+ call_if_unset FLAG_0x076, FortreeCity_House2_EventScript_217862
msgbox FortreeCity_House2_Text_2178D6, MSGBOX_DEFAULT
multichoice 21, 8, 54, 1
switch VAR_RESULT
@@ -23,7 +21,7 @@ FortreeCity_House2_EventScript_2177CB:: @ 82177CB
msgbox FortreeCity_House2_Text_217A28, MSGBOX_DEFAULT
giveitem_std ITEM_TM10
compare VAR_RESULT, 0
- goto_eq FortreeCity_House2_EventScript_272054
+ goto_if_eq FortreeCity_House2_EventScript_272054
setflag FLAG_0x108
msgbox FortreeCity_House2_Text_217A91, MSGBOX_DEFAULT
release
diff --git a/data/maps/FortreeCity_House4/scripts.inc b/data/maps/FortreeCity_House4/scripts.inc
index eb6043ab3..742fce6e9 100644
--- a/data/maps/FortreeCity_House4/scripts.inc
+++ b/data/maps/FortreeCity_House4/scripts.inc
@@ -7,12 +7,9 @@ FortreeCity_House4_EventScript_217C81:: @ 8217C81
FortreeCity_House4_EventScript_217C8A:: @ 8217C8A
lockall
- checkflag FLAG_0x0DF
- goto_eq FortreeCity_House4_EventScript_217D06
- checkflag FLAG_0x0E0
- goto_eq FortreeCity_House4_EventScript_217CD8
- checkflag FLAG_0x0DE
- goto_eq FortreeCity_House4_EventScript_217CC4
+ goto_if_set FLAG_0x0DF, FortreeCity_House4_EventScript_217D06
+ goto_if_set FLAG_0x0E0, FortreeCity_House4_EventScript_217CD8
+ goto_if_set FLAG_0x0DE, FortreeCity_House4_EventScript_217CC4
msgbox FortreeCity_House4_Text_217DB9, MSGBOX_DEFAULT
closemessage
setflag FLAG_0x0DE
@@ -36,7 +33,7 @@ FortreeCity_House4_EventScript_217CD8:: @ 8217CD8
msgbox FortreeCity_House4_Text_217E05, MSGBOX_DEFAULT
giveitem_std ITEM_MENTAL_HERB
compare VAR_RESULT, 0
- goto_eq FortreeCity_House4_EventScript_272054
+ goto_if_eq FortreeCity_House4_EventScript_272054
setflag FLAG_0x0DF
releaseall
end
diff --git a/data/maps/GraniteCave_1F/scripts.inc b/data/maps/GraniteCave_1F/scripts.inc
index 28b95d578..1ace4071b 100644
--- a/data/maps/GraniteCave_1F/scripts.inc
+++ b/data/maps/GraniteCave_1F/scripts.inc
@@ -4,8 +4,7 @@ GraniteCave_1F_MapScripts:: @ 822DA5D
GraniteCave_1F_EventScript_22DA5E:: @ 822DA5E
lock
faceplayer
- checkflag FLAG_0x06D
- goto_eq GraniteCave_1F_EventScript_22DA8A
+ goto_if_set FLAG_0x06D, GraniteCave_1F_EventScript_22DA8A
msgbox GraniteCave_1F_Text_22DA94, MSGBOX_DEFAULT
giveitem_std ITEM_HM05
setflag FLAG_0x06D
diff --git a/data/maps/GraniteCave_StevensRoom/scripts.inc b/data/maps/GraniteCave_StevensRoom/scripts.inc
index da0668bac..e08dfffd7 100644
--- a/data/maps/GraniteCave_StevensRoom/scripts.inc
+++ b/data/maps/GraniteCave_StevensRoom/scripts.inc
@@ -11,7 +11,7 @@ GraniteCave_StevensRoom_EventScript_22DC7B:: @ 822DC7B
msgbox GraniteCave_StevensRoom_Text_22DDBD, MSGBOX_DEFAULT
giveitem_std ITEM_TM47
compare VAR_RESULT, 0
- call_if 1, GraniteCave_StevensRoom_EventScript_22DD3C
+ call_if_eq GraniteCave_StevensRoom_EventScript_22DD3C
msgbox GraniteCave_StevensRoom_Text_22DE6B, MSGBOX_DEFAULT
closemessage
delay 30
@@ -24,13 +24,13 @@ GraniteCave_StevensRoom_EventScript_22DC7B:: @ 822DC7B
msgbox GraniteCave_StevensRoom_Text_22DF8C, MSGBOX_DEFAULT
closemessage
compare VAR_FACING, 2
- call_if 1, GraniteCave_StevensRoom_EventScript_22DD0D
+ call_if_eq GraniteCave_StevensRoom_EventScript_22DD0D
compare VAR_FACING, 1
- call_if 1, GraniteCave_StevensRoom_EventScript_22DD2A
+ call_if_eq GraniteCave_StevensRoom_EventScript_22DD2A
compare VAR_FACING, 3
- call_if 1, GraniteCave_StevensRoom_EventScript_22DD18
+ call_if_eq GraniteCave_StevensRoom_EventScript_22DD18
compare VAR_FACING, 4
- call_if 1, GraniteCave_StevensRoom_EventScript_22DD18
+ call_if_eq GraniteCave_StevensRoom_EventScript_22DD18
playse SE_KAIDAN
removeobject 1
release
@@ -42,13 +42,13 @@ GraniteCave_StevensRoom_EventScript_22DD0D:: @ 822DD0D
return
GraniteCave_StevensRoom_EventScript_22DD18:: @ 822DD18
- applymovement 255, GraniteCave_StevensRoom_Movement_22DD4C
+ applymovement EVENT_OBJ_ID_PLAYER, GraniteCave_StevensRoom_Movement_22DD4C
applymovement 1, GraniteCave_StevensRoom_Movement_22DD45
waitmovement 0
return
GraniteCave_StevensRoom_EventScript_22DD2A:: @ 822DD2A
- applymovement 255, GraniteCave_StevensRoom_Movement_22DD4C
+ applymovement EVENT_OBJ_ID_PLAYER, GraniteCave_StevensRoom_Movement_22DD4C
applymovement 1, GraniteCave_StevensRoom_Movement_22DD51
waitmovement 0
return
diff --git a/data/maps/InsideOfTruck/scripts.inc b/data/maps/InsideOfTruck/scripts.inc
index 100e4314d..53bdc073a 100644
--- a/data/maps/InsideOfTruck/scripts.inc
+++ b/data/maps/InsideOfTruck/scripts.inc
@@ -18,9 +18,9 @@ InsideOfTruck_EventScript_23BF04:: @ 823BF04
setflag FLAG_SPECIAL_FLAG_0x4000
checkplayergender
compare VAR_RESULT, 0
- goto_eq InsideOfTruck_EventScript_23BF20
+ goto_if_eq InsideOfTruck_EventScript_23BF20
compare VAR_RESULT, 1
- goto_eq InsideOfTruck_EventScript_23BF46
+ goto_if_eq InsideOfTruck_EventScript_23BF46
end
InsideOfTruck_EventScript_23BF20:: @ 823BF20
diff --git a/data/maps/IslandCave/scripts.inc b/data/maps/IslandCave/scripts.inc
index e18b73a7a..218a92205 100644
--- a/data/maps/IslandCave/scripts.inc
+++ b/data/maps/IslandCave/scripts.inc
@@ -5,20 +5,18 @@ IslandCave_MapScripts:: @ 8238E2A
.byte 0
IslandCave_MapScript1_238E3A: @ 8238E3A
- checkflag FLAG_SYS_CTRL_OBJ_DELETE
- call_if 1, IslandCave_EventScript_238E44
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, IslandCave_EventScript_238E44
end
IslandCave_EventScript_238E44:: @ 8238E44
specialvar VAR_RESULT, GetBattleOutcome
compare VAR_RESULT, 7
- goto_if 5, IslandCave_EventScript_27374E
+ goto_if_ne IslandCave_EventScript_27374E
removeobject VAR_LAST_TALKED
return
IslandCave_MapScript1_238E58: @ 8238E58
- checkflag FLAG_SYS_BRAILLE_WAIT
- call_if 0, IslandCave_EventScript_238E62
+ call_if_unset FLAG_SYS_BRAILLE_WAIT, IslandCave_EventScript_238E62
end
IslandCave_EventScript_238E62:: @ 8238E62
@@ -33,8 +31,7 @@ IslandCave_EventScript_238E62:: @ 8238E62
IslandCave_MapScript1_238E99: @ 8238E99
setflag FLAG_LANDMARK_ISLAND_CAVE
call IslandCave_EventScript_238F45
- checkflag FLAG_0x1BC
- call_if 0, IslandCave_EventScript_238EAB
+ call_if_unset FLAG_0x1BC, IslandCave_EventScript_238EAB
end
IslandCave_EventScript_238EAB:: @ 8238EAB
@@ -55,10 +52,8 @@ IslandCave_EventScript_238EAF:: @ 8238EAF
IslandCave_EventScript_238EEF:: @ 8238EEF
lockall
- checkflag FLAG_TEMP_3
- call_if 1, IslandCave_EventScript_238F45
- checkflag FLAG_SYS_BRAILLE_WAIT
- goto_eq IslandCave_EventScript_238F13
+ call_if_set FLAG_TEMP_3, IslandCave_EventScript_238F45
+ goto_if_set FLAG_SYS_BRAILLE_WAIT, IslandCave_EventScript_238F13
braillemessage IslandCave_Braille_2A6CD4
setflag FLAG_TEMP_2
special ShouldDoBrailleRegicePuzzle
@@ -72,11 +67,9 @@ IslandCave_EventScript_238F13:: @ 8238F13
IslandCave_EventScript_238F1D:: @ 8238F1D
lockall
- checkflag FLAG_TEMP_3
- call_if 1, IslandCave_EventScript_238F45
+ call_if_set FLAG_TEMP_3, IslandCave_EventScript_238F45
braillemessage IslandCave_Braille_2A6CD4
- checkflag FLAG_SYS_BRAILLE_WAIT
- goto_eq IslandCave_EventScript_238F41
+ goto_if_set FLAG_SYS_BRAILLE_WAIT, IslandCave_EventScript_238F41
setflag FLAG_TEMP_2
special ShouldDoBrailleRegicePuzzle
goto IslandCave_EventScript_238F41
@@ -109,11 +102,11 @@ IslandCave_EventScript_238F58:: @ 8238F58
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
compare VAR_RESULT, 1
- goto_eq IslandCave_EventScript_238F9F
+ goto_if_eq IslandCave_EventScript_238F9F
compare VAR_RESULT, 4
- goto_eq IslandCave_EventScript_238FA8
+ goto_if_eq IslandCave_EventScript_238FA8
compare VAR_RESULT, 5
- goto_eq IslandCave_EventScript_238FA8
+ goto_if_eq IslandCave_EventScript_238FA8
setflag FLAG_0x1BC
release
end
diff --git a/data/maps/JaggedPass/scripts.inc b/data/maps/JaggedPass/scripts.inc
index d9a5f0849..a140093ca 100644
--- a/data/maps/JaggedPass/scripts.inc
+++ b/data/maps/JaggedPass/scripts.inc
@@ -7,13 +7,13 @@ JaggedPass_MapScripts:: @ 8230656
JaggedPass_MapScript1_230666: @ 8230666
setstepcallback 1
compare VAR_0x40C8, 0
- call_if 1, JaggedPass_EventScript_230674
+ call_if_eq JaggedPass_EventScript_230674
end
JaggedPass_EventScript_230674:: @ 8230674
checkitem ITEM_MAGMA_EMBLEM, 1
compare VAR_RESULT, 1
- goto_eq JaggedPass_EventScript_230685
+ goto_if_eq JaggedPass_EventScript_230685
return
JaggedPass_EventScript_230685:: @ 8230685
@@ -22,17 +22,17 @@ JaggedPass_EventScript_230685:: @ 8230685
JaggedPass_MapScript1_23068B: @ 823068B
compare VAR_0x40BD, 1
- call_if 1, JaggedPass_EventScript_230697
+ call_if_eq JaggedPass_EventScript_230697
end
JaggedPass_EventScript_230697:: @ 8230697
- setweather 7
+ setweather WEATHER_ASH
doweather
return
JaggedPass_MapScript1_23069C: @ 823069C
compare VAR_0x40C8, 1
- goto_if 3, JaggedPass_EventScript_2306A8
+ goto_if_le JaggedPass_EventScript_2306A8
end
JaggedPass_EventScript_2306A8:: @ 82306A8
@@ -68,8 +68,7 @@ JaggedPass_EventScript_2306BB:: @ 82306BB
JaggedPass_EventScript_230718:: @ 8230718
lockall
- checkflag FLAG_0x139
- goto_eq JaggedPass_EventScript_230766
+ goto_if_set FLAG_0x139, JaggedPass_EventScript_230766
waitse
playse SE_PIN
applymovement 5, JaggedPass_Movement_272598
@@ -106,7 +105,7 @@ JaggedPass_EventScript_23079C:: @ 823079C
trainerbattle_single TRAINER_DIANA_1, JaggedPass_Text_230974, JaggedPass_Text_2309B5, JaggedPass_EventScript_2307C8
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq JaggedPass_EventScript_2307E4
+ goto_if_eq JaggedPass_EventScript_2307E4
msgbox JaggedPass_Text_2309D8, MSGBOX_DEFAULT
release
end
@@ -127,7 +126,7 @@ JaggedPass_EventScript_2307FB:: @ 82307FB
trainerbattle_single TRAINER_ETHAN_1, JaggedPass_Text_230B10, JaggedPass_Text_230B50, JaggedPass_EventScript_230827
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq JaggedPass_EventScript_230843
+ goto_if_eq JaggedPass_EventScript_230843
msgbox JaggedPass_Text_230B93, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/LavaridgeTown/scripts.inc b/data/maps/LavaridgeTown/scripts.inc
index a42703900..f210a9d11 100644
--- a/data/maps/LavaridgeTown/scripts.inc
+++ b/data/maps/LavaridgeTown/scripts.inc
@@ -5,16 +5,14 @@ LavaridgeTown_MapScripts:: @ 81EA4D3
LavaridgeTown_MapScript1_1EA4DE: @ 81EA4DE
setflag FLAG_VISITED_LAVARIDGE_TOWN
- checkflag FLAG_0x06C
- call_if 1, LavaridgeTown_EventScript_1EA514
- checkflag FLAG_0x08B
- call_if 1, LavaridgeTown_EventScript_1EA53F
+ call_if_set FLAG_0x06C, LavaridgeTown_EventScript_1EA514
+ call_if_set FLAG_0x08B, LavaridgeTown_EventScript_1EA53F
call LavaridgeTown_EventScript_271ED7
call LavaridgeTown_EventScript_271EFB
compare VAR_0x4053, 1
- call_if 1, LavaridgeTown_EventScript_1EA518
+ call_if_eq LavaridgeTown_EventScript_1EA518
compare VAR_0x4053, 1
- call_if 1, LavaridgeTown_EventScript_1EA543
+ call_if_eq LavaridgeTown_EventScript_1EA543
end
LavaridgeTown_EventScript_1EA514:: @ 81EA514
@@ -24,7 +22,7 @@ LavaridgeTown_EventScript_1EA514:: @ 81EA514
LavaridgeTown_EventScript_1EA518:: @ 81EA518
getplayerxy VAR_0x8004, VAR_0x8005
compare VAR_0x8004, 9
- goto_eq LavaridgeTown_EventScript_1EA529
+ goto_if_eq LavaridgeTown_EventScript_1EA529
return
LavaridgeTown_EventScript_1EA529:: @ 81EA529
@@ -50,24 +48,24 @@ LavaridgeTown_EventScript_1EA551:: @ 81EA551
lockall
getplayerxy VAR_0x8008, VAR_0x8009
compare VAR_0x8008, 9
- call_if 1, LavaridgeTown_EventScript_1EA63A
+ call_if_eq LavaridgeTown_EventScript_1EA63A
compare VAR_0x8008, 9
- call_if 5, LavaridgeTown_EventScript_1EA65C
+ call_if_ne LavaridgeTown_EventScript_1EA65C
delay 20
checkplayergender
compare VAR_RESULT, 0
- call_if 1, LavaridgeTown_EventScript_1EA630
+ call_if_eq LavaridgeTown_EventScript_1EA630
compare VAR_RESULT, 1
- call_if 1, LavaridgeTown_EventScript_1EA635
+ call_if_eq LavaridgeTown_EventScript_1EA635
compare VAR_0x8008, 9
- call_if 1, LavaridgeTown_EventScript_1EA6A1
+ call_if_eq LavaridgeTown_EventScript_1EA6A1
compare VAR_0x8008, 9
- call_if 5, LavaridgeTown_EventScript_1EA6AC
+ call_if_ne LavaridgeTown_EventScript_1EA6AC
checkplayergender
compare VAR_RESULT, 0
- goto_eq LavaridgeTown_EventScript_1EA5B5
+ goto_if_eq LavaridgeTown_EventScript_1EA5B5
compare VAR_RESULT, 1
- goto_eq LavaridgeTown_EventScript_1EA5DA
+ goto_if_eq LavaridgeTown_EventScript_1EA5DA
end
LavaridgeTown_EventScript_1EA5B5:: @ 81EA5B5
@@ -92,9 +90,9 @@ LavaridgeTown_EventScript_1EA5FF:: @ 81EA5FF
addobject 7
delay 30
compare VAR_0x8008, 9
- call_if 1, LavaridgeTown_EventScript_1EA6B7
+ call_if_eq LavaridgeTown_EventScript_1EA6B7
compare VAR_0x8008, 9
- call_if 5, LavaridgeTown_EventScript_1EA6C9
+ call_if_ne LavaridgeTown_EventScript_1EA6C9
removeobject 7
setvar VAR_0x4053, 2
clearflag FLAG_SPECIAL_FLAG_0x4000
@@ -136,7 +134,7 @@ LavaridgeTown_EventScript_1EA65C:: @ 81EA65C
waitmovement 0
applymovement 8, LavaridgeTown_Movement_27259A
waitmovement 0
- applymovement 255, LavaridgeTown_Movement_2725A8
+ applymovement EVENT_OBJ_ID_PLAYER, LavaridgeTown_Movement_2725A8
waitmovement 0
return
@@ -151,7 +149,7 @@ LavaridgeTown_EventScript_1EA6AC:: @ 81EA6AC
return
LavaridgeTown_EventScript_1EA6B7:: @ 81EA6B7
- applymovement 255, LavaridgeTown_Movement_1EA6DF
+ applymovement EVENT_OBJ_ID_PLAYER, LavaridgeTown_Movement_1EA6DF
applymovement 7, LavaridgeTown_Movement_1EA6E3
waitmovement 0
return
@@ -214,7 +212,7 @@ LavaridgeTown_Movement_1EA6F8: @ 81EA6F8
LavaridgeTown_EventScript_1EA6FA:: @ 81EA6FA
specialvar VAR_RESULT, GetPlayerFacingDirection
compare VAR_RESULT, 1
- goto_eq LavaridgeTown_EventScript_1EA70B
+ goto_if_eq LavaridgeTown_EventScript_1EA70B
end
LavaridgeTown_EventScript_1EA70B:: @ 81EA70B
@@ -248,14 +246,13 @@ LavaridgeTown_EventScript_1EA73B:: @ 81EA73B
LavaridgeTown_EventScript_1EA744:: @ 81EA744
lock
faceplayer
- checkflag FLAG_0x10A
- goto_eq LavaridgeTown_EventScript_1EA787
+ goto_if_set FLAG_0x10A, LavaridgeTown_EventScript_1EA787
msgbox LavaridgeTown_Text_1EAB80, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq LavaridgeTown_EventScript_1EA79B
+ goto_if_eq LavaridgeTown_EventScript_1EA79B
getpartysize
compare VAR_RESULT, 6
- goto_eq LavaridgeTown_EventScript_1EA791
+ goto_if_eq LavaridgeTown_EventScript_1EA791
msgbox LavaridgeTown_Text_1EACC0, MSGBOX_DEFAULT
setflag FLAG_0x10A
playfanfare MUS_FANFA4
diff --git a/data/maps/LavaridgeTown_Gym_1F/scripts.inc b/data/maps/LavaridgeTown_Gym_1F/scripts.inc
index 6a795a74c..c0c8f1093 100644
--- a/data/maps/LavaridgeTown_Gym_1F/scripts.inc
+++ b/data/maps/LavaridgeTown_Gym_1F/scripts.inc
@@ -14,22 +14,22 @@ LavaridgeTown_Gym_1F_EventScript_1FE705:: @ 81FE705
setvar VAR_TEMP_E, 0
setvar VAR_TEMP_F, 0
checktrainerflag TRAINER_COLE
- goto_eq LavaridgeTown_Gym_1F_EventScript_1FE72C
+ goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE72C
setvar VAR_TEMP_B, 1
LavaridgeTown_Gym_1F_EventScript_1FE72C:: @ 81FE72C
checktrainerflag TRAINER_GERALD
- goto_eq LavaridgeTown_Gym_1F_EventScript_1FE73A
+ goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE73A
setvar VAR_TEMP_C, 1
LavaridgeTown_Gym_1F_EventScript_1FE73A:: @ 81FE73A
checktrainerflag TRAINER_AXLE
- goto_eq LavaridgeTown_Gym_1F_EventScript_1FE748
+ goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE748
setvar VAR_TEMP_D, 1
LavaridgeTown_Gym_1F_EventScript_1FE748:: @ 81FE748
checktrainerflag TRAINER_DANIELLE
- goto_eq LavaridgeTown_Gym_1F_EventScript_1FE756
+ goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE756
setvar VAR_TEMP_E, 1
LavaridgeTown_Gym_1F_EventScript_1FE756:: @ 81FE756
@@ -37,22 +37,22 @@ LavaridgeTown_Gym_1F_EventScript_1FE756:: @ 81FE756
LavaridgeTown_Gym_1F_EventScript_1FE757:: @ 81FE757
checktrainerflag TRAINER_COLE
- goto_eq LavaridgeTown_Gym_1F_EventScript_1FE764
+ goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE764
setobjectmovementtype 2, 63
LavaridgeTown_Gym_1F_EventScript_1FE764:: @ 81FE764
checktrainerflag TRAINER_GERALD
- goto_eq LavaridgeTown_Gym_1F_EventScript_1FE771
+ goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE771
setobjectmovementtype 3, 63
LavaridgeTown_Gym_1F_EventScript_1FE771:: @ 81FE771
checktrainerflag TRAINER_AXLE
- goto_eq LavaridgeTown_Gym_1F_EventScript_1FE77E
+ goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE77E
setobjectmovementtype 4, 63
LavaridgeTown_Gym_1F_EventScript_1FE77E:: @ 81FE77E
checktrainerflag TRAINER_DANIELLE
- goto_eq LavaridgeTown_Gym_1F_EventScript_1FE78B
+ goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE78B
setobjectmovementtype 5, 63
LavaridgeTown_Gym_1F_EventScript_1FE78B:: @ 81FE78B
@@ -62,9 +62,8 @@ 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
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq LavaridgeTown_Gym_1F_EventScript_1FE864
- checkflag FLAG_0x0A8
- goto_if 0, LavaridgeTown_Gym_1F_EventScript_1FE81D
+ goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE864
+ goto_if_unset FLAG_0x0A8, LavaridgeTown_Gym_1F_EventScript_1FE81D
msgbox LavaridgeTown_Gym_1F_Text_1FF546, MSGBOX_DEFAULT
release
end
@@ -79,7 +78,7 @@ LavaridgeTown_Gym_1F_EventScript_1FE7C1:: @ 81FE7C1
setflag FLAG_BADGE04_GET
addvar VAR_0x4085, 1
compare VAR_0x4085, 6
- call_if 1, LavaridgeTown_Gym_1F_EventScript_271E84
+ call_if_eq LavaridgeTown_Gym_1F_EventScript_271E84
setvar VAR_0x8008, 4
call LavaridgeTown_Gym_1F_EventScript_271F43
setflag FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLY
@@ -99,7 +98,7 @@ LavaridgeTown_Gym_1F_EventScript_1FE7C1:: @ 81FE7C1
LavaridgeTown_Gym_1F_EventScript_1FE81D:: @ 81FE81D
giveitem_std ITEM_TM50
compare VAR_RESULT, 0
- goto_eq LavaridgeTown_Gym_1F_EventScript_272054
+ goto_if_eq LavaridgeTown_Gym_1F_EventScript_272054
msgbox LavaridgeTown_Gym_1F_Text_1FF45C, MSGBOX_DEFAULT
setflag FLAG_0x0A8
release
@@ -108,7 +107,7 @@ LavaridgeTown_Gym_1F_EventScript_1FE81D:: @ 81FE81D
LavaridgeTown_Gym_1F_EventScript_1FE841:: @ 81FE841
giveitem_std ITEM_TM50
compare VAR_RESULT, 0
- goto_eq LavaridgeTown_Gym_1F_EventScript_27205E
+ goto_if_eq LavaridgeTown_Gym_1F_EventScript_27205E
msgbox LavaridgeTown_Gym_1F_Text_1FF45C, MSGBOX_DEFAULT
setflag FLAG_0x0A8
return
@@ -129,7 +128,7 @@ LavaridgeTown_Gym_B1F_EventScript_1FE89A:: @ 81FE89A
release
special ShouldTryGetTrainerScript
compare VAR_RESULT, 1
- goto_eq EventScript_GotoTrainerScript
+ goto_if_eq EventScript_GotoTrainerScript
end
LavaridgeTown_Gym_1F_EventScript_1FE8AF:: @ 81FE8AF
@@ -170,8 +169,7 @@ LavaridgeTown_Gym_B1F_EventScript_1FE951:: @ 81FE951
LavaridgeTown_Gym_1F_EventScript_1FE96C:: @ 81FE96C
lock
faceplayer
- checkflag FLAG_0x4F3
- goto_eq LavaridgeTown_Gym_1F_EventScript_1FE981
+ goto_if_set FLAG_0x4F3, LavaridgeTown_Gym_1F_EventScript_1FE981
msgbox LavaridgeTown_Gym_1F_Text_1FE9BF, MSGBOX_DEFAULT
release
end
@@ -183,15 +181,13 @@ LavaridgeTown_Gym_1F_EventScript_1FE981:: @ 81FE981
LavaridgeTown_Gym_1F_EventScript_1FE98B:: @ 81FE98B
lockall
- checkflag FLAG_BADGE04_GET
- goto_eq LavaridgeTown_Gym_1F_EventScript_1FE9AB
+ goto_if_set FLAG_BADGE04_GET, LavaridgeTown_Gym_1F_EventScript_1FE9AB
goto LavaridgeTown_Gym_1F_EventScript_1FE9B5
end
LavaridgeTown_Gym_1F_EventScript_1FE99B:: @ 81FE99B
lockall
- checkflag FLAG_BADGE04_GET
- goto_eq LavaridgeTown_Gym_1F_EventScript_1FE9AB
+ goto_if_set FLAG_BADGE04_GET, LavaridgeTown_Gym_1F_EventScript_1FE9AB
goto LavaridgeTown_Gym_1F_EventScript_1FE9B5
end
diff --git a/data/maps/LavaridgeTown_Gym_B1F/scripts.inc b/data/maps/LavaridgeTown_Gym_B1F/scripts.inc
index ad2be83ea..222f36810 100644
--- a/data/maps/LavaridgeTown_Gym_B1F/scripts.inc
+++ b/data/maps/LavaridgeTown_Gym_B1F/scripts.inc
@@ -13,22 +13,22 @@ LavaridgeTown_Gym_B1F_EventScript_1FF88F:: @ 81FF88F
setvar VAR_TEMP_9, 0
setvar VAR_TEMP_A, 0
checktrainerflag TRAINER_KEEGAN
- goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF8B1
+ goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF8B1
setvar VAR_TEMP_7, 1
LavaridgeTown_Gym_B1F_EventScript_1FF8B1:: @ 81FF8B1
checktrainerflag TRAINER_JACE
- goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF8BF
+ goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF8BF
setvar VAR_TEMP_8, 1
LavaridgeTown_Gym_B1F_EventScript_1FF8BF:: @ 81FF8BF
checktrainerflag TRAINER_JEFF
- goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF8CD
+ goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF8CD
setvar VAR_TEMP_9, 1
LavaridgeTown_Gym_B1F_EventScript_1FF8CD:: @ 81FF8CD
checktrainerflag TRAINER_ELI
- goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF8DB
+ goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF8DB
setvar VAR_TEMP_A, 1
LavaridgeTown_Gym_B1F_EventScript_1FF8DB:: @ 81FF8DB
@@ -36,22 +36,22 @@ LavaridgeTown_Gym_B1F_EventScript_1FF8DB:: @ 81FF8DB
LavaridgeTown_Gym_B1F_EventScript_1FF8DC:: @ 81FF8DC
checktrainerflag TRAINER_KEEGAN
- goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF8E9
+ goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF8E9
setobjectmovementtype 2, 63
LavaridgeTown_Gym_B1F_EventScript_1FF8E9:: @ 81FF8E9
checktrainerflag TRAINER_JACE
- goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF8F6
+ goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF8F6
setobjectmovementtype 1, 63
LavaridgeTown_Gym_B1F_EventScript_1FF8F6:: @ 81FF8F6
checktrainerflag TRAINER_JEFF
- goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF903
+ goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF903
setobjectmovementtype 3, 63
LavaridgeTown_Gym_B1F_EventScript_1FF903:: @ 81FF903
checktrainerflag TRAINER_ELI
- goto_eq LavaridgeTown_Gym_B1F_EventScript_1FF910
+ goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF910
setobjectmovementtype 4, 63
LavaridgeTown_Gym_B1F_EventScript_1FF910:: @ 81FF910
diff --git a/data/maps/LavaridgeTown_HerbShop/scripts.inc b/data/maps/LavaridgeTown_HerbShop/scripts.inc
index b1d776fbd..d627d4fa7 100644
--- a/data/maps/LavaridgeTown_HerbShop/scripts.inc
+++ b/data/maps/LavaridgeTown_HerbShop/scripts.inc
@@ -28,12 +28,11 @@ LavaridgeTown_HerbShop_EventScript_1FE4FC:: @ 81FE4FC
LavaridgeTown_HerbShop_EventScript_1FE505:: @ 81FE505
lock
faceplayer
- checkflag FLAG_0x0FE
- goto_eq LavaridgeTown_HerbShop_EventScript_1FE534
+ goto_if_set FLAG_0x0FE, LavaridgeTown_HerbShop_EventScript_1FE534
msgbox LavaridgeTown_HerbShop_Text_1FE584, MSGBOX_DEFAULT
giveitem_std ITEM_CHARCOAL
compare VAR_RESULT, 0
- goto_eq LavaridgeTown_HerbShop_EventScript_272054
+ goto_if_eq LavaridgeTown_HerbShop_EventScript_272054
setflag FLAG_0x0FE
release
end
diff --git a/data/maps/LilycoveCity/scripts.inc b/data/maps/LilycoveCity/scripts.inc
index 83b258c7e..515754f8c 100644
--- a/data/maps/LilycoveCity/scripts.inc
+++ b/data/maps/LilycoveCity/scripts.inc
@@ -7,14 +7,12 @@ LilycoveCity_MapScript1_1E2B47: @ 81E2B47
setflag FLAG_VISITED_LILYCOVE_CITY
setvar VAR_0x4086, 0
setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_REPORTER
- checkflag FLAG_SYS_WEATHER_CTRL
- call_if 1, LilycoveCity_EventScript_27207A
+ call_if_set FLAG_SYS_WEATHER_CTRL, LilycoveCity_EventScript_27207A
call LilycoveCity_EventScript_271ED7
end
LilycoveCity_MapScript1_1E2B61: @ 81E2B61
- checkflag FLAG_0x070
- call_if 0, LilycoveCity_EventScript_1E2B6B
+ call_if_unset FLAG_0x070, LilycoveCity_EventScript_1E2B6B
end
LilycoveCity_EventScript_1E2B6B:: @ 81E2B6B
@@ -36,14 +34,13 @@ LilycoveCity_EventScript_1E2BD8:: @ 81E2BD8
lock
faceplayer
dodailyevents
- checkflag FLAG_0x92F
- goto_eq LilycoveCity_EventScript_1E2C18
+ goto_if_set FLAG_0x92F, LilycoveCity_EventScript_1E2C18
msgbox LilycoveCity_Text_2A7244, MSGBOX_DEFAULT
random 10
addvar VAR_RESULT, 133
giveitem_std VAR_RESULT
compare VAR_RESULT, 0
- goto_eq LilycoveCity_EventScript_272054
+ goto_if_eq LilycoveCity_EventScript_272054
setflag FLAG_0x92F
msgbox LilycoveCity_Text_2A72E3, MSGBOX_DEFAULT
release
@@ -61,8 +58,7 @@ LilycoveCity_EventScript_1E2C22:: @ 81E2C22
LilycoveCity_EventScript_1E2C2B:: @ 81E2C2B
lock
faceplayer
- checkflag FLAG_BADGE07_GET
- goto_eq LilycoveCity_EventScript_1E2C40
+ goto_if_set FLAG_BADGE07_GET, LilycoveCity_EventScript_1E2C40
msgbox LilycoveCity_Text_1E3E3C, MSGBOX_DEFAULT
release
end
@@ -79,8 +75,7 @@ LilycoveCity_EventScript_1E2C4A:: @ 81E2C4A
LilycoveCity_EventScript_1E2C53:: @ 81E2C53
lock
faceplayer
- checkflag FLAG_0x070
- goto_eq LilycoveCity_EventScript_1E2C68
+ goto_if_set FLAG_0x070, LilycoveCity_EventScript_1E2C68
msgbox LilycoveCity_Text_1E3FAB, MSGBOX_DEFAULT
release
end
@@ -93,8 +88,7 @@ LilycoveCity_EventScript_1E2C68:: @ 81E2C68
LilycoveCity_EventScript_1E2C72:: @ 81E2C72
lock
faceplayer
- checkflag FLAG_0x070
- goto_eq LilycoveCity_EventScript_1E2C87
+ goto_if_set FLAG_0x070, LilycoveCity_EventScript_1E2C87
msgbox LilycoveCity_Text_1E40AD, MSGBOX_DEFAULT
release
end
@@ -119,8 +113,7 @@ LilycoveCity_EventScript_1E2CA3:: @ 81E2CA3
LilycoveCity_EventScript_1E2CAC:: @ 81E2CAC
lock
faceplayer
- checkflag FLAG_BADGE07_GET
- goto_eq LilycoveCity_EventScript_1E2CC1
+ goto_if_set FLAG_BADGE07_GET, LilycoveCity_EventScript_1E2CC1
msgbox LilycoveCity_Text_1E42FC, MSGBOX_DEFAULT
release
end
@@ -178,8 +171,7 @@ LilycoveCity_EventScript_1E2D3A:: @ 81E2D3A
LilycoveCity_EventScript_1E2D44:: @ 81E2D44
lockall
- checkflag FLAG_SYS_GAME_CLEAR
- goto_eq LilycoveCity_EventScript_1E2D58
+ goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_EventScript_1E2D58
msgbox LilycoveCity_Text_1E45A7, MSGBOX_DEFAULT
releaseall
end
@@ -203,8 +195,7 @@ LilycoveCity_EventScript_1E2D74:: @ 81E2D74
LilycoveCity_EventScript_1E2D7D:: @ 81E2D7D
lockall
- checkflag FLAG_0x0DA
- goto_eq LilycoveCity_EventScript_1E2DB0
+ goto_if_set FLAG_0x0DA, LilycoveCity_EventScript_1E2DB0
msgbox LilycoveCity_Text_1E3D1F, MSGBOX_DEFAULT
applymovement VAR_LAST_TALKED, LilycoveCity_Movement_27259E
waitmovement 0
@@ -241,19 +232,17 @@ LilycoveCity_EventScript_1E2DDE:: @ 81E2DDE
faceplayer
checkplayergender
compare VAR_RESULT, 0
- goto_eq LilycoveCity_EventScript_1E2DF8
+ goto_if_eq LilycoveCity_EventScript_1E2DF8
compare VAR_RESULT, 1
- goto_eq LilycoveCity_EventScript_1E2E6B
+ goto_if_eq LilycoveCity_EventScript_1E2E6B
end
LilycoveCity_EventScript_1E2DF8:: @ 81E2DF8
playbgm MUS_GIRL_SUP, 1
- checkflag FLAG_0x11E
- call_if 1, LilycoveCity_EventScript_1E2E48
- checkflag FLAG_0x11E
- call_if 0, LilycoveCity_EventScript_1E2E51
+ call_if_set FLAG_0x11E, LilycoveCity_EventScript_1E2E48
+ call_if_unset FLAG_0x11E, LilycoveCity_EventScript_1E2E51
compare VAR_RESULT, 0
- goto_eq LilycoveCity_EventScript_1E2E5A
+ goto_if_eq LilycoveCity_EventScript_1E2E5A
msgbox LilycoveCity_Text_1E3234, MSGBOX_DEFAULT
switch VAR_STARTER_MON
case 0, LilycoveCity_EventScript_1E2EDE
@@ -279,12 +268,10 @@ LilycoveCity_EventScript_1E2E5A:: @ 81E2E5A
LilycoveCity_EventScript_1E2E6B:: @ 81E2E6B
playbgm MUS_BOY_SUP, 1
- checkflag FLAG_0x11E
- call_if 1, LilycoveCity_EventScript_1E2EBB
- checkflag FLAG_0x11E
- call_if 0, LilycoveCity_EventScript_1E2EC4
+ call_if_set FLAG_0x11E, LilycoveCity_EventScript_1E2EBB
+ call_if_unset FLAG_0x11E, LilycoveCity_EventScript_1E2EC4
compare VAR_RESULT, 0
- goto_eq LilycoveCity_EventScript_1E2ECD
+ goto_if_eq LilycoveCity_EventScript_1E2ECD
msgbox LilycoveCity_Text_1E373C, MSGBOX_DEFAULT
switch VAR_STARTER_MON
case 0, LilycoveCity_EventScript_1E2F0E
@@ -341,20 +328,18 @@ LilycoveCity_EventScript_1E2F2E:: @ 81E2F2E
LilycoveCity_EventScript_1E2F3E:: @ 81E2F3E
msgbox LilycoveCity_Text_1E32FB, MSGBOX_DEFAULT
setvar VAR_RESULT, 0
- checkflag FLAG_BADGE06_GET
- call_if 1, LilycoveCity_EventScript_1E2F76
+ call_if_set FLAG_BADGE06_GET, LilycoveCity_EventScript_1E2F76
compare VAR_RESULT, 0
- call_if 1, LilycoveCity_EventScript_1E2F86
+ call_if_eq LilycoveCity_EventScript_1E2F86
compare VAR_RESULT, 1
- call_if 1, LilycoveCity_EventScript_1E2F8F
+ call_if_eq LilycoveCity_EventScript_1E2F8F
clearflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM
clearflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_PICHU_DOLL
goto LilycoveCity_EventScript_1E3006
end
LilycoveCity_EventScript_1E2F76:: @ 81E2F76
- checkflag FLAG_BADGE08_GET
- goto_eq LilycoveCity_EventScript_1E2F80
+ goto_if_set FLAG_BADGE08_GET, LilycoveCity_EventScript_1E2F80
return
LilycoveCity_EventScript_1E2F80:: @ 81E2F80
@@ -366,8 +351,7 @@ LilycoveCity_EventScript_1E2F86:: @ 81E2F86
return
LilycoveCity_EventScript_1E2F8F:: @ 81E2F8F
- checkflag FLAG_SYS_GAME_CLEAR
- goto_eq LilycoveCity_EventScript_1E2FA1
+ goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_EventScript_1E2FA1
msgbox LilycoveCity_Text_1E346D, MSGBOX_DEFAULT
return
@@ -378,12 +362,11 @@ LilycoveCity_EventScript_1E2FA1:: @ 81E2FA1
LilycoveCity_EventScript_1E2FAA:: @ 81E2FAA
msgbox LilycoveCity_Text_1E37D7, MSGBOX_DEFAULT
setvar VAR_RESULT, 0
- checkflag FLAG_BADGE06_GET
- call_if 1, LilycoveCity_EventScript_1E2F76
+ call_if_set FLAG_BADGE06_GET, LilycoveCity_EventScript_1E2F76
compare VAR_RESULT, 0
- call_if 1, LilycoveCity_EventScript_1E2FE2
+ call_if_eq LilycoveCity_EventScript_1E2FE2
compare VAR_RESULT, 1
- call_if 1, LilycoveCity_EventScript_1E2FEB
+ call_if_eq LilycoveCity_EventScript_1E2FEB
clearflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM
clearflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_SWABLU_DOLL
goto LilycoveCity_EventScript_1E3006
@@ -394,8 +377,7 @@ LilycoveCity_EventScript_1E2FE2:: @ 81E2FE2
return
LilycoveCity_EventScript_1E2FEB:: @ 81E2FEB
- checkflag FLAG_SYS_GAME_CLEAR
- goto_eq LilycoveCity_EventScript_1E2FFD
+ goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_EventScript_1E2FFD
msgbox LilycoveCity_Text_1E390C, MSGBOX_DEFAULT
return
@@ -424,9 +406,9 @@ LilycoveCity_EventScript_1E302D:: @ 81E302D
faceplayer
msgbox LilycoveCity_Text_1E4774, MSGBOX_YESNO
compare VAR_RESULT, 1
- call_if 1, LilycoveCity_EventScript_1E304F
+ call_if_eq LilycoveCity_EventScript_1E304F
compare VAR_RESULT, 0
- call_if 1, LilycoveCity_EventScript_1E3058
+ call_if_eq LilycoveCity_EventScript_1E3058
release
end
diff --git a/data/maps/LilycoveCity_ContestLobby/scripts.inc b/data/maps/LilycoveCity_ContestLobby/scripts.inc
index a849925bd..c60e8fdfc 100644
--- a/data/maps/LilycoveCity_ContestLobby/scripts.inc
+++ b/data/maps/LilycoveCity_ContestLobby/scripts.inc
@@ -11,7 +11,7 @@ LilycoveCity_ContestLobby_MapScript1_21A21C: @ 821A21C
LilycoveCity_ContestLobby_EventScript_21A227:: @ 821A227
getpricereduction 4
compare VAR_RESULT, 1
- goto_eq LilycoveCity_ContestLobby_EventScript_21A23C
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_21A23C
clearflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_POKEBLOCK_EXPERT
setflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS
return
@@ -27,8 +27,7 @@ LilycoveCity_ContestLobby_MapScript2_21A243: @ 821A243
.2byte 0
LilycoveCity_ContestLobby_EventScript_21A255:: @ 821A255
- checkflag FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR
- goto_eq LilycoveCity_ContestLobby_EventScript_21A264
+ goto_if_set FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR, LilycoveCity_ContestLobby_EventScript_21A264
setvar VAR_0x4099, 0
end
@@ -37,7 +36,7 @@ LilycoveCity_ContestLobby_EventScript_21A264:: @ 821A264
addobject 4
applymovement 4, LilycoveCity_ContestLobby_Movement_21A407
waitmovement 4
- applymovement 255, LilycoveCity_ContestLobby_Movement_21A418
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_21A418
waitmovement 0
msgbox LilycoveCity_ContestLobby_Text_21ADB9, MSGBOX_DEFAULT
lockall
@@ -46,9 +45,9 @@ LilycoveCity_ContestLobby_EventScript_21A264:: @ 821A264
lockall
msgbox LilycoveCity_ContestLobby_Text_21AE78, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq LilycoveCity_ContestLobby_EventScript_21A2AA
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_21A2AA
compare VAR_RESULT, 0
- goto_eq LilycoveCity_ContestLobby_EventScript_21A2E4
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_21A2E4
releaseall
end
@@ -59,7 +58,7 @@ LilycoveCity_ContestLobby_EventScript_21A2AA:: @ 821A2AA
setvar VAR_0x4099, 0
specialvar VAR_RESULT, GiveMonArtistRibbon
compare VAR_RESULT, 1
- call_if 1, LilycoveCity_ContestLobby_EventScript_21A314
+ call_if_eq LilycoveCity_ContestLobby_EventScript_21A314
applymovement 4, LilycoveCity_ContestLobby_Movement_21A40F
waitmovement 0
removeobject 4
@@ -71,7 +70,7 @@ LilycoveCity_ContestLobby_EventScript_21A2AA:: @ 821A2AA
LilycoveCity_ContestLobby_EventScript_21A2E4:: @ 821A2E4
msgbox LilycoveCity_ContestLobby_Text_21B0BC, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq LilycoveCity_ContestLobby_EventScript_21A2AA
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_21A2AA
msgbox LilycoveCity_ContestLobby_Text_21B132, MSGBOX_DEFAULT
closemessage
applymovement 4, LilycoveCity_ContestLobby_Movement_21A40F
@@ -202,8 +201,7 @@ LilycoveCity_ContestLobby_Movement_21A41E: @ 821A41E
step_end
LilycoveCity_ContestLobby_EventScript_21A427:: @ 821A427
- checkflag FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR
- goto_eq LilycoveCity_ContestLobby_EventScript_21A436
+ goto_if_set FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR, LilycoveCity_ContestLobby_EventScript_21A436
setvar VAR_0x4099, 0
end
@@ -212,7 +210,7 @@ LilycoveCity_ContestLobby_EventScript_21A436:: @ 821A436
addobject 11
applymovement 11, LilycoveCity_ContestLobby_Movement_21A533
waitmovement 11
- applymovement 255, LilycoveCity_ContestLobby_Movement_21A545
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_21A545
waitmovement 0
msgbox LilycoveCity_ContestLobby_Text_21ADB9, MSGBOX_DEFAULT
lockall
@@ -220,9 +218,9 @@ LilycoveCity_ContestLobby_EventScript_21A436:: @ 821A436
drawcontestwinner 0
msgbox LilycoveCity_ContestLobby_Text_21AE78, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq LilycoveCity_ContestLobby_EventScript_21A47A
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_21A47A
compare VAR_RESULT, 0
- goto_eq LilycoveCity_ContestLobby_EventScript_21A4B4
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_21A4B4
end
LilycoveCity_ContestLobby_EventScript_21A47A:: @ 821A47A
@@ -232,7 +230,7 @@ LilycoveCity_ContestLobby_EventScript_21A47A:: @ 821A47A
setvar VAR_0x4099, 0
specialvar VAR_RESULT, GiveMonArtistRibbon
compare VAR_RESULT, 1
- call_if 1, LilycoveCity_ContestLobby_EventScript_21A4E4
+ call_if_eq LilycoveCity_ContestLobby_EventScript_21A4E4
applymovement 11, LilycoveCity_ContestLobby_Movement_21A53C
waitmovement 0
removeobject 11
@@ -244,7 +242,7 @@ LilycoveCity_ContestLobby_EventScript_21A47A:: @ 821A47A
LilycoveCity_ContestLobby_EventScript_21A4B4:: @ 821A4B4
msgbox LilycoveCity_ContestLobby_Text_21B0BC, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq LilycoveCity_ContestLobby_EventScript_21A47A
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_21A47A
msgbox LilycoveCity_ContestLobby_Text_21B132, MSGBOX_DEFAULT
closemessage
applymovement 11, LilycoveCity_ContestLobby_Movement_21A53C
@@ -321,7 +319,7 @@ LilycoveCity_ContestLobby_EventScript_21A554:: @ 821A554
special sub_80F9154
specialvar VAR_RESULT, sub_80F8D24
compare VAR_RESULT, 1
- goto_eq LilycoveCity_ContestLobby_EventScript_21A5CF
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_21A5CF
call LilycoveCity_ContestLobby_EventScript_279CC5
call LilycoveCity_ContestLobby_EventScript_21A670
special SetContestTrainerGfxIds
@@ -422,12 +420,12 @@ LilycoveCity_ContestLobby_EventScript_21A670:: @ 821A670
delay 20
applymovement 1, LilycoveCity_ContestLobby_Movement_21A706
waitmovement 0
- applymovement 255, LilycoveCity_ContestLobby_Movement_21A6F2
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_21A6F2
waitmovement 0
msgbox LilycoveCity_ContestLobby_Text_27B653, MSGBOX_DEFAULT
closemessage
applymovement 1, LilycoveCity_ContestLobby_Movement_21A6FD
- applymovement 255, LilycoveCity_ContestLobby_Movement_21A6E8
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_21A6E8
waitmovement 0
releaseall
return
@@ -643,10 +641,10 @@ LilycoveCity_ContestLobby_EventScript_21A819:: @ 821A819
LilycoveCity_ContestLobby_EventScript_21A856:: @ 821A856
msgbox LilycoveCity_ContestLobby_Text_27BD17, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq LilycoveCity_ContestLobby_EventScript_21A97F
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_21A97F
call LilycoveCity_ContestLobby_EventScript_27134F
compare VAR_RESULT, 0
- goto_eq LilycoveCity_ContestLobby_EventScript_21A97F
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_21A97F
message LilycoveCity_ContestLobby_Text_27C8FD
waitmessage
specialvar VAR_TEMP_D, IsWirelessAdapterConnected
@@ -666,7 +664,7 @@ LilycoveCity_ContestLobby_EventScript_21A8BB:: @ 821A8BB
LilycoveCity_ContestLobby_EventScript_21A8C6:: @ 821A8C6
setvar VAR_TEMP_C, 1
compare VAR_TEMP_D, 1
- goto_eq LilycoveCity_ContestLobby_EventScript_21AAFC
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_21AAFC
goto LilycoveCity_ContestLobby_EventScript_21A8DC
end
@@ -719,18 +717,18 @@ LilycoveCity_ContestLobby_EventScript_21A98C:: @ 821A98C
setvar VAR_CONTEST_RANK, 0
choosecontestmon
compare VAR_0x8004, 255
- goto_eq LilycoveCity_ContestLobby_EventScript_21A97F
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_21A97F
special sub_80F7F30
compare VAR_RESULT, 0
- goto_eq LilycoveCity_ContestLobby_EventScript_21A9E0
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_21A9E0
compare VAR_RESULT, 1
- goto_eq LilycoveCity_ContestLobby_EventScript_21AA0A
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_21AA0A
compare VAR_RESULT, 2
- goto_eq LilycoveCity_ContestLobby_EventScript_21AA0A
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_21AA0A
compare VAR_RESULT, 3
- goto_eq LilycoveCity_ContestLobby_EventScript_21A9EE
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_21A9EE
compare VAR_RESULT, 4
- goto_eq LilycoveCity_ContestLobby_EventScript_21A9FC
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_21A9FC
end
LilycoveCity_ContestLobby_EventScript_21A9E0:: @ 821A9E0
@@ -755,28 +753,28 @@ LilycoveCity_ContestLobby_EventScript_21AA0A:: @ 821AA0A
LilycoveCity_ContestLobby_EventScript_21AA15:: @ 821AA15
compare VAR_TEMP_D, 1
- goto_eq LilycoveCity_ContestLobby_EventScript_21AB4B
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_21AB4B
compare VAR_TEMP_D, 2
- goto_if 4, LilycoveCity_ContestLobby_EventScript_21A97F
+ goto_if_ge LilycoveCity_ContestLobby_EventScript_21A97F
message LilycoveCity_ContestLobby_Text_27BF85
waitmessage
copyvar VAR_0x8004, VAR_RESULT
compare VAR_TEMP_C, 0
- call_if 1, LilycoveCity_ContestLobby_EventScript_21AABB
+ call_if_eq LilycoveCity_ContestLobby_EventScript_21AABB
compare VAR_TEMP_C, 1
- call_if 1, LilycoveCity_ContestLobby_EventScript_21AAC0
+ call_if_eq LilycoveCity_ContestLobby_EventScript_21AAC0
compare VAR_TEMP_C, 2
- goto_if 4, LilycoveCity_ContestLobby_EventScript_21A97F
+ goto_if_ge LilycoveCity_ContestLobby_EventScript_21A97F
compare VAR_RESULT, 4
- goto_eq LilycoveCity_ContestLobby_EventScript_21AAD3
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_21AAD3
compare VAR_RESULT, 3
- goto_eq LilycoveCity_ContestLobby_EventScript_21AAD3
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_21AAD3
compare VAR_RESULT, 5
- goto_eq LilycoveCity_ContestLobby_EventScript_21A97F
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_21A97F
compare VAR_RESULT, 6
- goto_eq LilycoveCity_ContestLobby_EventScript_21AAEF
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_21AAEF
compare VAR_RESULT, 10
- goto_eq LilycoveCity_ContestLobby_EventScript_21AAE1
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_21AAE1
message3 LilycoveCity_ContestLobby_Text_27BEEC
contestlinktransfer
switch VAR_0x8004
@@ -844,15 +842,15 @@ LilycoveCity_ContestLobby_EventScript_21AB17:: @ 821AB17
LilycoveCity_ContestLobby_EventScript_21AB4B:: @ 821AB4B
compare VAR_CONTEST_CATEGORY, 0
- call_if 1, LilycoveCity_ContestLobby_EventScript_21AB88
+ call_if_eq LilycoveCity_ContestLobby_EventScript_21AB88
compare VAR_CONTEST_CATEGORY, 1
- call_if 1, LilycoveCity_ContestLobby_EventScript_21AB8E
+ call_if_eq LilycoveCity_ContestLobby_EventScript_21AB8E
compare VAR_CONTEST_CATEGORY, 2
- call_if 1, LilycoveCity_ContestLobby_EventScript_21AB94
+ call_if_eq LilycoveCity_ContestLobby_EventScript_21AB94
compare VAR_CONTEST_CATEGORY, 3
- call_if 1, LilycoveCity_ContestLobby_EventScript_21AB9A
+ call_if_eq LilycoveCity_ContestLobby_EventScript_21AB9A
compare VAR_CONTEST_CATEGORY, 4
- call_if 1, LilycoveCity_ContestLobby_EventScript_21ABA0
+ call_if_eq LilycoveCity_ContestLobby_EventScript_21ABA0
goto LilycoveCity_ContestLobby_EventScript_21ABA6
end
@@ -890,22 +888,22 @@ LilycoveCity_ContestLobby_EventScript_21ABA6:: @ 821ABA6
LilycoveCity_ContestLobby_EventScript_21ABE3:: @ 821ABE3
call LilycoveCity_ContestLobby_EventScript_21AC33
compare VAR_RESULT, 1
- goto_eq LilycoveCity_ContestLobby_EventScript_21AC3D
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_21AC3D
compare VAR_RESULT, 5
- goto_eq LilycoveCity_ContestLobby_EventScript_21ABA6
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_21ABA6
compare VAR_RESULT, 8
- goto_eq LilycoveCity_ContestLobby_EventScript_21ABE3
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_21ABE3
release
end
LilycoveCity_ContestLobby_EventScript_21AC0B:: @ 821AC0B
call LilycoveCity_ContestLobby_EventScript_21AC38
compare VAR_RESULT, 1
- goto_eq LilycoveCity_ContestLobby_EventScript_21AC3D
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_21AC3D
compare VAR_RESULT, 5
- goto_eq LilycoveCity_ContestLobby_EventScript_21ABA6
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_21ABA6
compare VAR_RESULT, 8
- goto_eq LilycoveCity_ContestLobby_EventScript_21AC0B
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_21AC0B
release
end
@@ -945,7 +943,7 @@ LilycoveCity_ContestLobby_EventScript_21AC49:: @ 821AC49
delay 20
applymovement 2, LilycoveCity_ContestLobby_Movement_21ACEF
waitmovement 0
- applymovement 255, LilycoveCity_ContestLobby_Movement_21ACDB
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_21ACDB
waitmovement 0
messageautoscroll LilycoveCity_ContestLobby_Text_27B653
waitmessage
@@ -953,7 +951,7 @@ LilycoveCity_ContestLobby_EventScript_21AC49:: @ 821AC49
closemessage
call LilycoveCity_ContestLobby_EventScript_27AD92
applymovement 2, LilycoveCity_ContestLobby_Movement_21ACE5
- applymovement 255, LilycoveCity_ContestLobby_Movement_21ACD0
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_ContestLobby_Movement_21ACD0
waitmovement 0
release
return
@@ -1006,8 +1004,7 @@ LilycoveCity_ContestLobby_Movement_21ACEF: @ 821ACEF
LilycoveCity_ContestLobby_EventScript_21ACF1:: @ 821ACF1
lock
faceplayer
- checkflag FLAG_0x05F
- goto_eq LilycoveCity_ContestLobby_EventScript_21AD06
+ goto_if_set FLAG_0x05F, LilycoveCity_ContestLobby_EventScript_21AD06
msgbox LilycoveCity_ContestLobby_Text_21AD10, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/LilycoveCity_CoveLilyMotel_1F/scripts.inc b/data/maps/LilycoveCity_CoveLilyMotel_1F/scripts.inc
index 18ef70cfd..7ccc8b82f 100644
--- a/data/maps/LilycoveCity_CoveLilyMotel_1F/scripts.inc
+++ b/data/maps/LilycoveCity_CoveLilyMotel_1F/scripts.inc
@@ -3,10 +3,8 @@ LilycoveCity_CoveLilyMotel_1F_MapScripts:: @ 8218188
LilycoveCity_CoveLilyMotel_1F_EventScript_218189:: @ 8218189
lockall
- checkflag FLAG_SYS_GAME_CLEAR
- goto_eq LilycoveCity_CoveLilyMotel_1F_EventScript_2181EA
- checkflag FLAG_BADGE07_GET
- goto_eq LilycoveCity_CoveLilyMotel_1F_EventScript_2181C3
+ 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
applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_27259E
waitmovement 0
@@ -46,11 +44,11 @@ LilycoveCity_CoveLilyMotel_1F_EventScript_218211:: @ 8218211
waitmovement 0
applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_27259A
waitmovement 0
- applymovement 255, LilycoveCity_CoveLilyMotel_1F_Movement_2725AA
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_CoveLilyMotel_1F_Movement_2725AA
waitmovement 0
msgbox LilycoveCity_CoveLilyMotel_1F_Text_21839B, MSGBOX_DEFAULT
closemessage
- applymovement 255, LilycoveCity_CoveLilyMotel_1F_Movement_218259
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_CoveLilyMotel_1F_Movement_218259
applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_21825E
waitmovement 0
applymovement 1, LilycoveCity_CoveLilyMotel_1F_Movement_218260
diff --git a/data/maps/LilycoveCity_CoveLilyMotel_2F/scripts.inc b/data/maps/LilycoveCity_CoveLilyMotel_2F/scripts.inc
index 33f67ff9a..2290b7df5 100644
--- a/data/maps/LilycoveCity_CoveLilyMotel_2F/scripts.inc
+++ b/data/maps/LilycoveCity_CoveLilyMotel_2F/scripts.inc
@@ -4,13 +4,11 @@ LilycoveCity_CoveLilyMotel_2F_MapScripts:: @ 82186D2
LilycoveCity_CoveLilyMotel_2F_EventScript_2186D3:: @ 82186D3
lock
faceplayer
- checkflag FLAG_TEMP_2
- call_if 0, LilycoveCity_CoveLilyMotel_2F_EventScript_2186F9
- checkflag FLAG_TEMP_2
- call_if 1, LilycoveCity_CoveLilyMotel_2F_EventScript_21870F
+ call_if_unset FLAG_TEMP_2, LilycoveCity_CoveLilyMotel_2F_EventScript_2186F9
+ call_if_set FLAG_TEMP_2, LilycoveCity_CoveLilyMotel_2F_EventScript_21870F
specialvar VAR_RESULT, sub_80C08E4
compare VAR_RESULT, 1
- goto_eq LilycoveCity_CoveLilyMotel_2F_EventScript_218702
+ goto_if_eq LilycoveCity_CoveLilyMotel_2F_EventScript_218702
release
end
@@ -57,8 +55,7 @@ LilycoveCity_CoveLilyMotel_2F_EventScript_218744:: @ 8218744
LilycoveCity_CoveLilyMotel_2F_EventScript_21874D:: @ 821874D
lock
faceplayer
- checkflag FLAG_0x1CE
- goto_eq LilycoveCity_CoveLilyMotel_2F_EventScript_21876A
+ goto_if_set FLAG_0x1CE, LilycoveCity_CoveLilyMotel_2F_EventScript_21876A
msgbox LilycoveCity_CoveLilyMotel_2F_Text_218ACF, MSGBOX_DEFAULT
addvar VAR_0x40D1, 1
setflag FLAG_0x1CE
diff --git a/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc b/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc
index bcc3649e2..80a93df47 100644
--- a/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc
+++ b/data/maps/LilycoveCity_DepartmentStoreElevator/scripts.inc
@@ -5,8 +5,7 @@ LilycoveCity_DepartmentStoreElevator_EventScript_220624:: @ 8220624
lock
faceplayer
setvar VAR_0x8004, 0
- checkflag FLAG_TEMP_2
- call_if 0, LilycoveCity_DepartmentStoreElevator_EventScript_2207FC
+ call_if_unset FLAG_TEMP_2, LilycoveCity_DepartmentStoreElevator_EventScript_2207FC
copyvar VAR_0x8005, VAR_DEPT_STORE_FLOOR
special sub_8139B60
message gUnknown_08272C1D
@@ -61,7 +60,7 @@ LilycoveCity_DepartmentStoreElevator_EventScript_220718:: @ 8220718
setvar VAR_0x8006, 4
setdynamicwarp MAP_LILYCOVE_CITY_DEPARTMENT_STORE_1F, 255, 2, 1
compare VAR_DEPT_STORE_FLOOR, 4
- goto_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
+ goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
call LilycoveCity_DepartmentStoreElevator_EventScript_2207E5
setvar VAR_DEPT_STORE_FLOOR, 4
goto LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
@@ -71,7 +70,7 @@ LilycoveCity_DepartmentStoreElevator_EventScript_220740:: @ 8220740
setvar VAR_0x8006, 5
setdynamicwarp MAP_LILYCOVE_CITY_DEPARTMENT_STORE_2F, 255, 2, 1
compare VAR_DEPT_STORE_FLOOR, 5
- goto_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
+ goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
call LilycoveCity_DepartmentStoreElevator_EventScript_2207E5
setvar VAR_DEPT_STORE_FLOOR, 5
goto LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
@@ -81,7 +80,7 @@ LilycoveCity_DepartmentStoreElevator_EventScript_220768:: @ 8220768
setvar VAR_0x8006, 6
setdynamicwarp MAP_LILYCOVE_CITY_DEPARTMENT_STORE_3F, 255, 2, 1
compare VAR_DEPT_STORE_FLOOR, 6
- goto_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
+ goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
call LilycoveCity_DepartmentStoreElevator_EventScript_2207E5
setvar VAR_DEPT_STORE_FLOOR, 6
goto LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
@@ -91,7 +90,7 @@ LilycoveCity_DepartmentStoreElevator_EventScript_220790:: @ 8220790
setvar VAR_0x8006, 7
setdynamicwarp MAP_LILYCOVE_CITY_DEPARTMENT_STORE_4F, 255, 2, 1
compare VAR_DEPT_STORE_FLOOR, 7
- goto_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
+ goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
call LilycoveCity_DepartmentStoreElevator_EventScript_2207E5
setvar VAR_DEPT_STORE_FLOOR, 7
goto LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
@@ -101,7 +100,7 @@ LilycoveCity_DepartmentStoreElevator_EventScript_2207B8:: @ 82207B8
setvar VAR_0x8006, 8
setdynamicwarp MAP_LILYCOVE_CITY_DEPARTMENT_STORE_5F, 255, 2, 1
compare VAR_DEPT_STORE_FLOOR, 8
- goto_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
+ goto_if_eq LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
call LilycoveCity_DepartmentStoreElevator_EventScript_2207E5
setvar VAR_DEPT_STORE_FLOOR, 8
goto LilycoveCity_DepartmentStoreElevator_EventScript_2207E0
diff --git a/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc b/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc
index dbb552409..d5379f96a 100644
--- a/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc
+++ b/data/maps/LilycoveCity_DepartmentStoreRooftop/scripts.inc
@@ -5,9 +5,9 @@ LilycoveCity_DepartmentStoreRooftop_MapScripts:: @ 8220207
LilycoveCity_DepartmentStoreRooftop_MapScript1_22020D: @ 822020D
getpricereduction 3
compare VAR_RESULT, 1
- call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_220227
+ call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220227
compare VAR_RESULT, 0
- call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_22022B
+ call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_22022B
end
LilycoveCity_DepartmentStoreRooftop_EventScript_220227:: @ 8220227
@@ -53,7 +53,7 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_220268:: @ 8220268
faceplayer
getpricereduction 3
compare VAR_RESULT, 1
- call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_220282
+ call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220282
msgbox LilycoveCity_DepartmentStoreRooftop_Text_220463, MSGBOX_DEFAULT
release
end
@@ -127,22 +127,22 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_220328:: @ 8220328
LilycoveCity_DepartmentStoreRooftop_EventScript_22032F:: @ 822032F
compare VAR_TEMP_1, 0
- call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_220305
+ call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220305
compare VAR_TEMP_1, 1
- call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_22030C
+ call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_22030C
compare VAR_TEMP_1, 2
- call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_220313
+ call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220313
compare VAR_RESULT, 0
- goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220442
+ goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220442
checkitemspace VAR_TEMP_0, 1
compare VAR_RESULT, 0
- goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220450
+ goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220450
compare VAR_TEMP_1, 0
- call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_22031A
+ call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_22031A
compare VAR_TEMP_1, 1
- call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_220321
+ call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220321
compare VAR_TEMP_1, 2
- call_if 1, LilycoveCity_DepartmentStoreRooftop_EventScript_220328
+ call_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220328
updatemoneybox 0, 0
nop
bufferitemname 0, VAR_TEMP_0
@@ -154,10 +154,10 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_22032F:: @ 822032F
msgbox gUnknown_08272A9A, MSGBOX_DEFAULT
random 64
compare VAR_RESULT, 0
- goto_if 5, LilycoveCity_DepartmentStoreRooftop_EventScript_220436
+ goto_if_ne LilycoveCity_DepartmentStoreRooftop_EventScript_220436
checkitemspace VAR_TEMP_0, 1
compare VAR_RESULT, 0
- goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220450
+ goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220450
playse SE_JIHANKI
msgbox LilycoveCity_DepartmentStoreRooftop_Text_2205C2, MSGBOX_DEFAULT
giveitem VAR_TEMP_0, 1
@@ -166,10 +166,10 @@ LilycoveCity_DepartmentStoreRooftop_EventScript_22032F:: @ 822032F
msgbox gUnknown_08272A9A, MSGBOX_DEFAULT
random 64
compare VAR_RESULT, 0
- goto_if 5, LilycoveCity_DepartmentStoreRooftop_EventScript_220436
+ goto_if_ne LilycoveCity_DepartmentStoreRooftop_EventScript_220436
checkitemspace VAR_TEMP_0, 1
compare VAR_RESULT, 0
- goto_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220450
+ goto_if_eq LilycoveCity_DepartmentStoreRooftop_EventScript_220450
playse SE_JIHANKI
msgbox LilycoveCity_DepartmentStoreRooftop_Text_2205C2, MSGBOX_DEFAULT
giveitem VAR_TEMP_0, 1
diff --git a/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc b/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc
index fece7f16e..d2d5f60d6 100644
--- a/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc
+++ b/data/maps/LilycoveCity_DepartmentStore_1F/scripts.inc
@@ -10,12 +10,11 @@ LilycoveCity_DepartmentStore_1F_EventScript_21F69C:: @ 821F69C
faceplayer
dodailyevents
compare VAR_POKELOT_PRIZE, 0
- goto_if 5, LilycoveCity_DepartmentStore_1F_EventScript_21F7F7
- checkflag FLAG_0x92A
- goto_eq LilycoveCity_DepartmentStore_1F_EventScript_21F78D
+ goto_if_ne LilycoveCity_DepartmentStore_1F_EventScript_21F7F7
+ goto_if_set FLAG_0x92A, LilycoveCity_DepartmentStore_1F_EventScript_21F78D
msgbox LilycoveCity_DepartmentStore_1F_Text_2A6390, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq LilycoveCity_DepartmentStore_1F_EventScript_21F797
+ goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F797
setflag FLAG_0x92A
message LilycoveCity_DepartmentStore_1F_Text_2A64C8
waitmessage
@@ -34,24 +33,24 @@ LilycoveCity_DepartmentStore_1F_EventScript_21F69C:: @ 821F69C
applymovement 2, LilycoveCity_DepartmentStore_1F_Movement_27259E
waitmovement 0
compare VAR_0x8004, 0
- goto_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7A1
+ goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7A1
incrementgamestat 46
compare VAR_0x8006, 0
- call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_21F77B
+ call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F77B
compare VAR_0x8006, 1
- call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_21F784
+ call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F784
bufferitemname 0, VAR_0x8005
compare VAR_0x8004, 1
- call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_21F7B9
+ call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7B9
compare VAR_0x8004, 2
- call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_21F7C2
+ call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7C2
compare VAR_0x8004, 3
- call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_21F7CB
+ call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7CB
compare VAR_0x8004, 4
- call_if 1, LilycoveCity_DepartmentStore_1F_EventScript_21F7D4
+ call_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7D4
giveitem_std VAR_0x8005
compare VAR_RESULT, 0
- goto_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7DD
+ goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7DD
special sub_80EE2CC
goto LilycoveCity_DepartmentStore_1F_EventScript_21F7AF
end
@@ -115,7 +114,7 @@ LilycoveCity_DepartmentStore_1F_EventScript_21F7F7:: @ 821F7F7
msgbox LilycoveCity_DepartmentStore_1F_Text_2A67E1, MSGBOX_DEFAULT
giveitem_std VAR_POKELOT_PRIZE
compare VAR_RESULT, 0
- goto_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7ED
+ goto_if_eq LilycoveCity_DepartmentStore_1F_EventScript_21F7ED
copyvar VAR_0x8004, VAR_0x404D
copyvar VAR_0x8005, VAR_POKELOT_PRIZE
special sub_80EE2CC
diff --git a/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc b/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc
index 9f55dbc04..b278d3e14 100644
--- a/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc
+++ b/data/maps/LilycoveCity_DepartmentStore_5F/scripts.inc
@@ -126,9 +126,9 @@ LilycoveCity_DepartmentStore_5F_EventScript_220075:: @ 8220075
applymovement 7, LilycoveCity_DepartmentStore_5F_Movement_27259E
waitmovement 0
compare VAR_0x405E, 0
- goto_eq LilycoveCity_DepartmentStore_5F_EventScript_22009C
+ goto_if_eq LilycoveCity_DepartmentStore_5F_EventScript_22009C
compare VAR_0x405E, 4
- goto_if 4, LilycoveCity_DepartmentStore_5F_EventScript_22009C
+ goto_if_ge LilycoveCity_DepartmentStore_5F_EventScript_22009C
goto LilycoveCity_DepartmentStore_5F_EventScript_2200A7
end
diff --git a/data/maps/LilycoveCity_Harbor/scripts.inc b/data/maps/LilycoveCity_Harbor/scripts.inc
index 67ef01e09..62bcc15dd 100644
--- a/data/maps/LilycoveCity_Harbor/scripts.inc
+++ b/data/maps/LilycoveCity_Harbor/scripts.inc
@@ -9,8 +9,7 @@ LilycoveCity_Harbor_MapScript1_21E006: @ 821E006
LilycoveCity_Harbor_EventScript_21E00F:: @ 821E00F
lock
faceplayer
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, LilycoveCity_Harbor_EventScript_21E54D
+ 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
@@ -18,23 +17,23 @@ LilycoveCity_Harbor_EventScript_21E00F:: @ 821E00F
call LilycoveCity_Harbor_EventScript_21E25C
call LilycoveCity_Harbor_EventScript_21E2A6
compare VAR_TEMP_C, 2
- goto_eq LilycoveCity_Harbor_EventScript_21E350
+ goto_if_eq LilycoveCity_Harbor_EventScript_21E350
compare VAR_TEMP_B, 1
- goto_eq LilycoveCity_Harbor_EventScript_21E2F0
+ goto_if_eq LilycoveCity_Harbor_EventScript_21E2F0
compare VAR_TEMP_B, 2
- goto_eq LilycoveCity_Harbor_EventScript_21E320
+ goto_if_eq LilycoveCity_Harbor_EventScript_21E320
compare VAR_TEMP_B, 4
- goto_eq LilycoveCity_Harbor_EventScript_21E350
+ goto_if_eq LilycoveCity_Harbor_EventScript_21E350
compare VAR_TEMP_B, 8
- goto_eq LilycoveCity_Harbor_EventScript_21E41D
+ goto_if_eq LilycoveCity_Harbor_EventScript_21E41D
compare VAR_TEMP_B, 0
- goto_if 5, LilycoveCity_Harbor_EventScript_21E44D
+ goto_if_ne LilycoveCity_Harbor_EventScript_21E44D
goto LilycoveCity_Harbor_EventScript_21E080
end
LilycoveCity_Harbor_EventScript_21E080:: @ 821E080
compare VAR_TEMP_A, 0
- goto_eq LilycoveCity_Harbor_EventScript_21E557
+ goto_if_eq LilycoveCity_Harbor_EventScript_21E557
msgbox LilycoveCity_Harbor_Text_21E758, MSGBOX_DEFAULT
message LilycoveCity_Harbor_Text_21E7ED
waitmessage
@@ -88,7 +87,7 @@ LilycoveCity_Harbor_EventScript_21E139:: @ 821E139
LilycoveCity_Harbor_EventScript_21E149:: @ 821E149
msgbox LilycoveCity_Harbor_Text_21E864, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq LilycoveCity_Harbor_EventScript_21E5C0
+ goto_if_eq LilycoveCity_Harbor_EventScript_21E5C0
setvar VAR_PORTHOLE_STATE, 5
call LilycoveCity_Harbor_EventScript_21E5CC
warp MAP_SS_TIDAL_CORRIDOR, 255, 1, 10
@@ -99,7 +98,7 @@ LilycoveCity_Harbor_EventScript_21E149:: @ 821E149
LilycoveCity_Harbor_EventScript_21E171:: @ 821E171
msgbox LilycoveCity_Harbor_Text_21E880, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq LilycoveCity_Harbor_EventScript_21E5C0
+ goto_if_eq LilycoveCity_Harbor_EventScript_21E5C0
call LilycoveCity_Harbor_EventScript_21E5CC
warp MAP_BATTLE_FRONTIER_OUTSIDE_WEST, 255, 19, 67
waitstate
@@ -108,66 +107,58 @@ LilycoveCity_Harbor_EventScript_21E171:: @ 821E171
LilycoveCity_Harbor_EventScript_21E194:: @ 821E194
setvar VAR_TEMP_E, 0
- checkflag FLAG_SYS_HAS_EON_TICKET
- goto_if 0, LilycoveCity_Harbor_EventScript_27374E
+ goto_if_unset FLAG_SYS_HAS_EON_TICKET, LilycoveCity_Harbor_EventScript_27374E
checkitem ITEM_EON_TICKET, 1
compare VAR_RESULT, 0
- goto_eq LilycoveCity_Harbor_EventScript_27374E
+ goto_if_eq LilycoveCity_Harbor_EventScript_27374E
setvar VAR_TEMP_E, 1
- checkflag FLAG_0x1AE
- goto_eq LilycoveCity_Harbor_EventScript_27374E
+ goto_if_set FLAG_0x1AE, LilycoveCity_Harbor_EventScript_27374E
setvar VAR_TEMP_E, 2
return
LilycoveCity_Harbor_EventScript_21E1C6:: @ 821E1C6
setvar VAR_TEMP_D, 0
- checkflag FLAG_0x8D5
- goto_if 0, LilycoveCity_Harbor_EventScript_27374E
+ goto_if_unset FLAG_0x8D5, LilycoveCity_Harbor_EventScript_27374E
checkitem ITEM_AURORA_TICKET, 1
compare VAR_RESULT, 0
- goto_eq LilycoveCity_Harbor_EventScript_27374E
+ goto_if_eq LilycoveCity_Harbor_EventScript_27374E
setvar VAR_TEMP_D, 1
- checkflag FLAG_0x1AF
- goto_eq LilycoveCity_Harbor_EventScript_27374E
+ goto_if_set FLAG_0x1AF, LilycoveCity_Harbor_EventScript_27374E
setvar VAR_TEMP_D, 2
return
LilycoveCity_Harbor_EventScript_21E1F8:: @ 821E1F8
setvar VAR_TEMP_C, 0
- checkflag FLAG_0x8D6
- goto_if 0, LilycoveCity_Harbor_EventScript_27374E
+ goto_if_unset FLAG_0x8D6, LilycoveCity_Harbor_EventScript_27374E
checkitem ITEM_OLD_SEA_MAP, 1
compare VAR_RESULT, 0
- goto_eq LilycoveCity_Harbor_EventScript_27374E
+ goto_if_eq LilycoveCity_Harbor_EventScript_27374E
setvar VAR_TEMP_C, 1
- checkflag FLAG_0x1B0
- goto_eq LilycoveCity_Harbor_EventScript_27374E
+ goto_if_set FLAG_0x1B0, LilycoveCity_Harbor_EventScript_27374E
setvar VAR_TEMP_C, 2
return
LilycoveCity_Harbor_EventScript_21E22A:: @ 821E22A
setvar VAR_TEMP_9, 0
- checkflag FLAG_0x8E0
- goto_if 0, LilycoveCity_Harbor_EventScript_27374E
+ goto_if_unset FLAG_0x8E0, LilycoveCity_Harbor_EventScript_27374E
checkitem ITEM_MYSTIC_TICKET, 1
compare VAR_RESULT, 0
- goto_eq LilycoveCity_Harbor_EventScript_27374E
+ goto_if_eq LilycoveCity_Harbor_EventScript_27374E
setvar VAR_TEMP_9, 1
- checkflag FLAG_0x1DB
- goto_eq LilycoveCity_Harbor_EventScript_27374E
+ goto_if_set FLAG_0x1DB, LilycoveCity_Harbor_EventScript_27374E
setvar VAR_TEMP_9, 2
return
LilycoveCity_Harbor_EventScript_21E25C:: @ 821E25C
setvar VAR_TEMP_B, 0
compare VAR_TEMP_E, 2
- call_if 1, LilycoveCity_Harbor_EventScript_21E28E
+ call_if_eq LilycoveCity_Harbor_EventScript_21E28E
compare VAR_TEMP_D, 2
- call_if 1, LilycoveCity_Harbor_EventScript_21E294
+ call_if_eq LilycoveCity_Harbor_EventScript_21E294
compare VAR_TEMP_C, 2
- call_if 1, LilycoveCity_Harbor_EventScript_21E29A
+ call_if_eq LilycoveCity_Harbor_EventScript_21E29A
compare VAR_TEMP_9, 2
- call_if 1, LilycoveCity_Harbor_EventScript_21E2A0
+ call_if_eq LilycoveCity_Harbor_EventScript_21E2A0
return
LilycoveCity_Harbor_EventScript_21E28E:: @ 821E28E
@@ -189,13 +180,13 @@ LilycoveCity_Harbor_EventScript_21E2A0:: @ 821E2A0
LilycoveCity_Harbor_EventScript_21E2A6:: @ 821E2A6
setvar VAR_TEMP_A, 0
compare VAR_TEMP_E, 1
- call_if 1, LilycoveCity_Harbor_EventScript_21E2D8
+ call_if_eq LilycoveCity_Harbor_EventScript_21E2D8
compare VAR_TEMP_D, 1
- call_if 1, LilycoveCity_Harbor_EventScript_21E2DE
+ call_if_eq LilycoveCity_Harbor_EventScript_21E2DE
compare VAR_TEMP_C, 1
- call_if 1, LilycoveCity_Harbor_EventScript_21E2E4
+ call_if_eq LilycoveCity_Harbor_EventScript_21E2E4
compare VAR_TEMP_9, 1
- call_if 1, LilycoveCity_Harbor_EventScript_21E2EA
+ call_if_eq LilycoveCity_Harbor_EventScript_21E2EA
return
LilycoveCity_Harbor_EventScript_21E2D8:: @ 821E2D8
@@ -263,25 +254,25 @@ LilycoveCity_Harbor_EventScript_21E350:: @ 821E350
applymovement 4, LilycoveCity_Harbor_Movement_27259A
waitmovement 0
compare VAR_FACING, 2
- call_if 1, LilycoveCity_Harbor_EventScript_21E656
+ call_if_eq LilycoveCity_Harbor_EventScript_21E656
compare VAR_FACING, 4
- call_if 1, LilycoveCity_Harbor_EventScript_21E661
+ call_if_eq LilycoveCity_Harbor_EventScript_21E661
addobject 5
compare VAR_FACING, 2
- call_if 1, LilycoveCity_Harbor_EventScript_21E675
+ call_if_eq LilycoveCity_Harbor_EventScript_21E675
compare VAR_FACING, 4
- call_if 1, LilycoveCity_Harbor_EventScript_21E680
+ call_if_eq LilycoveCity_Harbor_EventScript_21E680
msgbox LilycoveCity_Harbor_Text_2C6951, MSGBOX_DEFAULT
compare VAR_FACING, 2
- call_if 1, LilycoveCity_Harbor_EventScript_21E68B
+ call_if_eq LilycoveCity_Harbor_EventScript_21E68B
compare VAR_FACING, 4
- call_if 1, LilycoveCity_Harbor_EventScript_21E696
+ call_if_eq LilycoveCity_Harbor_EventScript_21E696
msgbox LilycoveCity_Harbor_Text_2C69AA, MSGBOX_DEFAULT
closemessage
compare VAR_FACING, 2
- call_if 1, LilycoveCity_Harbor_EventScript_21E6A1
+ call_if_eq LilycoveCity_Harbor_EventScript_21E6A1
compare VAR_FACING, 4
- call_if 1, LilycoveCity_Harbor_EventScript_21E6BA
+ call_if_eq LilycoveCity_Harbor_EventScript_21E6BA
setvar VAR_0x8004, 2
call LilycoveCity_Harbor_EventScript_2721E2
warp MAP_FARAWAY_ISLAND_ENTRANCE, 255, 13, 38
@@ -368,11 +359,11 @@ LilycoveCity_Harbor_EventScript_21E514:: @ 821E514
delay 30
removeobject 4
compare VAR_FACING, 2
- call_if 1, LilycoveCity_Harbor_EventScript_21E61B
+ call_if_eq LilycoveCity_Harbor_EventScript_21E61B
compare VAR_FACING, 4
- call_if 1, LilycoveCity_Harbor_EventScript_21E610
+ call_if_eq LilycoveCity_Harbor_EventScript_21E610
delay 30
- hideobjectat 255, MAP_PETALBURG_CITY
+ hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY
setvar VAR_0x8004, 2
call LilycoveCity_Harbor_EventScript_2721E2
return
@@ -397,7 +388,7 @@ LilycoveCity_Harbor_EventScript_21E56B:: @ 821E56B
LilycoveCity_Harbor_EventScript_21E575:: @ 821E575
msgbox LilycoveCity_Harbor_Text_21E864, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq LilycoveCity_Harbor_EventScript_21E5C0
+ goto_if_eq LilycoveCity_Harbor_EventScript_21E5C0
setvar VAR_PORTHOLE_STATE, 5
call LilycoveCity_Harbor_EventScript_21E5CC
warp MAP_SS_TIDAL_CORRIDOR, 255, 1, 10
@@ -408,7 +399,7 @@ LilycoveCity_Harbor_EventScript_21E575:: @ 821E575
LilycoveCity_Harbor_EventScript_21E59D:: @ 821E59D
msgbox LilycoveCity_Harbor_Text_21E880, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq LilycoveCity_Harbor_EventScript_21E5C0
+ goto_if_eq LilycoveCity_Harbor_EventScript_21E5C0
call LilycoveCity_Harbor_EventScript_21E5CC
warp MAP_BATTLE_FRONTIER_OUTSIDE_WEST, 255, 19, 67
waitstate
@@ -429,22 +420,22 @@ LilycoveCity_Harbor_EventScript_21E5CC:: @ 821E5CC
delay 30
hideobjectat VAR_LAST_TALKED, MAP_LILYCOVE_CITY_HARBOR
compare VAR_FACING, 2
- call_if 1, LilycoveCity_Harbor_EventScript_21E61B
+ call_if_eq LilycoveCity_Harbor_EventScript_21E61B
compare VAR_FACING, 4
- call_if 1, LilycoveCity_Harbor_EventScript_21E610
+ call_if_eq LilycoveCity_Harbor_EventScript_21E610
delay 30
- hideobjectat 255, MAP_PETALBURG_CITY
+ hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY
setvar VAR_0x8004, 2
call LilycoveCity_Harbor_EventScript_2721E2
return
LilycoveCity_Harbor_EventScript_21E610:: @ 821E610
- applymovement 255, LilycoveCity_Harbor_Movement_21E630
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_Harbor_Movement_21E630
waitmovement 0
return
LilycoveCity_Harbor_EventScript_21E61B:: @ 821E61B
- applymovement 255, LilycoveCity_Harbor_Movement_21E633
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_Harbor_Movement_21E633
waitmovement 0
return
@@ -469,8 +460,7 @@ LilycoveCity_Harbor_Movement_21E635: @ 821E635
LilycoveCity_Harbor_EventScript_21E637:: @ 821E637
lock
faceplayer
- checkflag FLAG_SYS_GAME_CLEAR
- goto_eq LilycoveCity_Harbor_EventScript_21E64C
+ goto_if_set FLAG_SYS_GAME_CLEAR, LilycoveCity_Harbor_EventScript_21E64C
msgbox LilycoveCity_Harbor_Text_21E8EE, MSGBOX_DEFAULT
release
end
@@ -525,14 +515,14 @@ LilycoveCity_Harbor_EventScript_21E696:: @ 821E696
LilycoveCity_Harbor_EventScript_21E6A1:: @ 821E6A1
applymovement 5, LilycoveCity_Harbor_Movement_21E6D3
- applymovement 255, LilycoveCity_Harbor_Movement_21E6D7
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_Harbor_Movement_21E6D7
applymovement 4, LilycoveCity_Harbor_Movement_21E6DC
waitmovement 0
return
LilycoveCity_Harbor_EventScript_21E6BA:: @ 821E6BA
applymovement 5, LilycoveCity_Harbor_Movement_21E6D3
- applymovement 255, LilycoveCity_Harbor_Movement_21E6E4
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_Harbor_Movement_21E6E4
applymovement 4, LilycoveCity_Harbor_Movement_21E6EA
waitmovement 0
return
diff --git a/data/maps/LilycoveCity_House2/scripts.inc b/data/maps/LilycoveCity_House2/scripts.inc
index 6069f0fa7..dc526f00b 100644
--- a/data/maps/LilycoveCity_House2/scripts.inc
+++ b/data/maps/LilycoveCity_House2/scripts.inc
@@ -4,12 +4,11 @@ LilycoveCity_House2_MapScripts:: @ 821ED74
LilycoveCity_House2_EventScript_21ED75:: @ 821ED75
lock
faceplayer
- checkflag FLAG_0x0EA
- goto_eq LilycoveCity_House2_EventScript_21EDAC
+ goto_if_set FLAG_0x0EA, LilycoveCity_House2_EventScript_21EDAC
msgbox LilycoveCity_House2_Text_21EDB6, MSGBOX_DEFAULT
giveitem_std ITEM_TM44
compare VAR_RESULT, 0
- goto_eq LilycoveCity_House2_EventScript_272054
+ goto_if_eq LilycoveCity_House2_EventScript_272054
setflag FLAG_0x0EA
msgbox LilycoveCity_House2_Text_21EDF9, MSGBOX_DEFAULT
release
diff --git a/data/maps/LilycoveCity_House3/scripts.inc b/data/maps/LilycoveCity_House3/scripts.inc
index 8c3f4f7ab..644c50113 100644
--- a/data/maps/LilycoveCity_House3/scripts.inc
+++ b/data/maps/LilycoveCity_House3/scripts.inc
@@ -12,7 +12,7 @@ LilycoveCity_House3_EventScript_21EE4B:: @ 821EE4B
faceplayer
msgbox LilycoveCity_House3_Text_21EF99, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq LilycoveCity_House3_EventScript_21EE75
+ goto_if_eq LilycoveCity_House3_EventScript_21EE75
msgbox LilycoveCity_House3_Text_21F0F8, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, LilycoveCity_House3_Movement_2725A2
diff --git a/data/maps/LilycoveCity_LilycoveMuseum_1F/scripts.inc b/data/maps/LilycoveCity_LilycoveMuseum_1F/scripts.inc
index f56102a99..89ac90dc6 100644
--- a/data/maps/LilycoveCity_LilycoveMuseum_1F/scripts.inc
+++ b/data/maps/LilycoveCity_LilycoveMuseum_1F/scripts.inc
@@ -12,9 +12,9 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_218CC2:: @ 8218CC2
waitmessage
multichoice 20, 8, 16, 1
compare VAR_RESULT, 0
- goto_eq LilycoveCity_LilycoveMuseum_1F_EventScript_218CF5
+ goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_218CF5
compare VAR_RESULT, 1
- goto_eq LilycoveCity_LilycoveMuseum_1F_EventScript_218CEC
+ goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_218CEC
end
LilycoveCity_LilycoveMuseum_1F_EventScript_218CEC:: @ 8218CEC
@@ -24,9 +24,9 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_218CEC:: @ 8218CEC
LilycoveCity_LilycoveMuseum_1F_EventScript_218CF5:: @ 8218CF5
msgbox LilycoveCity_LilycoveMuseum_1F_Text_218F98, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq LilycoveCity_LilycoveMuseum_1F_EventScript_218D14
+ goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_218D14
compare VAR_RESULT, 1
- goto_eq LilycoveCity_LilycoveMuseum_1F_EventScript_218D1E
+ goto_if_eq LilycoveCity_LilycoveMuseum_1F_EventScript_218D1E
end
LilycoveCity_LilycoveMuseum_1F_EventScript_218D14:: @ 8218D14
@@ -47,7 +47,7 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_218D1E:: @ 8218D1E
LilycoveCity_LilycoveMuseum_1F_EventScript_218D5A:: @ 8218D5A
lockall
- applymovement 255, LilycoveCity_LilycoveMuseum_1F_Movement_218DA1
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_1F_Movement_218DA1
waitmovement 0
warp MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F, 255, 11, 8
waitstate
@@ -55,7 +55,7 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_218D5A:: @ 8218D5A
LilycoveCity_LilycoveMuseum_1F_EventScript_218D6F:: @ 8218D6F
lockall
- applymovement 255, LilycoveCity_LilycoveMuseum_1F_Movement_218D9B
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_1F_Movement_218D9B
waitmovement 0
warp MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F, 255, 11, 8
waitstate
@@ -63,7 +63,7 @@ LilycoveCity_LilycoveMuseum_1F_EventScript_218D6F:: @ 8218D6F
LilycoveCity_LilycoveMuseum_1F_EventScript_218D84:: @ 8218D84
lockall
- applymovement 255, LilycoveCity_LilycoveMuseum_1F_Movement_218D9E
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_1F_Movement_218D9E
waitmovement 0
warp MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F, 255, 11, 8
waitstate
diff --git a/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc b/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc
index 5f2b64aec..325ad0340 100644
--- a/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc
+++ b/data/maps/LilycoveCity_LilycoveMuseum_2F/scripts.inc
@@ -4,32 +4,27 @@ LilycoveCity_LilycoveMuseum_2F_MapScripts:: @ 821973A
.byte 0
LilycoveCity_LilycoveMuseum_2F_MapScript1_219745: @ 8219745
- checkflag FLAG_0x0A0
- goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_21978B
+ goto_if_set FLAG_0x0A0, LilycoveCity_LilycoveMuseum_2F_EventScript_21978B
goto LilycoveCity_LilycoveMuseum_2F_EventScript_219754
end
LilycoveCity_LilycoveMuseum_2F_EventScript_219754:: @ 8219754
- checkflag FLAG_0x0A1
- goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2197A3
+ goto_if_set FLAG_0x0A1, LilycoveCity_LilycoveMuseum_2F_EventScript_2197A3
goto LilycoveCity_LilycoveMuseum_2F_EventScript_219763
end
LilycoveCity_LilycoveMuseum_2F_EventScript_219763:: @ 8219763
- checkflag FLAG_0x0A2
- goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2197BB
+ goto_if_set FLAG_0x0A2, LilycoveCity_LilycoveMuseum_2F_EventScript_2197BB
goto LilycoveCity_LilycoveMuseum_2F_EventScript_219772
end
LilycoveCity_LilycoveMuseum_2F_EventScript_219772:: @ 8219772
- checkflag FLAG_0x0A3
- goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2197D3
+ goto_if_set FLAG_0x0A3, LilycoveCity_LilycoveMuseum_2F_EventScript_2197D3
goto LilycoveCity_LilycoveMuseum_2F_EventScript_219781
end
LilycoveCity_LilycoveMuseum_2F_EventScript_219781:: @ 8219781
- checkflag FLAG_0x0A4
- goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2197EB
+ goto_if_set FLAG_0x0A4, LilycoveCity_LilycoveMuseum_2F_EventScript_2197EB
end
LilycoveCity_LilycoveMuseum_2F_EventScript_21978B:: @ 821978B
@@ -68,17 +63,17 @@ LilycoveCity_LilycoveMuseum_2F_MapScript2_2197FE: @ 82197FE
LilycoveCity_LilycoveMuseum_2F_EventScript_219808:: @ 8219808
lockall
applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_27259E
- applymovement 255, LilycoveCity_LilycoveMuseum_2F_Movement_219861
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_2F_Movement_219861
waitmovement 0
msgbox LilycoveCity_LilycoveMuseum_2F_Text_2199EB, MSGBOX_SIGN
applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_219863
waitmovement 0
- applymovement 255, LilycoveCity_LilycoveMuseum_2F_Movement_219863
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_2F_Movement_219863
waitmovement 0
msgbox LilycoveCity_LilycoveMuseum_2F_Text_219A0D, MSGBOX_SIGN
applymovement 1, LilycoveCity_LilycoveMuseum_2F_Movement_27259E
waitmovement 0
- applymovement 255, LilycoveCity_LilycoveMuseum_2F_Movement_219861
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_LilycoveMuseum_2F_Movement_219861
waitmovement 0
msgbox LilycoveCity_LilycoveMuseum_2F_Text_219BC4, MSGBOX_SIGN
copyvar VAR_0x4094, 0x1
@@ -96,8 +91,7 @@ LilycoveCity_LilycoveMuseum_2F_Movement_219863: @ 8219863
LilycoveCity_LilycoveMuseum_2F_EventScript_219866:: @ 8219866
lockall
- checkflag FLAG_0x0EC
- goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_219921
+ goto_if_set FLAG_0x0EC, LilycoveCity_LilycoveMuseum_2F_EventScript_219921
specialvar VAR_0x8004, sub_80F8940
switch VAR_0x8004
case 1, LilycoveCity_LilycoveMuseum_2F_EventScript_2198BA
@@ -126,7 +120,7 @@ LilycoveCity_LilycoveMuseum_2F_EventScript_2198EA:: @ 82198EA
msgbox LilycoveCity_LilycoveMuseum_2F_Text_219EC5, MSGBOX_DEFAULT
givedecoration_std 44
compare VAR_RESULT, 0
- goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_219911
+ goto_if_eq LilycoveCity_LilycoveMuseum_2F_EventScript_219911
setflag FLAG_0x0EC
closemessage
releaseall
@@ -146,36 +140,31 @@ LilycoveCity_LilycoveMuseum_2F_EventScript_219921:: @ 8219921
LilycoveCity_LilycoveMuseum_2F_EventScript_21992B:: @ 821992B
lockall
- checkflag FLAG_0x0A2
- goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2199C1
+ goto_if_set FLAG_0x0A2, LilycoveCity_LilycoveMuseum_2F_EventScript_2199C1
msgbox LilycoveCity_LilycoveMuseum_2F_Text_219FA0, MSGBOX_SIGN
end
LilycoveCity_LilycoveMuseum_2F_EventScript_21993E:: @ 821993E
lockall
- checkflag FLAG_0x0A4
- goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2199DD
+ goto_if_set FLAG_0x0A4, LilycoveCity_LilycoveMuseum_2F_EventScript_2199DD
msgbox LilycoveCity_LilycoveMuseum_2F_Text_219FD3, MSGBOX_SIGN
end
LilycoveCity_LilycoveMuseum_2F_EventScript_219951:: @ 8219951
lockall
- checkflag FLAG_0x0A0
- goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2199A5
+ goto_if_set FLAG_0x0A0, LilycoveCity_LilycoveMuseum_2F_EventScript_2199A5
msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A03B, MSGBOX_SIGN
end
LilycoveCity_LilycoveMuseum_2F_EventScript_219964:: @ 8219964
lockall
- checkflag FLAG_0x0A1
- goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2199B3
+ goto_if_set FLAG_0x0A1, LilycoveCity_LilycoveMuseum_2F_EventScript_2199B3
msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A008, MSGBOX_SIGN
end
LilycoveCity_LilycoveMuseum_2F_EventScript_219977:: @ 8219977
lockall
- checkflag FLAG_0x0A3
- goto_eq LilycoveCity_LilycoveMuseum_2F_EventScript_2199CF
+ goto_if_set FLAG_0x0A3, LilycoveCity_LilycoveMuseum_2F_EventScript_2199CF
msgbox LilycoveCity_LilycoveMuseum_2F_Text_21A06D, MSGBOX_SIGN
end
diff --git a/data/maps/LilycoveCity_MoveDeletersHouse/scripts.inc b/data/maps/LilycoveCity_MoveDeletersHouse/scripts.inc
index 160dab557..c5c2188e5 100644
--- a/data/maps/LilycoveCity_MoveDeletersHouse/scripts.inc
+++ b/data/maps/LilycoveCity_MoveDeletersHouse/scripts.inc
@@ -17,19 +17,19 @@ LilycoveCity_MoveDeletersHouse_EventScript_21EA3B:: @ 821EA3B
special sub_81B94B0
waitstate
compare VAR_0x8004, 255
- goto_eq LilycoveCity_MoveDeletersHouse_EventScript_21EAE6
+ goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_21EAE6
special sub_81B98DC
compare VAR_RESULT, 1
- goto_eq LilycoveCity_MoveDeletersHouse_EventScript_21EADC
+ goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_21EADC
special sub_81B96D0
compare VAR_RESULT, 1
- goto_eq LilycoveCity_MoveDeletersHouse_EventScript_21EACF
+ 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_eq LilycoveCity_MoveDeletersHouse_EventScript_21EA3B
+ goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_21EA3B
special sub_81B9718
msgbox LilycoveCity_MoveDeletersHouse_Text_21EBDA, MSGBOX_YESNO
switch VAR_RESULT
@@ -41,7 +41,7 @@ LilycoveCity_MoveDeletersHouse_EventScript_21EA3B:: @ 821EA3B
LilycoveCity_MoveDeletersHouse_EventScript_21EAB0:: @ 821EAB0
special sub_81B9918
compare VAR_RESULT, 1
- goto_eq LilycoveCity_MoveDeletersHouse_EventScript_21EAF0
+ goto_if_eq LilycoveCity_MoveDeletersHouse_EventScript_21EAF0
special sub_81B9770
playfanfare MUS_ME_WASURE
waitfanfare
diff --git a/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc b/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc
index 5e51f7daa..dd0dff376 100644
--- a/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc
+++ b/data/maps/LilycoveCity_PokemonCenter_1F/scripts.inc
@@ -11,9 +11,9 @@ LilycoveCity_PokemonCenter_1F_MapScript1_21C5BD: @ 821C5BD
LilycoveCity_PokemonCenter_1F_EventScript_21C5C6:: @ 821C5C6
special sub_818D9C0
compare VAR_RESULT, 0
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_21C5E0
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_21C5E0
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_21C5E4
+ goto_if_eq LilycoveCity_PokemonCenter_1F_EventScript_21C5E4
end
LilycoveCity_PokemonCenter_1F_EventScript_21C5E0:: @ 821C5E0
@@ -39,8 +39,7 @@ LilycoveCity_PokemonCenter_1F_EventScript_21C5F6:: @ 821C5F6
LilycoveCity_PokemonCenter_1F_EventScript_21C5FF:: @ 821C5FF
lock
faceplayer
- checkflag FLAG_BADGE07_GET
- goto_eq LilycoveCity_PokemonCenter_1F_EventScript_21C614
+ goto_if_set FLAG_BADGE07_GET, LilycoveCity_PokemonCenter_1F_EventScript_21C614
msgbox LilycoveCity_PokemonCenter_1F_Text_21C69D, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc b/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc
index d4c0f4cea..cf4be3065 100644
--- a/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc
+++ b/data/maps/LilycoveCity_PokemonTrainerFanClub/scripts.inc
@@ -15,12 +15,12 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21C79A:: @ 821C79A
applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_21C7FD
applymovement 2, LilycoveCity_PokemonTrainerFanClub_Movement_21C7F5
waitmovement 0
- applymovement 255, LilycoveCity_PokemonTrainerFanClub_Movement_2725A8
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_PokemonTrainerFanClub_Movement_2725A8
waitmovement 0
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21CF12, MSGBOX_DEFAULT
applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_21C804
waitmovement 0
- applymovement 255, LilycoveCity_PokemonTrainerFanClub_Movement_2725A4
+ applymovement EVENT_OBJ_ID_PLAYER, LilycoveCity_PokemonTrainerFanClub_Movement_2725A4
waitmovement 0
applymovement 4, LilycoveCity_PokemonTrainerFanClub_Movement_21C807
waitmovement 0
@@ -63,9 +63,9 @@ LilycoveCity_PokemonTrainerFanClub_Movement_21C807: @ 821C807
LilycoveCity_PokemonTrainerFanClub_MapScript1_21C80D: @ 821C80D
call LilycoveCity_PokemonTrainerFanClub_EventScript_21C8DA
compare VAR_LILYCOVE_FAN_CLUB_STATE, 1
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F8
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F8
compare VAR_LILYCOVE_FAN_CLUB_STATE, 2
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C829
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C829
end
LilycoveCity_PokemonTrainerFanClub_EventScript_21C829:: @ 821C829
@@ -74,41 +74,41 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21C829:: @ 821C829
setvar VAR_0x8004, 8
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
compare VAR_RESULT, 0
- call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9B8
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9B8
setvar VAR_0x8004, 9
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
compare VAR_RESULT, 0
- call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C0
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C0
setvar VAR_0x8004, 10
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
compare VAR_RESULT, 0
- call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C8
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9C8
setvar VAR_0x8004, 11
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
compare VAR_RESULT, 0
- call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D0
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D0
setvar VAR_0x8004, 12
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
compare VAR_RESULT, 0
- call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D8
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9D8
setvar VAR_0x8004, 13
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
compare VAR_RESULT, 0
- call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E0
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E0
setvar VAR_0x8004, 14
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
compare VAR_RESULT, 0
- call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E8
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9E8
setvar VAR_0x8004, 15
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
compare VAR_RESULT, 0
- call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F0
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9F0
end
LilycoveCity_PokemonTrainerFanClub_EventScript_21C8DA:: @ 821C8DA
specialvar VAR_RESULT, sub_80EE7C0
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F1
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F1
clearflag FLAG_HIDE_LILYCOVE_FAN_CLUB_INTERVIEWER
clearflag FLAG_0x0D2
return
@@ -122,37 +122,37 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21C8F5:: @ 821C8F5
setvar VAR_0x8004, 8
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
compare VAR_RESULT, 0
- call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE
setvar VAR_0x8004, 9
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
compare VAR_RESULT, 0
- call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE
setvar VAR_0x8004, 10
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
compare VAR_RESULT, 0
- call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE
setvar VAR_0x8004, 11
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
compare VAR_RESULT, 0
- call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE
setvar VAR_0x8004, 12
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
compare VAR_RESULT, 0
- call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE
setvar VAR_0x8004, 13
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
compare VAR_RESULT, 0
- call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE
setvar VAR_0x8004, 14
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
compare VAR_RESULT, 0
- call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE
setvar VAR_0x8004, 15
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
compare VAR_RESULT, 0
- call_if 1, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE
+ call_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE
compare VAR_0x8005, 5
- goto_if 4, LilycoveCity_PokemonTrainerFanClub_EventScript_21C9B4
+ goto_if_ge LilycoveCity_PokemonTrainerFanClub_EventScript_21C9B4
return
LilycoveCity_PokemonTrainerFanClub_EventScript_21C9AE:: @ 821C9AE
@@ -210,13 +210,13 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CA17:: @ 821CA17
setvar VAR_0x8004, 13
special BufferStreakTrainerText
compare VAR_LILYCOVE_FAN_CLUB_STATE, 0
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA84
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA84
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA56
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA56
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
compare VAR_RESULT, 7
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA7A
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA7A
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D12A, MSGBOX_DEFAULT
release
end
@@ -224,7 +224,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CA17:: @ 821CA17
LilycoveCity_PokemonTrainerFanClub_EventScript_21CA56:: @ 821CA56
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA70
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CA70
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D094, MSGBOX_DEFAULT
release
end
@@ -250,13 +250,13 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CA8E:: @ 821CA8E
setvar VAR_0x8004, 8
special BufferStreakTrainerText
compare VAR_LILYCOVE_FAN_CLUB_STATE, 0
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAFB
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAFB
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CACD
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CACD
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
compare VAR_RESULT, 7
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAF1
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAF1
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D347, MSGBOX_DEFAULT
release
end
@@ -264,7 +264,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CA8E:: @ 821CA8E
LilycoveCity_PokemonTrainerFanClub_EventScript_21CACD:: @ 821CACD
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAE7
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CAE7
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D2A6, MSGBOX_DEFAULT
release
end
@@ -290,13 +290,13 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CB05:: @ 821CB05
setvar VAR_0x8004, 9
special BufferStreakTrainerText
compare VAR_LILYCOVE_FAN_CLUB_STATE, 0
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB72
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB72
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB44
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB44
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
compare VAR_RESULT, 7
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB68
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB68
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D52E, MSGBOX_DEFAULT
release
end
@@ -304,7 +304,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CB05:: @ 821CB05
LilycoveCity_PokemonTrainerFanClub_EventScript_21CB44:: @ 821CB44
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB5E
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CB5E
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D438, MSGBOX_DEFAULT
release
end
@@ -330,13 +330,13 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CB7C:: @ 821CB7C
setvar VAR_0x8004, 10
special BufferStreakTrainerText
compare VAR_LILYCOVE_FAN_CLUB_STATE, 0
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBE9
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBE9
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBBB
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBBB
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
compare VAR_RESULT, 7
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBDF
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBDF
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D822, MSGBOX_DEFAULT
release
end
@@ -344,7 +344,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CB7C:: @ 821CB7C
LilycoveCity_PokemonTrainerFanClub_EventScript_21CBBB:: @ 821CBBB
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBD5
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CBD5
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D751, MSGBOX_DEFAULT
release
end
@@ -371,10 +371,10 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CBF3:: @ 821CBF3
special BufferStreakTrainerText
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC27
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC27
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
compare VAR_RESULT, 7
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC4B
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC4B
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D9D1, MSGBOX_DEFAULT
release
end
@@ -382,7 +382,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CBF3:: @ 821CBF3
LilycoveCity_PokemonTrainerFanClub_EventScript_21CC27:: @ 821CC27
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC41
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC41
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21D921, MSGBOX_DEFAULT
release
end
@@ -404,10 +404,10 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CC55:: @ 821CC55
special BufferStreakTrainerText
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC89
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CC89
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
compare VAR_RESULT, 7
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCAD
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCAD
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DB69, MSGBOX_DEFAULT
release
end
@@ -415,7 +415,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CC55:: @ 821CC55
LilycoveCity_PokemonTrainerFanClub_EventScript_21CC89:: @ 821CC89
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCA3
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCA3
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DA73, MSGBOX_DEFAULT
release
end
@@ -437,10 +437,10 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CCB7:: @ 821CCB7
special BufferStreakTrainerText
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCEB
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CCEB
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
compare VAR_RESULT, 7
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD0F
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD0F
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DD36, MSGBOX_DEFAULT
release
end
@@ -448,7 +448,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CCB7:: @ 821CCB7
LilycoveCity_PokemonTrainerFanClub_EventScript_21CCEB:: @ 821CCEB
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD05
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD05
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DC68, MSGBOX_DEFAULT
release
end
@@ -470,10 +470,10 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CD19:: @ 821CD19
special BufferStreakTrainerText
specialvar VAR_RESULT, ShouldMoveLilycoveFanClubMember
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD4D
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD4D
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
compare VAR_RESULT, 7
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD71
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD71
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DEFF, MSGBOX_DEFAULT
release
end
@@ -481,7 +481,7 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CD19:: @ 821CD19
LilycoveCity_PokemonTrainerFanClub_EventScript_21CD4D:: @ 821CD4D
specialvar VAR_RESULT, GetNumMovedLilycoveFanClubMembers
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD67
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CD67
msgbox LilycoveCity_PokemonTrainerFanClub_Text_21DE72, MSGBOX_DEFAULT
release
end
@@ -499,17 +499,15 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CD71:: @ 821CD71
LilycoveCity_PokemonTrainerFanClub_EventScript_21CD7B:: @ 821CD7B
lock
faceplayer
- checkflag FLAG_0x0D2
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEED
- checkflag FLAG_0x0D2
- goto_if 0, LilycoveCity_PokemonTrainerFanClub_EventScript_21CD90
+ goto_if_set FLAG_0x0D2, LilycoveCity_PokemonTrainerFanClub_EventScript_21CEED
+ goto_if_unset FLAG_0x0D2, LilycoveCity_PokemonTrainerFanClub_EventScript_21CD90
end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CD90:: @ 821CD90
setvar VAR_0x8005, 11
special InterviewBefore
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEFF
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEFF
copyvar VAR_0x800A, VAR_0x8006
setvar VAR_0x8004, 8
special BufferStreakTrainerText
@@ -520,9 +518,9 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CD90:: @ 821CD90
lock
faceplayer
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CDE0
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CDE0
compare VAR_RESULT, 0
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CDEE
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CDEE
end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CDE0:: @ 821CDE0
@@ -535,9 +533,9 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CDEE:: @ 821CDEE
special BufferStreakTrainerText
msgbox LilycoveCity_PokemonTrainerFanClub_Text_281C3D, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEC6
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEC6
compare VAR_RESULT, 0
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CE15
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CE15
end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CE15:: @ 821CE15
@@ -550,9 +548,9 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CE15:: @ 821CE15
lock
faceplayer
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CDE0
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CDE0
compare VAR_RESULT, 0
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CDEE
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CDEE
end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CE4D:: @ 821CE4D
@@ -580,9 +578,9 @@ LilycoveCity_PokemonTrainerFanClub_EventScript_21CE9F:: @ 821CE9F
special BufferStreakTrainerText
msgbox LilycoveCity_PokemonTrainerFanClub_Text_281CCD, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEC6
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CEC6
compare VAR_RESULT, 0
- goto_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CE4D
+ goto_if_eq LilycoveCity_PokemonTrainerFanClub_EventScript_21CE4D
end
LilycoveCity_PokemonTrainerFanClub_EventScript_21CEC6:: @ 821CEC6
diff --git a/data/maps/LittlerootTown/scripts.inc b/data/maps/LittlerootTown/scripts.inc
index 660a3984d..9f589d2e4 100644
--- a/data/maps/LittlerootTown/scripts.inc
+++ b/data/maps/LittlerootTown/scripts.inc
@@ -8,23 +8,22 @@ LittlerootTown_MapScript1_1E7DDB: @ 81E7DDB
setflag FLAG_VISITED_LITTLEROOT_TOWN
call LittlerootTown_EventScript_271ED7
compare VAR_0x4092, 2
- call_if 1, LittlerootTown_EventScript_1E7E67
- checkflag FLAG_0x052
- call_if 0, LittlerootTown_EventScript_1E7E6F
+ call_if_eq LittlerootTown_EventScript_1E7E67
+ call_if_unset FLAG_0x052, LittlerootTown_EventScript_1E7E6F
compare VAR_0x4050, 3
- call_if 1, LittlerootTown_EventScript_1E7E92
+ call_if_eq LittlerootTown_EventScript_1E7E92
compare VAR_0x4082, 4
- call_if 1, LittlerootTown_EventScript_1E7E5C
+ call_if_eq LittlerootTown_EventScript_1E7E5C
compare VAR_0x408C, 4
- call_if 1, LittlerootTown_EventScript_1E7E5C
+ call_if_eq LittlerootTown_EventScript_1E7E5C
compare VAR_0x40C7, 1
- call_if 1, LittlerootTown_EventScript_1E7E53
+ call_if_eq LittlerootTown_EventScript_1E7E53
compare VAR_0x408D, 3
- call_if 1, LittlerootTown_EventScript_1E7E4F
+ call_if_eq LittlerootTown_EventScript_1E7E4F
compare VAR_0x40D3, 1
- call_if 1, LittlerootTown_EventScript_1E7E4B
+ call_if_eq LittlerootTown_EventScript_1E7E4B
compare VAR_0x40D3, 2
- call_if 1, LittlerootTown_EventScript_1E7E45
+ call_if_eq LittlerootTown_EventScript_1E7E45
end
LittlerootTown_EventScript_1E7E45:: @ 81E7E45
@@ -55,7 +54,7 @@ LittlerootTown_EventScript_1E7E67:: @ 81E7E67
LittlerootTown_EventScript_1E7E6F:: @ 81E7E6F
compare VAR_0x4050, 0
- goto_eq LittlerootTown_EventScript_1E7E86
+ goto_if_eq LittlerootTown_EventScript_1E7E86
setobjectxyperm 1, 10, 1
setobjectmovementtype 1, 7
return
@@ -70,9 +69,9 @@ LittlerootTown_EventScript_1E7E92:: @ 81E7E92
setobjectmovementtype 4, 8
checkplayergender
compare VAR_RESULT, 0
- call_if 1, LittlerootTown_EventScript_1E7EB1
+ call_if_eq LittlerootTown_EventScript_1E7EB1
compare VAR_RESULT, 1
- call_if 1, LittlerootTown_EventScript_1E7EB9
+ call_if_eq LittlerootTown_EventScript_1E7EB9
return
LittlerootTown_EventScript_1E7EB1:: @ 81E7EB1
@@ -114,7 +113,7 @@ LittlerootTown_EventScript_1E7EF9:: @ 81E7EF9
LittlerootTown_EventScript_1E7F17:: @ 81E7F17
delay 15
playse SE_DANSA
- applymovement 255, LittlerootTown_Movement_1E7FAC
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_1E7FAC
waitmovement 0
opendoor VAR_0x8004, VAR_0x8005
waitdooranim
@@ -129,16 +128,16 @@ LittlerootTown_EventScript_1E7F17:: @ 81E7F17
msgbox LittlerootTown_Text_1E86BC, MSGBOX_DEFAULT
closemessage
applymovement 4, LittlerootTown_Movement_1E7F9D
- applymovement 255, LittlerootTown_Movement_1E7FA4
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_1E7FA4
waitmovement 0
opendoor VAR_0x8004, VAR_0x8005
waitdooranim
applymovement 4, LittlerootTown_Movement_1E7FA1
- applymovement 255, LittlerootTown_Movement_1E7FA9
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_1E7FA9
waitmovement 0
setflag FLAG_HIDE_LITTLEROOT_TOWN_MOM_OUTSIDE
setvar VAR_0x4092, 3
- hideobjectat 255, MAP_PETALBURG_CITY
+ hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY
closedoor VAR_0x8004, VAR_0x8005
waitdooranim
clearflag FLAG_HIDE_LITTLEROOT_TOWN_FAT_MAN
@@ -210,7 +209,7 @@ LittlerootTown_EventScript_1E7FEC:: @ 81E7FEC
addobject 7
checkplayergender
compare VAR_RESULT, 0
- goto_eq LittlerootTown_EventScript_1E8004
+ goto_if_eq LittlerootTown_EventScript_1E8004
goto LittlerootTown_EventScript_1E8013
end
@@ -235,12 +234,10 @@ LittlerootTown_EventScript_1E802B:: @ 81E802B
LittlerootTown_EventScript_1E8034:: @ 81E8034
lock
faceplayer
- checkflag FLAG_0x074
- goto_eq LittlerootTown_EventScript_1E8087
- checkflag FLAG_0x052
- goto_eq LittlerootTown_EventScript_1E807A
+ goto_if_set FLAG_0x074, LittlerootTown_EventScript_1E8087
+ goto_if_set FLAG_0x052, LittlerootTown_EventScript_1E807A
compare VAR_0x4050, 0
- goto_if 5, LittlerootTown_EventScript_1E805D
+ goto_if_ne LittlerootTown_EventScript_1E805D
msgbox LittlerootTown_Text_1E8BB8, MSGBOX_DEFAULT
release
end
@@ -280,7 +277,7 @@ LittlerootTown_EventScript_1E80AD:: @ 81E80AD
msgbox LittlerootTown_Text_1E8BB8, MSGBOX_DEFAULT
closemessage
applymovement 1, LittlerootTown_Movement_1E80DF
- applymovement 255, LittlerootTown_Movement_1E80EB
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_1E80EB
waitmovement 0
msgbox LittlerootTown_Text_1E8C07, MSGBOX_DEFAULT
closemessage
@@ -362,7 +359,7 @@ LittlerootTown_EventScript_1E811F:: @ 81E811F
lockall
applymovement 1, LittlerootTown_Movement_2725A8
waitmovement 0
- applymovement 255, LittlerootTown_Movement_2725A4
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_2725A4
waitmovement 0
special GetPlayerBigGuyGirlString
msgbox LittlerootTown_Text_1E8C3A, MSGBOX_DEFAULT
@@ -385,9 +382,9 @@ LittlerootTown_EventScript_1E8163:: @ 81E8163
lockall
checkplayergender
compare VAR_RESULT, 0
- call_if 1, LittlerootTown_EventScript_1E817D
+ call_if_eq LittlerootTown_EventScript_1E817D
compare VAR_RESULT, 1
- call_if 1, LittlerootTown_EventScript_1E8186
+ call_if_eq LittlerootTown_EventScript_1E8186
releaseall
end
@@ -403,9 +400,9 @@ LittlerootTown_EventScript_1E818F:: @ 81E818F
lockall
checkplayergender
compare VAR_RESULT, 0
- call_if 1, LittlerootTown_EventScript_1E81A9
+ call_if_eq LittlerootTown_EventScript_1E81A9
compare VAR_RESULT, 1
- call_if 1, LittlerootTown_EventScript_1E81B2
+ call_if_eq LittlerootTown_EventScript_1E81B2
releaseall
end
@@ -458,27 +455,27 @@ LittlerootTown_EventScript_1E8205:: @ 81E8205
LittlerootTown_EventScript_1E8211:: @ 81E8211
checkplayergender
compare VAR_RESULT, 0
- call_if 1, LittlerootTown_EventScript_1E8297
+ call_if_eq LittlerootTown_EventScript_1E8297
compare VAR_RESULT, 1
- call_if 1, LittlerootTown_EventScript_1E82A2
+ call_if_eq LittlerootTown_EventScript_1E82A2
checkplayergender
compare VAR_RESULT, 0
- call_if 1, LittlerootTown_EventScript_1E8281
+ call_if_eq LittlerootTown_EventScript_1E8281
compare VAR_RESULT, 1
- call_if 1, LittlerootTown_EventScript_1E828C
+ call_if_eq LittlerootTown_EventScript_1E828C
msgbox LittlerootTown_Text_1E87E1, MSGBOX_DEFAULT
closemessage
checkplayergender
compare VAR_RESULT, 0
- call_if 1, LittlerootTown_EventScript_1E82AD
+ call_if_eq LittlerootTown_EventScript_1E82AD
compare VAR_RESULT, 1
- call_if 1, LittlerootTown_EventScript_1E82F0
+ call_if_eq LittlerootTown_EventScript_1E82F0
call LittlerootTown_EventScript_1E8693
checkplayergender
compare VAR_RESULT, 0
- call_if 1, LittlerootTown_EventScript_1E8405
+ call_if_eq LittlerootTown_EventScript_1E8405
compare VAR_RESULT, 1
- call_if 1, LittlerootTown_EventScript_1E8448
+ call_if_eq LittlerootTown_EventScript_1E8448
goto LittlerootTown_EventScript_1E8686
end
@@ -504,99 +501,99 @@ LittlerootTown_EventScript_1E82A2:: @ 81E82A2
LittlerootTown_EventScript_1E82AD:: @ 81E82AD
compare VAR_0x8008, 0
- call_if 1, LittlerootTown_EventScript_1E8333
+ call_if_eq LittlerootTown_EventScript_1E8333
compare VAR_0x8008, 1
- call_if 1, LittlerootTown_EventScript_1E8348
+ call_if_eq LittlerootTown_EventScript_1E8348
compare VAR_0x8008, 2
- call_if 1, LittlerootTown_EventScript_1E835D
+ call_if_eq LittlerootTown_EventScript_1E835D
compare VAR_0x8008, 3
- call_if 1, LittlerootTown_EventScript_1E8372
+ call_if_eq LittlerootTown_EventScript_1E8372
compare VAR_0x8008, 4
- call_if 1, LittlerootTown_EventScript_1E8387
+ call_if_eq LittlerootTown_EventScript_1E8387
compare VAR_0x8008, 5
- call_if 1, LittlerootTown_EventScript_1E839C
+ call_if_eq LittlerootTown_EventScript_1E839C
return
LittlerootTown_EventScript_1E82F0:: @ 81E82F0
compare VAR_0x8008, 0
- call_if 1, LittlerootTown_EventScript_1E8333
+ call_if_eq LittlerootTown_EventScript_1E8333
compare VAR_0x8008, 1
- call_if 1, LittlerootTown_EventScript_1E8348
+ call_if_eq LittlerootTown_EventScript_1E8348
compare VAR_0x8008, 2
- call_if 1, LittlerootTown_EventScript_1E83B1
+ call_if_eq LittlerootTown_EventScript_1E83B1
compare VAR_0x8008, 3
- call_if 1, LittlerootTown_EventScript_1E83C6
+ call_if_eq LittlerootTown_EventScript_1E83C6
compare VAR_0x8008, 4
- call_if 1, LittlerootTown_EventScript_1E83DB
+ call_if_eq LittlerootTown_EventScript_1E83DB
compare VAR_0x8008, 5
- call_if 1, LittlerootTown_EventScript_1E83F0
+ call_if_eq LittlerootTown_EventScript_1E83F0
return
LittlerootTown_EventScript_1E8333:: @ 81E8333
- applymovement 255, LittlerootTown_Movement_2725AA
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_2725AA
waitmovement 0
applymovement 4, LittlerootTown_Movement_1E85D1
waitmovement 0
return
LittlerootTown_EventScript_1E8348:: @ 81E8348
- applymovement 255, LittlerootTown_Movement_2725AA
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_2725AA
waitmovement 0
applymovement 4, LittlerootTown_Movement_1E85D8
waitmovement 0
return
LittlerootTown_EventScript_1E835D:: @ 81E835D
- applymovement 255, LittlerootTown_Movement_2725A4
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_2725A4
waitmovement 0
applymovement 4, LittlerootTown_Movement_1E85DF
waitmovement 0
return
LittlerootTown_EventScript_1E8372:: @ 81E8372
- applymovement 255, LittlerootTown_Movement_2725A4
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_2725A4
waitmovement 0
applymovement 4, LittlerootTown_Movement_1E85E4
waitmovement 0
return
LittlerootTown_EventScript_1E8387:: @ 81E8387
- applymovement 255, LittlerootTown_Movement_2725A4
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_2725A4
waitmovement 0
applymovement 4, LittlerootTown_Movement_1E85EA
waitmovement 0
return
LittlerootTown_EventScript_1E839C:: @ 81E839C
- applymovement 255, LittlerootTown_Movement_2725A4
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_2725A4
waitmovement 0
applymovement 4, LittlerootTown_Movement_1E85ED
waitmovement 0
return
LittlerootTown_EventScript_1E83B1:: @ 81E83B1
- applymovement 255, LittlerootTown_Movement_2725A8
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_2725A8
waitmovement 0
applymovement 4, LittlerootTown_Movement_1E85F1
waitmovement 0
return
LittlerootTown_EventScript_1E83C6:: @ 81E83C6
- applymovement 255, LittlerootTown_Movement_2725A8
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_2725A8
waitmovement 0
applymovement 4, LittlerootTown_Movement_1E85F5
waitmovement 0
return
LittlerootTown_EventScript_1E83DB:: @ 81E83DB
- applymovement 255, LittlerootTown_Movement_2725A8
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_2725A8
waitmovement 0
applymovement 4, LittlerootTown_Movement_1E85F8
waitmovement 0
return
LittlerootTown_EventScript_1E83F0:: @ 81E83F0
- applymovement 255, LittlerootTown_Movement_2725A8
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_Movement_2725A8
waitmovement 0
applymovement 4, LittlerootTown_Movement_1E85FE
waitmovement 0
@@ -604,32 +601,32 @@ LittlerootTown_EventScript_1E83F0:: @ 81E83F0
LittlerootTown_EventScript_1E8405:: @ 81E8405
compare VAR_0x8008, 0
- call_if 1, LittlerootTown_EventScript_1E848B
+ call_if_eq LittlerootTown_EventScript_1E848B
compare VAR_0x8008, 1
- call_if 1, LittlerootTown_EventScript_1E8496
+ call_if_eq LittlerootTown_EventScript_1E8496
compare VAR_0x8008, 2
- call_if 1, LittlerootTown_EventScript_1E84A1
+ call_if_eq LittlerootTown_EventScript_1E84A1
compare VAR_0x8008, 3
- call_if 1, LittlerootTown_EventScript_1E84C7
+ call_if_eq LittlerootTown_EventScript_1E84C7
compare VAR_0x8008, 4
- call_if 1, LittlerootTown_EventScript_1E84ED
+ call_if_eq LittlerootTown_EventScript_1E84ED
compare VAR_0x8008, 5
- call_if 1, LittlerootTown_EventScript_1E8513
+ call_if_eq LittlerootTown_EventScript_1E8513
return
LittlerootTown_EventScript_1E8448:: @ 81E8448
compare VAR_0x8008, 0
- call_if 1, LittlerootTown_EventScript_1E848B
+ call_if_eq LittlerootTown_EventScript_1E848B
compare VAR_0x8008, 1
- call_if 1, LittlerootTown_EventScript_1E8496
+ call_if_eq LittlerootTown_EventScript_1E8496
compare VAR_0x8008, 2
- call_if 1, LittlerootTown_EventScript_1E8539
+ call_if_eq LittlerootTown_EventScript_1E8539
compare VAR_0x8008, 3
- call_if 1, LittlerootTown_EventScript_1E855F
+ call_if_eq LittlerootTown_EventScript_1E855F
compare VAR_0x8008, 4
- call_if 1, LittlerootTown_EventScript_1E8585
+ call_if_eq LittlerootTown_EventScript_1E8585
compare VAR_0x8008, 5
- call_if 1, LittlerootTown_EventScript_1E85AB
+ call_if_eq LittlerootTown_EventScript_1E85AB
return
LittlerootTown_EventScript_1E848B:: @ 81E848B
@@ -893,9 +890,9 @@ LittlerootTown_EventScript_1E863D:: @ 81E863D
faceplayer
checkplayergender
compare VAR_RESULT, 0
- call_if 1, LittlerootTown_EventScript_1E8281
+ call_if_eq LittlerootTown_EventScript_1E8281
compare VAR_RESULT, 1
- call_if 1, LittlerootTown_EventScript_1E828C
+ call_if_eq LittlerootTown_EventScript_1E828C
call LittlerootTown_EventScript_1E8693
applymovement 4, LittlerootTown_Movement_2725A6
waitmovement 0
diff --git a/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc b/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc
index 4413a80d5..9eab32885 100644
--- a/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc
+++ b/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc
@@ -6,9 +6,8 @@ LittlerootTown_BrendansHouse_1F_MapScripts:: @ 81F7755
LittlerootTown_BrendansHouse_1F_MapScript1_1F7765: @ 81F7765
compare VAR_0x4092, 6
- call_if 0, LittlerootTown_BrendansHouse_1F_EventScript_1F777A
- checkflag FLAG_0x112
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F778D
+ call_if_lt LittlerootTown_BrendansHouse_1F_EventScript_1F777A
+ call_if_set FLAG_0x112, LittlerootTown_BrendansHouse_1F_EventScript_1F778D
end
LittlerootTown_BrendansHouse_1F_EventScript_1F777A:: @ 81F777A
@@ -19,7 +18,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_1F777A:: @ 81F777A
LittlerootTown_BrendansHouse_1F_EventScript_1F778D:: @ 81F778D
checkplayergender
compare VAR_RESULT, 0
- goto_eq LittlerootTown_BrendansHouse_1F_EventScript_1F779A
+ goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F779A
return
LittlerootTown_BrendansHouse_1F_EventScript_1F779A:: @ 81F779A
@@ -28,11 +27,11 @@ LittlerootTown_BrendansHouse_1F_EventScript_1F779A:: @ 81F779A
LittlerootTown_BrendansHouse_1F_MapScript1_1F77A4: @ 81F77A4
compare VAR_0x4092, 3
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F77DE
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F77DE
compare VAR_0x4092, 5
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F77C6
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F77C6
compare VAR_0x4092, 6
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F77D2
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F77D2
end
LittlerootTown_BrendansHouse_1F_EventScript_1F77C6:: @ 81F77C6
@@ -62,7 +61,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_1F7814:: @ 81F7814
lockall
msgbox LittlerootTown_BrendansHouse_1F_Text_1F7B67, MSGBOX_DEFAULT
closemessage
- applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1F783A
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_1F783A
applymovement 1, LittlerootTown_BrendansHouse_1F_Movement_1F783A
waitmovement 0
warp MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F, 255, 7, 1
@@ -95,7 +94,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_1F785E:: @ 81F785E
waitmovement 0
applymovement 4, LittlerootTown_BrendansHouse_1F_Movement_27259A
waitmovement 0
- applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A4
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_2725A4
applymovement 4, LittlerootTown_BrendansHouse_1F_Movement_1F789C
waitmovement 0
special GetRivalSonDaughterString
@@ -152,22 +151,22 @@ LittlerootTown_BrendansHouse_1F_EventScript_1F78E2:: @ 81F78E2
applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_27259A
waitmovement 0
compare VAR_0x8008, 1
- call_if 5, LittlerootTown_BrendansHouse_1F_EventScript_1F7981
+ call_if_ne LittlerootTown_BrendansHouse_1F_EventScript_1F7981
playbgm MUS_BOY_SUP, 1
compare VAR_0x8008, 0
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F798C
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F798C
compare VAR_0x8008, 1
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F7997
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F7997
compare VAR_0x8008, 2
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F79A2
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F79A2
msgbox LittlerootTown_BrendansHouse_1F_Text_1F90B4, MSGBOX_DEFAULT
closemessage
compare VAR_0x8008, 0
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F79C1
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F79C1
compare VAR_0x8008, 1
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F79D3
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F79D3
compare VAR_0x8008, 2
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_1F79E5
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F79E5
playse SE_KAIDAN
removeobject 7
setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_BRENDAN
@@ -182,7 +181,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_1F78E2:: @ 81F78E2
end
LittlerootTown_BrendansHouse_1F_EventScript_1F7981:: @ 81F7981
- applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725AA
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_2725AA
waitmovement 0
return
@@ -228,19 +227,19 @@ LittlerootTown_BrendansHouse_1F_Movement_1F79B9: @ 81F79B9
step_end
LittlerootTown_BrendansHouse_1F_EventScript_1F79C1:: @ 81F79C1
- applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1F79F7
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_1F79F7
applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_1F7A06
waitmovement 0
return
LittlerootTown_BrendansHouse_1F_EventScript_1F79D3:: @ 81F79D3
- applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1F79FB
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_1F79FB
applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_1F7A0C
waitmovement 0
return
LittlerootTown_BrendansHouse_1F_EventScript_1F79E5:: @ 81F79E5
- applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_1F7A02
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_1F7A02
applymovement 7, LittlerootTown_BrendansHouse_1F_Movement_1F7A16
waitmovement 0
return
diff --git a/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc b/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc
index 2ebc9b900..096f35c1e 100644
--- a/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc
+++ b/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc
@@ -5,28 +5,27 @@ LittlerootTown_BrendansHouse_2F_MapScripts:: @ 81F83E3
LittlerootTown_BrendansHouse_2F_MapScript1_1F83EE: @ 81F83EE
compare VAR_0x408D, 2
- call_if 0, LittlerootTown_BrendansHouse_2F_EventScript_1F8457
+ call_if_lt LittlerootTown_BrendansHouse_2F_EventScript_1F8457
compare VAR_0x408D, 3
- call_if 4, LittlerootTown_BrendansHouse_2F_EventScript_1F841A
+ call_if_ge LittlerootTown_BrendansHouse_2F_EventScript_1F841A
compare VAR_0x4092, 4
- call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_2926FE
+ call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_2926FE
call LittlerootTown_BrendansHouse_2F_EventScript_275CE1
setvar VAR_0x4089, 0
end
LittlerootTown_BrendansHouse_2F_EventScript_1F841A:: @ 81F841A
- checkflag FLAG_0x124
- goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8433
+ goto_if_set FLAG_0x124, LittlerootTown_BrendansHouse_2F_EventScript_1F8433
compare VAR_0x4084, 2
- goto_if 4, LittlerootTown_BrendansHouse_2F_EventScript_1F8456
+ goto_if_ge LittlerootTown_BrendansHouse_2F_EventScript_1F8456
goto LittlerootTown_BrendansHouse_2F_EventScript_1F8433
LittlerootTown_BrendansHouse_2F_EventScript_1F8433:: @ 81F8433
checkplayergender
compare VAR_RESULT, 0
- goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8456
+ goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8456
compare VAR_0x40D3, 2
- goto_if 4, LittlerootTown_BrendansHouse_2F_EventScript_1F9309
+ goto_if_ge LittlerootTown_BrendansHouse_2F_EventScript_1F9309
setobjectxyperm 1, 0, 2
setobjectmovementtype 1, 7
return
@@ -37,7 +36,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8456:: @ 81F8456
LittlerootTown_BrendansHouse_2F_EventScript_1F8457:: @ 81F8457
checkplayergender
compare VAR_RESULT, 1
- goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8464
+ goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8464
return
LittlerootTown_BrendansHouse_2F_EventScript_1F8464:: @ 81F8464
@@ -51,13 +50,13 @@ LittlerootTown_BrendansHouse_2F_MapScript2_1F846A: @ 81F846A
LittlerootTown_BrendansHouse_2F_EventScript_1F8474:: @ 81F8474
checkplayergender
compare VAR_RESULT, 0
- goto_eq EventScript_275D0C
+ goto_if_eq EventScript_275D0C
end
LittlerootTown_BrendansHouse_2F_EventScript_1F8481:: @ 81F8481
lockall
compare VAR_0x408D, 2
- goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8497
+ goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8497
msgbox LittlerootTown_BrendansHouse_2F_Text_1F9991, MSGBOX_DEFAULT
releaseall
end
@@ -75,13 +74,13 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8497:: @ 81F8497
delay 10
playbgm MUS_BOY_SUP, 1
compare VAR_FACING, 2
- call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1F8507
+ call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8507
compare VAR_FACING, 1
- call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1F8536
+ call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8536
compare VAR_FACING, 3
- call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1F8565
+ call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8565
compare VAR_FACING, 4
- call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1F8594
+ call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8594
setvar VAR_0x408D, 3
setflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_POKE_BALL
clearflag FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM
@@ -94,11 +93,11 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8497:: @ 81F8497
LittlerootTown_BrendansHouse_2F_EventScript_1F8507:: @ 81F8507
applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85C0
waitmovement 0
- applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A8
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_2725A8
waitmovement 0
msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, MSGBOX_DEFAULT
closemessage
- applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_1F85CF
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_1F85CF
applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85C6
waitmovement 0
return
@@ -106,11 +105,11 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8507:: @ 81F8507
LittlerootTown_BrendansHouse_2F_EventScript_1F8536:: @ 81F8536
applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85D7
waitmovement 0
- applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A8
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_2725A8
waitmovement 0
msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, MSGBOX_DEFAULT
closemessage
- applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_1F85E2
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_1F85E2
applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85DB
waitmovement 0
return
@@ -118,11 +117,11 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8536:: @ 81F8536
LittlerootTown_BrendansHouse_2F_EventScript_1F8565:: @ 81F8565
applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85E8
waitmovement 0
- applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A8
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_2725A8
waitmovement 0
msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, MSGBOX_DEFAULT
closemessage
- applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_1F85F6
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_1F85F6
applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85ED
waitmovement 0
return
@@ -130,7 +129,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8565:: @ 81F8565
LittlerootTown_BrendansHouse_2F_EventScript_1F8594:: @ 81F8594
applymovement 1, LittlerootTown_BrendansHouse_2F_Movement_1F85FD
waitmovement 0
- applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_2725A6
waitmovement 0
msgbox LittlerootTown_BrendansHouse_2F_Text_1F97B4, MSGBOX_DEFAULT
closemessage
@@ -249,9 +248,9 @@ EventScript_PlayerPCMale:: @ 81F860D
lockall
checkplayergender
compare VAR_RESULT, 0
- goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8626
+ goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8626
compare VAR_RESULT, 1
- goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F864C
+ goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F864C
end
LittlerootTown_BrendansHouse_2F_EventScript_1F8626:: @ 81F8626
diff --git a/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc b/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc
index 824c4d930..0f71be46a 100644
--- a/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc
+++ b/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc
@@ -6,9 +6,8 @@ LittlerootTown_MaysHouse_1F_MapScripts:: @ 81F88A5
LittlerootTown_MaysHouse_1F_MapScript1_1F88B5: @ 81F88B5
compare VAR_0x4092, 6
- call_if 0, LittlerootTown_MaysHouse_1F_EventScript_1F88CA
- checkflag FLAG_0x112
- call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F88DD
+ call_if_lt LittlerootTown_MaysHouse_1F_EventScript_1F88CA
+ call_if_set FLAG_0x112, LittlerootTown_MaysHouse_1F_EventScript_1F88DD
end
LittlerootTown_MaysHouse_1F_EventScript_1F88CA:: @ 81F88CA
@@ -19,7 +18,7 @@ LittlerootTown_MaysHouse_1F_EventScript_1F88CA:: @ 81F88CA
LittlerootTown_MaysHouse_1F_EventScript_1F88DD:: @ 81F88DD
checkplayergender
compare VAR_RESULT, 1
- goto_eq LittlerootTown_MaysHouse_1F_EventScript_1F88EA
+ goto_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F88EA
return
LittlerootTown_MaysHouse_1F_EventScript_1F88EA:: @ 81F88EA
@@ -28,11 +27,11 @@ LittlerootTown_MaysHouse_1F_EventScript_1F88EA:: @ 81F88EA
LittlerootTown_MaysHouse_1F_MapScript1_1F88F4: @ 81F88F4
compare VAR_0x4092, 3
- call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F892E
+ call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F892E
compare VAR_0x4092, 5
- call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8916
+ call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F8916
compare VAR_0x4092, 6
- call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8922
+ call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F8922
end
LittlerootTown_MaysHouse_1F_EventScript_1F8916:: @ 81F8916
@@ -62,7 +61,7 @@ LittlerootTown_MaysHouse_1F_EventScript_1F8964:: @ 81F8964
lockall
msgbox LittlerootTown_MaysHouse_1F_Text_1F7B67, MSGBOX_DEFAULT
closemessage
- applymovement 255, LittlerootTown_MaysHouse_1F_Movement_1F898A
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_1F898A
applymovement 1, LittlerootTown_MaysHouse_1F_Movement_1F898A
waitmovement 0
warp MAP_LITTLEROOT_TOWN_MAYS_HOUSE_2F, 255, 1, 1
@@ -95,7 +94,7 @@ LittlerootTown_MaysHouse_1F_EventScript_1F89AE:: @ 81F89AE
waitmovement 0
applymovement 4, LittlerootTown_MaysHouse_1F_Movement_27259A
waitmovement 0
- applymovement 255, LittlerootTown_MaysHouse_1F_Movement_2725A8
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_2725A8
applymovement 4, LittlerootTown_MaysHouse_1F_Movement_1F89EC
waitmovement 0
special GetRivalSonDaughterString
@@ -118,12 +117,10 @@ LittlerootTown_BrendansHouse_1F_EventScript_1F89F3:: @ 81F89F3
LittlerootTown_MaysHouse_1F_EventScript_1F89F3:: @ 81F89F3
lock
faceplayer
- checkflag FLAG_0x082
- goto_eq LittlerootTown_BrendansHouse_1F_EventScript_1F8A33
- checkflag FLAG_SYS_POKEMON_GET
- goto_eq LittlerootTown_BrendansHouse_1F_EventScript_1F8A29
+ goto_if_set FLAG_0x082, LittlerootTown_BrendansHouse_1F_EventScript_1F8A33
+ goto_if_set FLAG_SYS_POKEMON_GET, LittlerootTown_BrendansHouse_1F_EventScript_1F8A29
compare VAR_0x408D, 3
- goto_eq LittlerootTown_BrendansHouse_1F_EventScript_1F8A1F
+ goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_1F8A1F
special GetRivalSonDaughterString
msgbox LittlerootTown_BrendansHouse_1F_Text_1F8CA5, MSGBOX_DEFAULT
release
@@ -191,22 +188,22 @@ LittlerootTown_MaysHouse_1F_EventScript_1F8A8B:: @ 81F8A8B
applymovement 7, LittlerootTown_MaysHouse_1F_Movement_27259A
waitmovement 0
compare VAR_0x8008, 1
- call_if 5, LittlerootTown_MaysHouse_1F_EventScript_1F8B2A
+ call_if_ne LittlerootTown_MaysHouse_1F_EventScript_1F8B2A
playbgm MUS_GIRL_SUP, 1
compare VAR_0x8008, 0
- call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8B35
+ call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F8B35
compare VAR_0x8008, 1
- call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8B40
+ call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F8B40
compare VAR_0x8008, 2
- call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8B4B
+ call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F8B4B
msgbox LittlerootTown_MaysHouse_1F_Text_1F8EC6, MSGBOX_DEFAULT
closemessage
compare VAR_0x8008, 0
- call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8B6A
+ call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F8B6A
compare VAR_0x8008, 1
- call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8B7C
+ call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F8B7C
compare VAR_0x8008, 2
- call_if 1, LittlerootTown_MaysHouse_1F_EventScript_1F8B8E
+ call_if_eq LittlerootTown_MaysHouse_1F_EventScript_1F8B8E
playse SE_KAIDAN
removeobject 7
setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_BRENDAN
@@ -221,7 +218,7 @@ LittlerootTown_MaysHouse_1F_EventScript_1F8A8B:: @ 81F8A8B
end
LittlerootTown_MaysHouse_1F_EventScript_1F8B2A:: @ 81F8B2A
- applymovement 255, LittlerootTown_MaysHouse_1F_Movement_2725AA
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_2725AA
waitmovement 0
return
@@ -267,19 +264,19 @@ LittlerootTown_MaysHouse_1F_Movement_1F8B62: @ 81F8B62
step_end
LittlerootTown_MaysHouse_1F_EventScript_1F8B6A:: @ 81F8B6A
- applymovement 255, LittlerootTown_MaysHouse_1F_Movement_1F8BA0
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_1F8BA0
applymovement 7, LittlerootTown_MaysHouse_1F_Movement_1F8BAF
waitmovement 0
return
LittlerootTown_MaysHouse_1F_EventScript_1F8B7C:: @ 81F8B7C
- applymovement 255, LittlerootTown_MaysHouse_1F_Movement_1F8BA4
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_1F8BA4
applymovement 7, LittlerootTown_MaysHouse_1F_Movement_1F8BB5
waitmovement 0
return
LittlerootTown_MaysHouse_1F_EventScript_1F8B8E:: @ 81F8B8E
- applymovement 255, LittlerootTown_MaysHouse_1F_Movement_1F8BAB
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_1F8BAB
applymovement 7, LittlerootTown_MaysHouse_1F_Movement_1F8BBF
waitmovement 0
return
diff --git a/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc b/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc
index 8a2ec10ac..e0cb7dfe7 100644
--- a/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc
+++ b/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc
@@ -5,28 +5,27 @@ LittlerootTown_MaysHouse_2F_MapScripts:: @ 81F9296
LittlerootTown_MaysHouse_2F_MapScript1_1F92A1: @ 81F92A1
compare VAR_0x408D, 2
- call_if 0, LittlerootTown_MaysHouse_2F_EventScript_1F930A
+ call_if_lt LittlerootTown_MaysHouse_2F_EventScript_1F930A
compare VAR_0x408D, 3
- call_if 4, LittlerootTown_MaysHouse_2F_EventScript_1F92CD
+ call_if_ge LittlerootTown_MaysHouse_2F_EventScript_1F92CD
compare VAR_0x4092, 4
- call_if 1, LittlerootTown_MaysHouse_2F_EventScript_2926FE
+ call_if_eq LittlerootTown_MaysHouse_2F_EventScript_2926FE
call LittlerootTown_MaysHouse_2F_EventScript_275CE1
setvar VAR_0x4089, 0
end
LittlerootTown_MaysHouse_2F_EventScript_1F92CD:: @ 81F92CD
- checkflag FLAG_0x124
- goto_eq LittlerootTown_MaysHouse_2F_EventScript_1F92E6
+ goto_if_set FLAG_0x124, LittlerootTown_MaysHouse_2F_EventScript_1F92E6
compare VAR_0x4084, 2
- goto_if 4, LittlerootTown_MaysHouse_2F_EventScript_1F9309
+ goto_if_ge LittlerootTown_MaysHouse_2F_EventScript_1F9309
goto LittlerootTown_MaysHouse_2F_EventScript_1F92E6
LittlerootTown_MaysHouse_2F_EventScript_1F92E6:: @ 81F92E6
checkplayergender
compare VAR_RESULT, 1
- goto_eq LittlerootTown_MaysHouse_2F_EventScript_1F9309
+ goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F9309
compare VAR_0x40D3, 2
- goto_if 4, LittlerootTown_MaysHouse_2F_EventScript_1F9309
+ goto_if_ge LittlerootTown_MaysHouse_2F_EventScript_1F9309
setobjectxyperm 1, 8, 2
setobjectmovementtype 1, 7
return
@@ -38,7 +37,7 @@ LittlerootTown_MaysHouse_2F_EventScript_1F9309:: @ 81F9309
LittlerootTown_MaysHouse_2F_EventScript_1F930A:: @ 81F930A
checkplayergender
compare VAR_RESULT, 0
- goto_eq LittlerootTown_MaysHouse_2F_EventScript_1F9317
+ goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F9317
return
LittlerootTown_MaysHouse_2F_EventScript_1F9317:: @ 81F9317
@@ -52,13 +51,13 @@ LittlerootTown_MaysHouse_2F_MapScript2_1F931D: @ 81F931D
LittlerootTown_MaysHouse_2F_EventScript_1F9327:: @ 81F9327
checkplayergender
compare VAR_RESULT, 1
- goto_eq EventScript_275D0C
+ goto_if_eq EventScript_275D0C
end
LittlerootTown_MaysHouse_2F_EventScript_1F9334:: @ 81F9334
lockall
compare VAR_0x408D, 2
- goto_eq LittlerootTown_MaysHouse_2F_EventScript_1F934A
+ goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F934A
msgbox LittlerootTown_MaysHouse_2F_Text_1F9991, MSGBOX_DEFAULT
releaseall
end
@@ -76,13 +75,13 @@ LittlerootTown_MaysHouse_2F_EventScript_1F934A:: @ 81F934A
delay 10
playbgm MUS_GIRL_SUP, 1
compare VAR_FACING, 2
- call_if 1, LittlerootTown_MaysHouse_2F_EventScript_1F93BA
+ call_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F93BA
compare VAR_FACING, 1
- call_if 1, LittlerootTown_MaysHouse_2F_EventScript_1F93E9
+ call_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F93E9
compare VAR_FACING, 3
- call_if 1, LittlerootTown_MaysHouse_2F_EventScript_1F9418
+ call_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F9418
compare VAR_FACING, 4
- call_if 1, LittlerootTown_MaysHouse_2F_EventScript_1F9440
+ call_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F9440
setvar VAR_0x408D, 3
setflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_POKE_BALL
clearflag FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM
@@ -95,11 +94,11 @@ LittlerootTown_MaysHouse_2F_EventScript_1F934A:: @ 81F934A
LittlerootTown_MaysHouse_2F_EventScript_1F93BA:: @ 81F93BA
applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F9473
waitmovement 0
- applymovement 255, LittlerootTown_MaysHouse_2F_Movement_2725A4
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_2725A4
waitmovement 0
msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, MSGBOX_DEFAULT
closemessage
- applymovement 255, LittlerootTown_MaysHouse_2F_Movement_1F9483
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_1F9483
applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F9479
waitmovement 0
return
@@ -107,11 +106,11 @@ LittlerootTown_MaysHouse_2F_EventScript_1F93BA:: @ 81F93BA
LittlerootTown_MaysHouse_2F_EventScript_1F93E9:: @ 81F93E9
applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F948B
waitmovement 0
- applymovement 255, LittlerootTown_MaysHouse_2F_Movement_2725A4
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_2725A4
waitmovement 0
msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, MSGBOX_DEFAULT
closemessage
- applymovement 255, LittlerootTown_MaysHouse_2F_Movement_1F9497
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_1F9497
applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F948F
waitmovement 0
return
@@ -119,7 +118,7 @@ LittlerootTown_MaysHouse_2F_EventScript_1F93E9:: @ 81F93E9
LittlerootTown_MaysHouse_2F_EventScript_1F9418:: @ 81F9418
applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F949D
waitmovement 0
- applymovement 255, LittlerootTown_MaysHouse_2F_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_2725A6
waitmovement 0
msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, MSGBOX_DEFAULT
closemessage
@@ -130,11 +129,11 @@ LittlerootTown_MaysHouse_2F_EventScript_1F9418:: @ 81F9418
LittlerootTown_MaysHouse_2F_EventScript_1F9440:: @ 81F9440
applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F94AD
waitmovement 0
- applymovement 255, LittlerootTown_MaysHouse_2F_Movement_2725A4
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_2725A4
waitmovement 0
msgbox LittlerootTown_MaysHouse_2F_Text_1F959C, MSGBOX_DEFAULT
closemessage
- applymovement 255, LittlerootTown_MaysHouse_2F_Movement_1F94BB
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_2F_Movement_1F94BB
applymovement 1, LittlerootTown_MaysHouse_2F_Movement_1F94B2
waitmovement 0
return
@@ -250,13 +249,12 @@ LittlerootTown_MaysHouse_2F_Movement_1F94BB: @ 81F94BB
LittlerootTown_BrendansHouse_2F_EventScript_1F94C1:: @ 81F94C1
LittlerootTown_MaysHouse_2F_EventScript_1F94C1:: @ 81F94C1
lockall
- checkflag FLAG_0x124
- goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F94F7
+ goto_if_set FLAG_0x124, LittlerootTown_BrendansHouse_2F_EventScript_1F94F7
checkplayergender
compare VAR_RESULT, 0
- goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F94E3
+ goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F94E3
compare VAR_RESULT, 1
- goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F94ED
+ goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F94ED
end
LittlerootTown_BrendansHouse_2F_EventScript_1F94E3:: @ 81F94E3
@@ -274,22 +272,20 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F94F7:: @ 81F94F7
waitmovement 0
checkplayergender
compare VAR_RESULT, 0
- call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1F951D
+ call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F951D
compare VAR_RESULT, 1
- call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_1F952F
+ call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F952F
setflag FLAG_0x125
releaseall
end
LittlerootTown_BrendansHouse_2F_EventScript_1F951D:: @ 81F951D
- checkflag FLAG_0x125
- goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F9541
+ goto_if_set FLAG_0x125, LittlerootTown_BrendansHouse_2F_EventScript_1F9541
msgbox LittlerootTown_BrendansHouse_2F_Text_1F99C9, MSGBOX_DEFAULT
return
LittlerootTown_BrendansHouse_2F_EventScript_1F952F:: @ 81F952F
- checkflag FLAG_0x125
- goto_eq LittlerootTown_BrendansHouse_2F_EventScript_1F954A
+ goto_if_set FLAG_0x125, LittlerootTown_BrendansHouse_2F_EventScript_1F954A
msgbox LittlerootTown_BrendansHouse_2F_Text_1F9B0D, MSGBOX_DEFAULT
return
@@ -305,9 +301,9 @@ EventScript_PlayerPCFemale:: @ 81F9553
lockall
checkplayergender
compare VAR_RESULT, 0
- goto_eq LittlerootTown_MaysHouse_2F_EventScript_1F956C
+ goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F956C
compare VAR_RESULT, 1
- goto_eq LittlerootTown_MaysHouse_2F_EventScript_1F9576
+ goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F9576
end
LittlerootTown_MaysHouse_2F_EventScript_1F956C:: @ 81F956C
diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc b/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc
index ec6cd9738..3534047ae 100644
--- a/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc
+++ b/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc
@@ -8,17 +8,17 @@ LittlerootTown_ProfessorBirchsLab_MapScript1_1F9CA1: @ 81F9CA1
call LittlerootTown_ProfessorBirchsLab_EventScript_271ED7
call LittlerootTown_ProfessorBirchsLab_EventScript_2720AD
compare VAR_0x40D3, 6
- goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF7
+ goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF7
compare VAR_0x40D3, 4
- goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF3
+ goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF3
compare VAR_0x40D3, 3
- goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9CCD
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9CCD
end
LittlerootTown_ProfessorBirchsLab_EventScript_1F9CCD:: @ 81F9CCD
specialvar VAR_RESULT, sub_80C08E4
compare VAR_RESULT, 1
- goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9CE9
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9CE9
setobjectmovementtype 3, 3
setobjectxyperm 3, 5, 10
end
@@ -48,11 +48,11 @@ LittlerootTown_ProfessorBirchsLab_MapScript2_1F9D06: @ 81F9D06
.2byte 0
LittlerootTown_ProfessorBirchsLab_EventScript_1F9D40:: @ 81F9D40
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
end
LittlerootTown_ProfessorBirchsLab_EventScript_1F9D45:: @ 81F9D45
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
addobject 2
addobject 3
turnobject 3, 2
@@ -100,9 +100,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9DDB:: @ 81F9DDB
waitfanfare
msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA8B1, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E07
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E07
compare VAR_RESULT, 0
- goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E17
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E17
end
LittlerootTown_ProfessorBirchsLab_EventScript_1F9E07:: @ 81F9E07
@@ -114,9 +114,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9E07:: @ 81F9E07
LittlerootTown_ProfessorBirchsLab_EventScript_1F9E17:: @ 81F9E17
msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA8F6, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E36
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E36
compare VAR_RESULT, 0
- goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E48
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E48
end
LittlerootTown_ProfessorBirchsLab_EventScript_1F9E36:: @ 81F9E36
@@ -129,14 +129,14 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9E36:: @ 81F9E36
LittlerootTown_ProfessorBirchsLab_EventScript_1F9E48:: @ 81F9E48
msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAA35, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E36
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E36
compare VAR_RESULT, 0
- goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E48
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9E48
end
LittlerootTown_ProfessorBirchsLab_EventScript_1F9E67:: @ 81F9E67
lockall
- applymovement 255, LittlerootTown_ProfessorBirchsLab_Movement_1F9E78
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_ProfessorBirchsLab_Movement_1F9E78
waitmovement 0
goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA2F8
end
@@ -168,20 +168,20 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9E80:: @ 81F9E80
playse SE_TK_KASYA
delay 20
applymovement 3, LittlerootTown_ProfessorBirchsLab_Movement_2725A8
- applymovement 255, LittlerootTown_ProfessorBirchsLab_Movement_2725A4
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_ProfessorBirchsLab_Movement_2725A4
waitmovement 0
checkplayergender
compare VAR_RESULT, 0
- call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1F9F32
+ call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9F32
compare VAR_RESULT, 1
- call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1F9F3C
+ call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9F3C
playse SE_PC_ON
waitse
delay 20
applymovement 2, LittlerootTown_ProfessorBirchsLab_Movement_1F9F58
waitmovement 0
applymovement 3, LittlerootTown_ProfessorBirchsLab_Movement_2725A6
- applymovement 255, LittlerootTown_ProfessorBirchsLab_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_ProfessorBirchsLab_Movement_2725A6
waitmovement 0
msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB419, MSGBOX_DEFAULT
playfanfare MUS_FANFA4
@@ -244,7 +244,7 @@ LittlerootTown_ProfessorBirchsLab_Movement_1F9F58: @ 81F9F58
LittlerootTown_ProfessorBirchsLab_EventScript_1F9F62:: @ 81F9F62
lockall
- applymovement 255, LittlerootTown_ProfessorBirchsLab_Movement_1F9F7C
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_ProfessorBirchsLab_Movement_1F9F7C
waitmovement 0
msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB5F9, MSGBOX_DEFAULT
setvar VAR_0x40D3, 5
@@ -265,9 +265,8 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9F84:: @ 81F9F84
lock
faceplayer
compare VAR_0x4084, 3
- goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_1F9FB1
- checkflag FLAG_0x058
- goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9FA7
+ goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1F9FB1
+ goto_if_set FLAG_0x058, LittlerootTown_ProfessorBirchsLab_EventScript_1F9FA7
msgbox LittlerootTown_ProfessorBirchsLab_Text_1FA4E2, MSGBOX_DEFAULT
setflag FLAG_0x058
release
@@ -286,39 +285,39 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9FB1:: @ 81F9FB1
LittlerootTown_ProfessorBirchsLab_EventScript_1F9FBB:: @ 81F9FBB
release
compare VAR_0x40D3, 6
- goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_1FA057
+ goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1FA057
applymovement 2, LittlerootTown_ProfessorBirchsLab_Movement_2725A8
waitmovement 0
drawmonpic SPECIES_CYNDAQUIL, 10, 3
msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB7F6, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA061
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA061
goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA06C
end
LittlerootTown_ProfessorBirchsLab_EventScript_1F9FEF:: @ 81F9FEF
release
compare VAR_0x40D3, 6
- goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_1FA057
+ goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1FA057
applymovement 2, LittlerootTown_ProfessorBirchsLab_Movement_2725A8
waitmovement 0
drawmonpic SPECIES_TOTODILE, 10, 3
msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB869, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA061
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA061
goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA10D
end
LittlerootTown_ProfessorBirchsLab_EventScript_1FA023:: @ 81FA023
release
compare VAR_0x40D3, 6
- goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_1FA057
+ goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1FA057
applymovement 2, LittlerootTown_ProfessorBirchsLab_Movement_2725A8
waitmovement 0
drawmonpic SPECIES_CHIKORITA, 10, 3
msgbox LittlerootTown_ProfessorBirchsLab_Text_1FB8E0, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA061
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA061
goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA1AE
end
@@ -338,9 +337,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA06C:: @ 81FA06C
setvar VAR_TEMP_1, 155
givemon SPECIES_CYNDAQUIL, 5, ITEM_NONE, 0x0, 0x0, 0
compare VAR_RESULT, 0
- goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0A1
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0A1
compare VAR_RESULT, 1
- goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0CC
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0CC
erasemonpic
goto LittlerootTown_ProfessorBirchsLab_EventScript_273811
end
@@ -350,7 +349,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA0A1:: @ 81FA0A1
removeobject 4
msgbox gUnknown_08273374, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0FD
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0FD
call LittlerootTown_ProfessorBirchsLab_EventScript_27378B
call LittlerootTown_ProfessorBirchsLab_EventScript_2723DD
goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA0FD
@@ -361,7 +360,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA0CC:: @ 81FA0CC
removeobject 4
msgbox gUnknown_08273374, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0F2
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA0F2
call LittlerootTown_ProfessorBirchsLab_EventScript_273797
goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA0F2
end
@@ -383,9 +382,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA10D:: @ 81FA10D
setvar VAR_TEMP_1, 158
givemon SPECIES_TOTODILE, 5, ITEM_NONE, 0x0, 0x0, 0
compare VAR_RESULT, 0
- goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA142
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA142
compare VAR_RESULT, 1
- goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA16D
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA16D
erasemonpic
goto LittlerootTown_ProfessorBirchsLab_EventScript_273811
end
@@ -395,7 +394,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA142:: @ 81FA142
removeobject 5
msgbox gUnknown_08273374, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA19E
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA19E
call LittlerootTown_ProfessorBirchsLab_EventScript_27378B
call LittlerootTown_ProfessorBirchsLab_EventScript_2723DD
goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA19E
@@ -406,7 +405,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA16D:: @ 81FA16D
removeobject 5
msgbox gUnknown_08273374, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA193
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA193
call LittlerootTown_ProfessorBirchsLab_EventScript_273797
goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA193
end
@@ -428,9 +427,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA1AE:: @ 81FA1AE
setvar VAR_TEMP_1, 152
givemon SPECIES_CHIKORITA, 5, ITEM_NONE, 0x0, 0x0, 0
compare VAR_RESULT, 0
- goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA1E3
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA1E3
compare VAR_RESULT, 1
- goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA20E
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA20E
erasemonpic
goto LittlerootTown_ProfessorBirchsLab_EventScript_273811
end
@@ -440,7 +439,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA1E3:: @ 81FA1E3
removeobject 6
msgbox gUnknown_08273374, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA23F
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA23F
call LittlerootTown_ProfessorBirchsLab_EventScript_27378B
call LittlerootTown_ProfessorBirchsLab_EventScript_2723DD
goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA23F
@@ -451,7 +450,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA20E:: @ 81FA20E
removeobject 6
msgbox gUnknown_08273374, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA234
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA234
call LittlerootTown_ProfessorBirchsLab_EventScript_273797
goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA234
end
@@ -479,13 +478,11 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA25A:: @ 81FA25A
lock
faceplayer
compare VAR_0x40D3, 5
- goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA28A
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA28A
compare VAR_0x40D3, 2
- goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA294
- checkflag FLAG_HAS_MATCH_CALL
- goto_if 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA29E
- checkflag FLAG_0x119
- goto_if 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA2D2
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA294
+ goto_if_unset FLAG_HAS_MATCH_CALL, LittlerootTown_ProfessorBirchsLab_EventScript_1FA29E
+ goto_if_unset FLAG_0x119, LittlerootTown_ProfessorBirchsLab_EventScript_1FA2D2
goto LittlerootTown_ProfessorBirchsLab_EventScript_1FA29E
end
@@ -500,14 +497,13 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA294:: @ 81FA294
end
LittlerootTown_ProfessorBirchsLab_EventScript_1FA29E:: @ 81FA29E
- checkflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380
- goto_if 0, LittlerootTown_ProfessorBirchsLab_EventScript_272141
+ goto_if_unset FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380, LittlerootTown_ProfessorBirchsLab_EventScript_272141
compare VAR_0x40D3, 3
- goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_272141
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_272141
compare VAR_0x40D3, 6
- goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_272141
+ goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_272141
compare VAR_0x4084, 5
- goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA3C4
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA3C4
msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAA74, MSGBOX_DEFAULT
release
end
@@ -534,13 +530,13 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA2F8:: @ 81FA2F8
closemessage
applymovement 3, LittlerootTown_ProfessorBirchsLab_Movement_1FA3E0
waitmovement 0
- applymovement 255, LittlerootTown_ProfessorBirchsLab_Movement_2725A8
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_ProfessorBirchsLab_Movement_2725A8
waitmovement 0
checkplayergender
compare VAR_RESULT, 0
- call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA352
+ call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA352
compare VAR_RESULT, 1
- call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA37F
+ call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA37F
setvar VAR_0x4084, 5
setflag FLAG_0x074
setvar VAR_0x4051, 1
@@ -553,7 +549,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA352:: @ 81FA352
msgbox LittlerootTown_ProfessorBirchsLab_Text_1FADD7, MSGBOX_DEFAULT
giveitem_std ITEM_POKE_BALL, 5
compare VAR_RESULT, 0
- call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA3CE
+ call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA3CE
msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAE40, MSGBOX_DEFAULT
setvar VAR_RESULT, 0
return
@@ -562,7 +558,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA37F:: @ 81FA37F
msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAF3F, MSGBOX_DEFAULT
giveitem_std ITEM_POKE_BALL, 5
compare VAR_RESULT, 0
- call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA3D7
+ call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA3D7
msgbox LittlerootTown_ProfessorBirchsLab_Text_1FAF8E, MSGBOX_DEFAULT
setvar VAR_RESULT, 1
return
@@ -603,16 +599,16 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA3EC:: @ 81FA3EC
lock
faceplayer
compare VAR_0x40D3, 5
- goto_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA43A
+ goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA43A
compare VAR_0x40D3, 6
- goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_1FA465
+ goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1FA465
compare VAR_0x40D3, 2
- goto_if 4, LittlerootTown_ProfessorBirchsLab_EventScript_1FA490
+ goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1FA490
checkplayergender
compare VAR_RESULT, 0
- call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA428
+ call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA428
compare VAR_RESULT, 1
- call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA431
+ call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA431
release
end
@@ -627,9 +623,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA431:: @ 81FA431
LittlerootTown_ProfessorBirchsLab_EventScript_1FA43A:: @ 81FA43A
checkplayergender
compare VAR_RESULT, 0
- call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA453
+ call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA453
compare VAR_RESULT, 1
- call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA45C
+ call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA45C
release
end
@@ -644,9 +640,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA45C:: @ 81FA45C
LittlerootTown_ProfessorBirchsLab_EventScript_1FA465:: @ 81FA465
checkplayergender
compare VAR_RESULT, 0
- call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA47E
+ call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA47E
compare VAR_RESULT, 1
- call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA487
+ call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA487
release
end
@@ -661,9 +657,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA487:: @ 81FA487
LittlerootTown_ProfessorBirchsLab_EventScript_1FA490:: @ 81FA490
checkplayergender
compare VAR_RESULT, 0
- call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA4A9
+ call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA4A9
compare VAR_RESULT, 1
- call_if 1, LittlerootTown_ProfessorBirchsLab_EventScript_1FA4B2
+ call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA4B2
release
end
diff --git a/data/maps/MagmaHideout_4F/scripts.inc b/data/maps/MagmaHideout_4F/scripts.inc
index 714983999..818b11da7 100644
--- a/data/maps/MagmaHideout_4F/scripts.inc
+++ b/data/maps/MagmaHideout_4F/scripts.inc
@@ -18,7 +18,7 @@ MagmaHideout_4F_EventScript_23A560:: @ 823A560
playfanfare MUS_ME_TAMA
playse SE_TAMA
special sub_80B0534
- applymovement 255, MagmaHideout_4F_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, MagmaHideout_4F_Movement_2725A6
waitmovement 0
delay 150
removeobject 7
@@ -50,7 +50,7 @@ MagmaHideout_4F_EventScript_23A560:: @ 823A560
waitmovement 0
msgbox MagmaHideout_4F_Text_23AADA, MSGBOX_DEFAULT
closemessage
- applymovement 255, MagmaHideout_4F_Movement_2725A8
+ applymovement EVENT_OBJ_ID_PLAYER, MagmaHideout_4F_Movement_2725A8
waitmovement 0
delay 30
applymovement 6, MagmaHideout_4F_Movement_27259E
diff --git a/data/maps/MarineCave_End/scripts.inc b/data/maps/MarineCave_End/scripts.inc
index f61620c29..d42e0e1d6 100644
--- a/data/maps/MarineCave_End/scripts.inc
+++ b/data/maps/MarineCave_End/scripts.inc
@@ -4,20 +4,18 @@ MarineCave_End_MapScripts:: @ 823AFDF
.byte 0
MarineCave_End_MapScript1_23AFEA: @ 823AFEA
- checkflag FLAG_SYS_CTRL_OBJ_DELETE
- call_if 1, MarineCave_End_EventScript_23AFF4
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, MarineCave_End_EventScript_23AFF4
end
MarineCave_End_EventScript_23AFF4:: @ 823AFF4
specialvar VAR_RESULT, GetBattleOutcome
compare VAR_RESULT, 7
- goto_if 5, MarineCave_End_EventScript_27374E
+ goto_if_ne MarineCave_End_EventScript_27374E
removeobject 1
return
MarineCave_End_MapScript1_23B008: @ 823B008
- checkflag FLAG_0x1BE
- call_if 0, MarineCave_End_EventScript_23B012
+ call_if_unset FLAG_0x1BE, MarineCave_End_EventScript_23B012
end
MarineCave_End_EventScript_23B012:: @ 823B012
@@ -27,7 +25,7 @@ MarineCave_End_EventScript_23B012:: @ 823B012
MarineCave_End_EventScript_23B01B:: @ 823B01B
lockall
- applymovement 255, MarineCave_End_Movement_2725B2
+ applymovement EVENT_OBJ_ID_PLAYER, MarineCave_End_Movement_2725B2
waitmovement 0
applymovement 1, MarineCave_End_Movement_23B09D
waitmovement 0
@@ -44,11 +42,11 @@ MarineCave_End_EventScript_23B01B:: @ 823B01B
setvar VAR_TEMP_1, 0
specialvar VAR_RESULT, GetBattleOutcome
compare VAR_RESULT, 1
- goto_eq MarineCave_End_EventScript_23B084
+ goto_if_eq MarineCave_End_EventScript_23B084
compare VAR_RESULT, 4
- goto_eq MarineCave_End_EventScript_23B092
+ goto_if_eq MarineCave_End_EventScript_23B092
compare VAR_RESULT, 5
- goto_eq MarineCave_End_EventScript_23B092
+ goto_if_eq MarineCave_End_EventScript_23B092
setvar VAR_0x4039, 1
setflag FLAG_0x1BE
releaseall
diff --git a/data/maps/MauvilleCity/scripts.inc b/data/maps/MauvilleCity/scripts.inc
index 17ace6e10..751723f7b 100644
--- a/data/maps/MauvilleCity/scripts.inc
+++ b/data/maps/MauvilleCity/scripts.inc
@@ -9,8 +9,7 @@ MauvilleCity_MapScript1_1DF38B: @ 81DF38B
setflag FLAG_SYS_TV_START
clearflag FLAG_0x063
setvar VAR_0x4093, 0
- checkflag FLAG_GOT_TM24_FROM_WATTSON
- call_if 1, MauvilleCity_EventScript_1DF3A9
+ call_if_set FLAG_GOT_TM24_FROM_WATTSON, MauvilleCity_EventScript_1DF3A9
end
MauvilleCity_EventScript_1DF3A9:: @ 81DF3A9
@@ -54,8 +53,7 @@ MauvilleCity_EventScript_1DF3F2:: @ 81DF3F2
MauvilleCity_EventScript_1DF3FB:: @ 81DF3FB
lock
faceplayer
- checkflag FLAG_0x062
- goto_eq MauvilleCity_EventScript_1DF413
+ goto_if_set FLAG_0x062, MauvilleCity_EventScript_1DF413
msgbox MauvilleCity_Text_1E056A, MSGBOX_DEFAULT
setflag FLAG_0x062
release
@@ -69,8 +67,7 @@ MauvilleCity_EventScript_1DF413:: @ 81DF413
MauvilleCity_EventScript_1DF41D:: @ 81DF41D
lock
faceplayer
- checkflag FLAG_0x11C
- goto_eq MauvilleCity_EventScript_1DF43D
+ goto_if_set FLAG_0x11C, MauvilleCity_EventScript_1DF43D
msgbox MauvilleCity_Text_1DF7DC, MSGBOX_DEFAULT
closemessage
applymovement 7, MauvilleCity_Movement_2725A2
@@ -88,8 +85,7 @@ MauvilleCity_EventScript_1DF43D:: @ 81DF43D
MauvilleCity_EventScript_1DF452:: @ 81DF452
lockall
- checkflag FLAG_0x11C
- goto_eq MauvilleCity_EventScript_1DF690
+ goto_if_set FLAG_0x11C, MauvilleCity_EventScript_1DF690
applymovement 6, MauvilleCity_Movement_2725A8
waitmovement 0
msgbox MauvilleCity_Text_1DF845, MSGBOX_DEFAULT
@@ -108,9 +104,9 @@ MauvilleCity_EventScript_1DF452:: @ 81DF452
MauvilleCity_EventScript_1DF4AD:: @ 81DF4AD
compare VAR_RESULT, 1
- call_if 1, MauvilleCity_EventScript_1DF63A
+ call_if_eq MauvilleCity_EventScript_1DF63A
compare VAR_RESULT, 0
- goto_eq MauvilleCity_EventScript_1DF683
+ goto_if_eq MauvilleCity_EventScript_1DF683
closemessage
switch VAR_FACING
case 2, MauvilleCity_EventScript_1DF4E0
@@ -118,19 +114,19 @@ MauvilleCity_EventScript_1DF4AD:: @ 81DF4AD
end
MauvilleCity_EventScript_1DF4E0:: @ 81DF4E0
- applymovement 255, MauvilleCity_Movement_1DF6DF
+ applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6DF
applymovement 6, MauvilleCity_Movement_1DF6A8
applymovement 7, MauvilleCity_Movement_1DF6E2
waitmovement 0
applymovement 6, MauvilleCity_Movement_2725A8
waitmovement 0
delay 30
- applymovement 255, MauvilleCity_Movement_1DF6EE
+ applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6EE
applymovement 7, MauvilleCity_Movement_1DF6F3
waitmovement 0
msgbox MauvilleCity_Text_1DFD34, MSGBOX_DEFAULT
closemessage
- applymovement 255, MauvilleCity_Movement_1DF6CC
+ applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6CC
applymovement 7, MauvilleCity_Movement_1DF6FA
applymovement 6, MauvilleCity_Movement_1DF6B4
waitmovement 0
@@ -138,7 +134,7 @@ MauvilleCity_EventScript_1DF4E0:: @ 81DF4E0
end
MauvilleCity_EventScript_1DF53D:: @ 81DF53D
- applymovement 255, MauvilleCity_Movement_1DF6DC
+ applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6DC
applymovement 6, MauvilleCity_Movement_1DF6AE
applymovement 7, MauvilleCity_Movement_1DF6E8
waitmovement 0
@@ -149,7 +145,7 @@ MauvilleCity_EventScript_1DF53D:: @ 81DF53D
waitmovement 0
msgbox MauvilleCity_Text_1DFD34, MSGBOX_DEFAULT
closemessage
- applymovement 255, MauvilleCity_Movement_1DF6D0
+ applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6D0
applymovement 7, MauvilleCity_Movement_1DF703
applymovement 6, MauvilleCity_Movement_1DF6C0
waitmovement 0
@@ -165,18 +161,18 @@ MauvilleCity_EventScript_1DF593:: @ 81DF593
setvar VAR_0x40F2, 0
setflag FLAG_0x088
compare VAR_FACING, 2
- call_if 1, MauvilleCity_EventScript_1DF5F3
+ call_if_eq MauvilleCity_EventScript_1DF5F3
compare VAR_FACING, 4
- call_if 1, MauvilleCity_EventScript_1DF601
- applymovement 255, MauvilleCity_Movement_2725AA
+ call_if_eq MauvilleCity_EventScript_1DF601
+ applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_2725AA
waitmovement 0
msgbox MauvilleCity_Text_1DFED5, MSGBOX_DEFAULT
closemessage
addvar VAR_0x40D1, 1
compare VAR_FACING, 2
- call_if 1, MauvilleCity_EventScript_1DF616
+ call_if_eq MauvilleCity_EventScript_1DF616
compare VAR_FACING, 4
- call_if 1, MauvilleCity_EventScript_1DF628
+ call_if_eq MauvilleCity_EventScript_1DF628
removeobject 11
releaseall
end
@@ -195,13 +191,13 @@ MauvilleCity_EventScript_1DF601:: @ 81DF601
return
MauvilleCity_EventScript_1DF616:: @ 81DF616
- applymovement 255, MauvilleCity_Movement_1DF6D5
+ applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6D5
applymovement 11, MauvilleCity_Movement_1DF725
waitmovement 0
return
MauvilleCity_EventScript_1DF628:: @ 81DF628
- applymovement 255, MauvilleCity_Movement_1DF6D8
+ applymovement EVENT_OBJ_ID_PLAYER, MauvilleCity_Movement_1DF6D8
applymovement 11, MauvilleCity_Movement_1DF72F
waitmovement 0
return
@@ -424,12 +420,10 @@ MauvilleCity_Movement_1DF72F: @ 81DF72F
MauvilleCity_EventScript_1DF73A:: @ 81DF73A
lock
faceplayer
- checkflag FLAG_GOT_TM24_FROM_WATTSON
- goto_eq MauvilleCity_EventScript_1DF7B0
+ goto_if_set FLAG_GOT_TM24_FROM_WATTSON, MauvilleCity_EventScript_1DF7B0
compare VAR_0x40BA, 2
- goto_eq MauvilleCity_EventScript_1DF784
- checkflag FLAG_GOT_BASEMENT_KEY_FROM_WATTSON
- goto_eq MauvilleCity_EventScript_1DF77A
+ 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
setflag FLAG_GOT_BASEMENT_KEY_FROM_WATTSON
@@ -446,7 +440,7 @@ MauvilleCity_EventScript_1DF784:: @ 81DF784
msgbox MauvilleCity_Text_1E020E, MSGBOX_DEFAULT
giveitem_std ITEM_TM24
compare VAR_RESULT, 0
- goto_eq MauvilleCity_EventScript_272054
+ goto_if_eq MauvilleCity_EventScript_272054
setflag FLAG_GOT_TM24_FROM_WATTSON
msgbox MauvilleCity_Text_1E02AA, MSGBOX_DEFAULT
release
diff --git a/data/maps/MauvilleCity_BikeShop/scripts.inc b/data/maps/MauvilleCity_BikeShop/scripts.inc
index 1634ee33c..fd390a92c 100644
--- a/data/maps/MauvilleCity_BikeShop/scripts.inc
+++ b/data/maps/MauvilleCity_BikeShop/scripts.inc
@@ -4,24 +4,22 @@ MauvilleCity_BikeShop_MapScripts:: @ 820EBBB
MauvilleCity_BikeShop_EventScript_20EBBC:: @ 820EBBC
lock
faceplayer
- checkflag FLAG_0x05A
- goto_eq MauvilleCity_BikeShop_EventScript_20EC94
- checkflag FLAG_0x059
- goto_eq MauvilleCity_BikeShop_EventScript_20EBF7
+ goto_if_set FLAG_0x05A, MauvilleCity_BikeShop_EventScript_20EC94
+ goto_if_set FLAG_0x059, MauvilleCity_BikeShop_EventScript_20EBF7
msgbox MauvilleCity_BikeShop_Text_20EE22, MSGBOX_DEFAULT
msgbox MauvilleCity_BikeShop_Text_20EE99, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq MauvilleCity_BikeShop_EventScript_20EC4A
+ goto_if_eq MauvilleCity_BikeShop_EventScript_20EC4A
compare VAR_RESULT, 0
- goto_eq MauvilleCity_BikeShop_EventScript_20EC3D
+ goto_if_eq MauvilleCity_BikeShop_EventScript_20EC3D
end
MauvilleCity_BikeShop_EventScript_20EBF7:: @ 820EBF7
msgbox MauvilleCity_BikeShop_Text_20EE99, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq MauvilleCity_BikeShop_EventScript_20EC4A
+ goto_if_eq MauvilleCity_BikeShop_EventScript_20EC4A
compare VAR_RESULT, 0
- goto_eq MauvilleCity_BikeShop_EventScript_20EC3D
+ goto_if_eq MauvilleCity_BikeShop_EventScript_20EC3D
end
MauvilleCity_BikeShop_EventScript_20EC16:: @ 820EC16
@@ -65,19 +63,19 @@ MauvilleCity_BikeShop_EventScript_20EC87:: @ 820EC87
MauvilleCity_BikeShop_EventScript_20EC94:: @ 820EC94
msgbox MauvilleCity_BikeShop_Text_20F1FB, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq MauvilleCity_BikeShop_EventScript_20ECB3
+ goto_if_eq MauvilleCity_BikeShop_EventScript_20ECB3
compare VAR_RESULT, 0
- goto_eq MauvilleCity_BikeShop_EventScript_20ECE5
+ goto_if_eq MauvilleCity_BikeShop_EventScript_20ECE5
end
MauvilleCity_BikeShop_EventScript_20ECB3:: @ 820ECB3
msgbox MauvilleCity_BikeShop_Text_20F22F, MSGBOX_DEFAULT
checkitem ITEM_ACRO_BIKE, 1
compare VAR_RESULT, 1
- goto_eq MauvilleCity_BikeShop_EventScript_20ECEF
+ goto_if_eq MauvilleCity_BikeShop_EventScript_20ECEF
checkitem ITEM_MACH_BIKE, 1
compare VAR_RESULT, 1
- goto_eq MauvilleCity_BikeShop_EventScript_20ED10
+ goto_if_eq MauvilleCity_BikeShop_EventScript_20ED10
msgbox MauvilleCity_BikeShop_Text_20F2F3, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/MauvilleCity_GameCorner/scripts.inc b/data/maps/MauvilleCity_GameCorner/scripts.inc
index 135f48f23..45f00c9ee 100644
--- a/data/maps/MauvilleCity_GameCorner/scripts.inc
+++ b/data/maps/MauvilleCity_GameCorner/scripts.inc
@@ -7,7 +7,7 @@ MauvilleCity_GameCorner_EventScript_20FBB9:: @ 820FBB9
msgbox MauvilleCity_GameCorner_Text_210460, MSGBOX_DEFAULT
checkitem ITEM_COIN_CASE, 1
compare VAR_RESULT, 0
- goto_eq MauvilleCity_GameCorner_EventScript_20FCB7
+ goto_if_eq MauvilleCity_GameCorner_EventScript_20FCB7
message MauvilleCity_GameCorner_Text_2104DF
waitmessage
showmoneybox 0, 0, 0
@@ -33,10 +33,10 @@ MauvilleCity_GameCorner_EventScript_20FC0C:: @ 820FC0C
MauvilleCity_GameCorner_EventScript_20FC33:: @ 820FC33
checkcoins VAR_TEMP_1
compare VAR_TEMP_1, 9950
- goto_if 4, MauvilleCity_GameCorner_EventScript_20FCE1
+ goto_if_ge MauvilleCity_GameCorner_EventScript_20FCE1
checkmoney 0x3e8, 0
compare VAR_RESULT, 0
- goto_eq MauvilleCity_GameCorner_EventScript_20FCC1
+ goto_if_eq MauvilleCity_GameCorner_EventScript_20FCC1
givecoins 50
takemoney 0x3e8, 0
updatemoneybox 0, 0
@@ -54,10 +54,10 @@ MauvilleCity_GameCorner_EventScript_20FC33:: @ 820FC33
MauvilleCity_GameCorner_EventScript_20FC75:: @ 820FC75
checkcoins VAR_TEMP_1
compare VAR_TEMP_1, 9500
- goto_if 4, MauvilleCity_GameCorner_EventScript_20FCE1
+ goto_if_ge MauvilleCity_GameCorner_EventScript_20FCE1
checkmoney 0x2710, 0
compare VAR_RESULT, 0
- goto_eq MauvilleCity_GameCorner_EventScript_20FCC1
+ goto_if_eq MauvilleCity_GameCorner_EventScript_20FCC1
givecoins 500
takemoney 0x2710, 0
updatemoneybox 0, 0
@@ -110,7 +110,7 @@ MauvilleCity_GameCorner_EventScript_20FCF1:: @ 820FCF1
msgbox MauvilleCity_GameCorner_Text_2105D7, MSGBOX_DEFAULT
checkitem ITEM_COIN_CASE, 1
compare VAR_RESULT, 1
- goto_eq MauvilleCity_GameCorner_EventScript_20FD0D
+ goto_if_eq MauvilleCity_GameCorner_EventScript_20FD0D
release
end
@@ -154,7 +154,7 @@ MauvilleCity_GameCorner_EventScript_20FD83:: @ 820FD83
MauvilleCity_GameCorner_EventScript_20FD91:: @ 820FD91
msgbox MauvilleCity_GameCorner_Text_210705, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq MauvilleCity_GameCorner_EventScript_20FE92
+ goto_if_eq MauvilleCity_GameCorner_EventScript_20FE92
switch VAR_TEMP_1
case 1, MauvilleCity_GameCorner_EventScript_20FDCB
case 2, MauvilleCity_GameCorner_EventScript_20FE05
@@ -164,11 +164,11 @@ MauvilleCity_GameCorner_EventScript_20FD91:: @ 820FD91
MauvilleCity_GameCorner_EventScript_20FDCB:: @ 820FDCB
checkcoins VAR_TEMP_2
compare VAR_TEMP_2, 1000
- goto_if 0, MauvilleCity_GameCorner_EventScript_20FE79
+ goto_if_lt MauvilleCity_GameCorner_EventScript_20FE79
bufferdecorationname 1, 88
checkdecorspace 88
compare VAR_RESULT, 0
- goto_eq MauvilleCity_GameCorner_EventScript_20FE87
+ goto_if_eq MauvilleCity_GameCorner_EventScript_20FE87
takecoins 1000
givedecoration 88
updatecoinsbox 1, 1
@@ -180,11 +180,11 @@ MauvilleCity_GameCorner_EventScript_20FDCB:: @ 820FDCB
MauvilleCity_GameCorner_EventScript_20FE05:: @ 820FE05
checkcoins VAR_TEMP_2
compare VAR_TEMP_2, 1000
- goto_if 0, MauvilleCity_GameCorner_EventScript_20FE79
+ goto_if_lt MauvilleCity_GameCorner_EventScript_20FE79
bufferdecorationname 1, 89
checkdecorspace 89
compare VAR_RESULT, 0
- goto_eq MauvilleCity_GameCorner_EventScript_20FE87
+ goto_if_eq MauvilleCity_GameCorner_EventScript_20FE87
takecoins 1000
givedecoration 89
updatecoinsbox 1, 1
@@ -196,11 +196,11 @@ MauvilleCity_GameCorner_EventScript_20FE05:: @ 820FE05
MauvilleCity_GameCorner_EventScript_20FE3F:: @ 820FE3F
checkcoins VAR_TEMP_2
compare VAR_TEMP_2, 1000
- goto_if 0, MauvilleCity_GameCorner_EventScript_20FE79
+ goto_if_lt MauvilleCity_GameCorner_EventScript_20FE79
bufferdecorationname 1, 90
checkdecorspace 90
compare VAR_RESULT, 0
- goto_eq MauvilleCity_GameCorner_EventScript_20FE87
+ goto_if_eq MauvilleCity_GameCorner_EventScript_20FE87
takecoins 1000
givedecoration 90
updatecoinsbox 1, 1
@@ -231,7 +231,7 @@ MauvilleCity_GameCorner_EventScript_20FE9F:: @ 820FE9F
msgbox MauvilleCity_GameCorner_Text_2105D7, MSGBOX_DEFAULT
checkitem ITEM_COIN_CASE, 1
compare VAR_RESULT, 1
- goto_eq MauvilleCity_GameCorner_EventScript_20FEBB
+ goto_if_eq MauvilleCity_GameCorner_EventScript_20FEBB
release
end
@@ -293,7 +293,7 @@ MauvilleCity_GameCorner_EventScript_20FF8A:: @ 820FF8A
special sub_81398C0
msgbox MauvilleCity_GameCorner_Text_210629, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq MauvilleCity_GameCorner_EventScript_210118
+ goto_if_eq MauvilleCity_GameCorner_EventScript_210118
switch VAR_TEMP_1
case 1, MauvilleCity_GameCorner_EventScript_20FFDD
case 2, MauvilleCity_GameCorner_EventScript_210017
@@ -305,10 +305,10 @@ MauvilleCity_GameCorner_EventScript_20FF8A:: @ 820FF8A
MauvilleCity_GameCorner_EventScript_20FFDD:: @ 820FFDD
checkcoins VAR_TEMP_2
compare VAR_TEMP_2, 1500
- goto_if 0, MauvilleCity_GameCorner_EventScript_2100FF
+ goto_if_lt MauvilleCity_GameCorner_EventScript_2100FF
checkitemspace ITEM_TM32, 1
compare VAR_RESULT, 0
- goto_eq MauvilleCity_GameCorner_EventScript_21010D
+ goto_if_eq MauvilleCity_GameCorner_EventScript_21010D
takecoins 1500
giveitem ITEM_TM32, 1
updatecoinsbox 1, 1
@@ -320,10 +320,10 @@ MauvilleCity_GameCorner_EventScript_20FFDD:: @ 820FFDD
MauvilleCity_GameCorner_EventScript_210017:: @ 8210017
checkcoins VAR_TEMP_2
compare VAR_TEMP_2, 3500
- goto_if 0, MauvilleCity_GameCorner_EventScript_2100FF
+ goto_if_lt MauvilleCity_GameCorner_EventScript_2100FF
checkitemspace ITEM_TM29, 1
compare VAR_RESULT, 0
- goto_eq MauvilleCity_GameCorner_EventScript_21010D
+ goto_if_eq MauvilleCity_GameCorner_EventScript_21010D
takecoins 3500
giveitem ITEM_TM29, 1
updatecoinsbox 1, 1
@@ -335,10 +335,10 @@ MauvilleCity_GameCorner_EventScript_210017:: @ 8210017
MauvilleCity_GameCorner_EventScript_210051:: @ 8210051
checkcoins VAR_TEMP_2
compare VAR_TEMP_2, 4000
- goto_if 0, MauvilleCity_GameCorner_EventScript_2100FF
+ goto_if_lt MauvilleCity_GameCorner_EventScript_2100FF
checkitemspace ITEM_TM35, 1
compare VAR_RESULT, 0
- goto_eq MauvilleCity_GameCorner_EventScript_21010D
+ goto_if_eq MauvilleCity_GameCorner_EventScript_21010D
takecoins 4000
giveitem ITEM_TM35, 1
updatecoinsbox 1, 1
@@ -350,10 +350,10 @@ MauvilleCity_GameCorner_EventScript_210051:: @ 8210051
MauvilleCity_GameCorner_EventScript_21008B:: @ 821008B
checkcoins VAR_TEMP_2
compare VAR_TEMP_2, 4000
- goto_if 0, MauvilleCity_GameCorner_EventScript_2100FF
+ goto_if_lt MauvilleCity_GameCorner_EventScript_2100FF
checkitemspace ITEM_TM24, 1
compare VAR_RESULT, 0
- goto_eq MauvilleCity_GameCorner_EventScript_21010D
+ goto_if_eq MauvilleCity_GameCorner_EventScript_21010D
takecoins 4000
giveitem ITEM_TM24, 1
updatecoinsbox 1, 1
@@ -365,10 +365,10 @@ MauvilleCity_GameCorner_EventScript_21008B:: @ 821008B
MauvilleCity_GameCorner_EventScript_2100C5:: @ 82100C5
checkcoins VAR_TEMP_2
compare VAR_TEMP_2, 4000
- goto_if 0, MauvilleCity_GameCorner_EventScript_2100FF
+ goto_if_lt MauvilleCity_GameCorner_EventScript_2100FF
checkitemspace ITEM_TM13, 1
compare VAR_RESULT, 0
- goto_eq MauvilleCity_GameCorner_EventScript_21010D
+ goto_if_eq MauvilleCity_GameCorner_EventScript_21010D
takecoins 4000
giveitem ITEM_TM13, 1
updatecoinsbox 1, 1
@@ -404,11 +404,10 @@ MauvilleCity_GameCorner_EventScript_21012E:: @ 821012E
MauvilleCity_GameCorner_EventScript_210137:: @ 8210137
lock
faceplayer
- checkflag FLAG_0x0E2
- goto_eq MauvilleCity_GameCorner_EventScript_210213
+ goto_if_set FLAG_0x0E2, MauvilleCity_GameCorner_EventScript_210213
msgbox MauvilleCity_GameCorner_Text_210750, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq MauvilleCity_GameCorner_EventScript_210209
+ goto_if_eq MauvilleCity_GameCorner_EventScript_210209
switch VAR_STARTER_MON
case 0, MauvilleCity_GameCorner_EventScript_21017C
case 1, MauvilleCity_GameCorner_EventScript_2101A6
@@ -419,7 +418,7 @@ MauvilleCity_GameCorner_EventScript_21017C:: @ 821017C
bufferdecorationname 1, 88
checkdecorspace 88
compare VAR_RESULT, 0
- goto_eq MauvilleCity_GameCorner_EventScript_2101FA
+ goto_if_eq MauvilleCity_GameCorner_EventScript_2101FA
msgbox MauvilleCity_GameCorner_Text_21079C, MSGBOX_DEFAULT
givedecoration_std 88
setflag FLAG_0x0E2
@@ -430,7 +429,7 @@ MauvilleCity_GameCorner_EventScript_2101A6:: @ 82101A6
bufferdecorationname 1, 89
checkdecorspace 89
compare VAR_RESULT, 0
- goto_eq MauvilleCity_GameCorner_EventScript_2101FA
+ goto_if_eq MauvilleCity_GameCorner_EventScript_2101FA
msgbox MauvilleCity_GameCorner_Text_21079C, MSGBOX_DEFAULT
givedecoration_std 89
setflag FLAG_0x0E2
@@ -441,7 +440,7 @@ MauvilleCity_GameCorner_EventScript_2101D0:: @ 82101D0
bufferdecorationname 1, 90
checkdecorspace 90
compare VAR_RESULT, 0
- goto_eq MauvilleCity_GameCorner_EventScript_2101FA
+ goto_if_eq MauvilleCity_GameCorner_EventScript_2101FA
msgbox MauvilleCity_GameCorner_Text_21079C, MSGBOX_DEFAULT
givedecoration_std 90
setflag FLAG_0x0E2
@@ -469,17 +468,16 @@ MauvilleCity_GameCorner_EventScript_21021D:: @ 821021D
faceplayer
checkitem ITEM_COIN_CASE, 1
compare VAR_RESULT, 1
- goto_eq MauvilleCity_GameCorner_EventScript_21023D
+ goto_if_eq MauvilleCity_GameCorner_EventScript_21023D
msgbox MauvilleCity_GameCorner_Text_210830, MSGBOX_DEFAULT
goto MauvilleCity_GameCorner_EventScript_2102A9
end
MauvilleCity_GameCorner_EventScript_21023D:: @ 821023D
- checkflag FLAG_0x0E1
- goto_eq MauvilleCity_GameCorner_EventScript_21026B
+ goto_if_set FLAG_0x0E1, MauvilleCity_GameCorner_EventScript_21026B
checkcoins VAR_TEMP_1
compare VAR_TEMP_1, 1
- goto_if 4, MauvilleCity_GameCorner_EventScript_21026B
+ goto_if_ge MauvilleCity_GameCorner_EventScript_21026B
setflag FLAG_0x0E1
givecoins 20
msgbox MauvilleCity_GameCorner_Text_2108A0, MSGBOX_DEFAULT
@@ -538,7 +536,7 @@ MauvilleCity_GameCorner_EventScript_2102D6:: @ 82102D6
lockall
checkitem ITEM_COIN_CASE, 1
compare VAR_RESULT, 0
- goto_eq MauvilleCity_GameCorner_EventScript_210456
+ goto_if_eq MauvilleCity_GameCorner_EventScript_210456
setvar VAR_0x8004, 0
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
@@ -549,7 +547,7 @@ MauvilleCity_GameCorner_EventScript_2102F6:: @ 82102F6
lockall
checkitem ITEM_COIN_CASE, 1
compare VAR_RESULT, 0
- goto_eq MauvilleCity_GameCorner_EventScript_210456
+ goto_if_eq MauvilleCity_GameCorner_EventScript_210456
setvar VAR_0x8004, 1
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
@@ -560,7 +558,7 @@ MauvilleCity_GameCorner_EventScript_210316:: @ 8210316
lockall
checkitem ITEM_COIN_CASE, 1
compare VAR_RESULT, 0
- goto_eq MauvilleCity_GameCorner_EventScript_210456
+ goto_if_eq MauvilleCity_GameCorner_EventScript_210456
setvar VAR_0x8004, 2
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
@@ -571,7 +569,7 @@ MauvilleCity_GameCorner_EventScript_210336:: @ 8210336
lockall
checkitem ITEM_COIN_CASE, 1
compare VAR_RESULT, 0
- goto_eq MauvilleCity_GameCorner_EventScript_210456
+ goto_if_eq MauvilleCity_GameCorner_EventScript_210456
setvar VAR_0x8004, 3
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
@@ -582,7 +580,7 @@ MauvilleCity_GameCorner_EventScript_210356:: @ 8210356
lockall
checkitem ITEM_COIN_CASE, 1
compare VAR_RESULT, 0
- goto_eq MauvilleCity_GameCorner_EventScript_210456
+ goto_if_eq MauvilleCity_GameCorner_EventScript_210456
setvar VAR_0x8004, 4
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
@@ -593,7 +591,7 @@ MauvilleCity_GameCorner_EventScript_210376:: @ 8210376
lockall
checkitem ITEM_COIN_CASE, 1
compare VAR_RESULT, 0
- goto_eq MauvilleCity_GameCorner_EventScript_210456
+ goto_if_eq MauvilleCity_GameCorner_EventScript_210456
setvar VAR_0x8004, 5
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
@@ -604,7 +602,7 @@ MauvilleCity_GameCorner_EventScript_210396:: @ 8210396
lockall
checkitem ITEM_COIN_CASE, 1
compare VAR_RESULT, 0
- goto_eq MauvilleCity_GameCorner_EventScript_210456
+ goto_if_eq MauvilleCity_GameCorner_EventScript_210456
setvar VAR_0x8004, 6
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
@@ -615,7 +613,7 @@ MauvilleCity_GameCorner_EventScript_2103B6:: @ 82103B6
lockall
checkitem ITEM_COIN_CASE, 1
compare VAR_RESULT, 0
- goto_eq MauvilleCity_GameCorner_EventScript_210456
+ goto_if_eq MauvilleCity_GameCorner_EventScript_210456
setvar VAR_0x8004, 7
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
@@ -626,7 +624,7 @@ MauvilleCity_GameCorner_EventScript_2103D6:: @ 82103D6
lockall
checkitem ITEM_COIN_CASE, 1
compare VAR_RESULT, 0
- goto_eq MauvilleCity_GameCorner_EventScript_210456
+ goto_if_eq MauvilleCity_GameCorner_EventScript_210456
setvar VAR_0x8004, 8
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
@@ -637,7 +635,7 @@ MauvilleCity_GameCorner_EventScript_2103F6:: @ 82103F6
lockall
checkitem ITEM_COIN_CASE, 1
compare VAR_RESULT, 0
- goto_eq MauvilleCity_GameCorner_EventScript_210456
+ goto_if_eq MauvilleCity_GameCorner_EventScript_210456
setvar VAR_0x8004, 9
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
@@ -648,7 +646,7 @@ MauvilleCity_GameCorner_EventScript_210416:: @ 8210416
lockall
checkitem ITEM_COIN_CASE, 1
compare VAR_RESULT, 0
- goto_eq MauvilleCity_GameCorner_EventScript_210456
+ goto_if_eq MauvilleCity_GameCorner_EventScript_210456
setvar VAR_0x8004, 10
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
@@ -659,7 +657,7 @@ MauvilleCity_GameCorner_EventScript_210436:: @ 8210436
lockall
checkitem ITEM_COIN_CASE, 1
compare VAR_RESULT, 0
- goto_eq MauvilleCity_GameCorner_EventScript_210456
+ goto_if_eq MauvilleCity_GameCorner_EventScript_210456
setvar VAR_0x8004, 11
specialvar VAR_RESULT, GetSlotMachineId
playslotmachine VAR_RESULT
diff --git a/data/maps/MauvilleCity_Gym/scripts.inc b/data/maps/MauvilleCity_Gym/scripts.inc
index fbc1d8b0b..335a27f56 100644
--- a/data/maps/MauvilleCity_Gym/scripts.inc
+++ b/data/maps/MauvilleCity_Gym/scripts.inc
@@ -3,8 +3,7 @@ MauvilleCity_Gym_MapScripts:: @ 820DD6E
.byte 0
MauvilleCity_Gym_MapScript1_20DD74: @ 820DD74
- checkflag FLAG_0x4F2
- goto_eq MauvilleCity_Gym_EventScript_20DEE7
+ goto_if_set FLAG_0x4F2, MauvilleCity_Gym_EventScript_20DEE7
switch VAR_0x4093
case 0, MauvilleCity_Gym_EventScript_20DDBA
case 1, MauvilleCity_Gym_EventScript_20DEAF
@@ -14,8 +13,7 @@ MauvilleCity_Gym_MapScript1_20DD74: @ 820DD74
end
MauvilleCity_Gym_EventScript_20DDBA:: @ 820DDBA
- checkflag FLAG_0x063
- goto_eq MauvilleCity_Gym_EventScript_20DDC4
+ goto_if_set FLAG_0x063, MauvilleCity_Gym_EventScript_20DDC4
end
MauvilleCity_Gym_EventScript_20DDC4:: @ 820DDC4
@@ -79,11 +77,10 @@ MauvilleCity_Gym_EventScript_20DEEB:: @ 820DEEB
trainerbattle_single TRAINER_WATTSON_1, MauvilleCity_Gym_Text_20E602, MauvilleCity_Gym_Text_20E734, MauvilleCity_Gym_EventScript_20DF2B, NO_MUSIC
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq MauvilleCity_Gym_EventScript_20DFDE
- checkflag FLAG_0x0A7
- goto_if 0, MauvilleCity_Gym_EventScript_20DF8D
+ goto_if_eq MauvilleCity_Gym_EventScript_20DFDE
+ goto_if_unset FLAG_0x0A7, MauvilleCity_Gym_EventScript_20DF8D
compare VAR_0x40BA, 2
- goto_eq MauvilleCity_Gym_EventScript_20DFD4
+ goto_if_eq MauvilleCity_Gym_EventScript_20DFD4
msgbox MauvilleCity_Gym_Text_20E8E3, MSGBOX_DEFAULT
release
end
@@ -99,7 +96,7 @@ MauvilleCity_Gym_EventScript_20DF2B:: @ 820DF2B
setflag FLAG_BADGE03_GET
addvar VAR_0x4085, 1
compare VAR_0x4085, 6
- call_if 1, MauvilleCity_Gym_EventScript_271E84
+ call_if_eq MauvilleCity_Gym_EventScript_271E84
setvar VAR_0x8008, 3
call MauvilleCity_Gym_EventScript_271F43
special MauvilleGymSpecial3
@@ -120,7 +117,7 @@ MauvilleCity_Gym_EventScript_20DF2B:: @ 820DF2B
MauvilleCity_Gym_EventScript_20DF8D:: @ 820DF8D
giveitem_std ITEM_TM34
compare VAR_RESULT, 0
- goto_eq MauvilleCity_Gym_EventScript_272054
+ goto_if_eq MauvilleCity_Gym_EventScript_272054
msgbox MauvilleCity_Gym_Text_20E844, MSGBOX_DEFAULT
setflag FLAG_0x0A7
release
@@ -129,7 +126,7 @@ MauvilleCity_Gym_EventScript_20DF8D:: @ 820DF8D
MauvilleCity_Gym_EventScript_20DFB1:: @ 820DFB1
giveitem_std ITEM_TM34
compare VAR_RESULT, 0
- goto_eq MauvilleCity_Gym_EventScript_27205E
+ goto_if_eq MauvilleCity_Gym_EventScript_27205E
msgbox MauvilleCity_Gym_Text_20E844, MSGBOX_DEFAULT
setflag FLAG_0x0A7
return
@@ -146,10 +143,9 @@ MauvilleCity_Gym_EventScript_20DFDE:: @ 820DFDE
MauvilleCity_Gym_EventScript_20DFF9:: @ 820DFF9
lockall
- checkflag FLAG_0x4F2
- goto_eq MauvilleCity_Gym_EventScript_20E0AD
+ goto_if_set FLAG_0x4F2, MauvilleCity_Gym_EventScript_20E0AD
compare VAR_0x4093, 1
- goto_eq MauvilleCity_Gym_EventScript_20E0AD
+ goto_if_eq MauvilleCity_Gym_EventScript_20E0AD
setvar VAR_0x4093, 1
setvar VAR_0x8004, 0
goto MauvilleCity_Gym_EventScript_20E08D
@@ -157,10 +153,9 @@ MauvilleCity_Gym_EventScript_20DFF9:: @ 820DFF9
MauvilleCity_Gym_EventScript_20E01E:: @ 820E01E
lockall
- checkflag FLAG_0x4F2
- goto_eq MauvilleCity_Gym_EventScript_20E0AD
+ goto_if_set FLAG_0x4F2, MauvilleCity_Gym_EventScript_20E0AD
compare VAR_0x4093, 2
- goto_eq MauvilleCity_Gym_EventScript_20E0AD
+ goto_if_eq MauvilleCity_Gym_EventScript_20E0AD
setvar VAR_0x4093, 2
setvar VAR_0x8004, 1
goto MauvilleCity_Gym_EventScript_20E08D
@@ -168,10 +163,9 @@ MauvilleCity_Gym_EventScript_20E01E:: @ 820E01E
MauvilleCity_Gym_EventScript_20E043:: @ 820E043
lockall
- checkflag FLAG_0x4F2
- goto_eq MauvilleCity_Gym_EventScript_20E0AD
+ goto_if_set FLAG_0x4F2, MauvilleCity_Gym_EventScript_20E0AD
compare VAR_0x4093, 3
- goto_eq MauvilleCity_Gym_EventScript_20E0AD
+ goto_if_eq MauvilleCity_Gym_EventScript_20E0AD
setvar VAR_0x4093, 3
setvar VAR_0x8004, 2
goto MauvilleCity_Gym_EventScript_20E08D
@@ -179,10 +173,9 @@ MauvilleCity_Gym_EventScript_20E043:: @ 820E043
MauvilleCity_Gym_EventScript_20E068:: @ 820E068
lockall
- checkflag FLAG_0x4F2
- goto_eq MauvilleCity_Gym_EventScript_20E0AD
+ goto_if_set FLAG_0x4F2, MauvilleCity_Gym_EventScript_20E0AD
compare VAR_0x4093, 4
- goto_eq MauvilleCity_Gym_EventScript_20E0AD
+ goto_if_eq MauvilleCity_Gym_EventScript_20E0AD
setvar VAR_0x4093, 4
setvar VAR_0x8004, 3
goto MauvilleCity_Gym_EventScript_20E08D
@@ -193,10 +186,8 @@ MauvilleCity_Gym_EventScript_20E08D:: @ 820E08D
special MauvilleGymSpecial1
special DrawWholeMapView
playse SE_KI_GASYAN
- checkflag FLAG_0x063
- goto_eq MauvilleCity_Gym_EventScript_20E0B4
- checkflag FLAG_0x063
- goto_if 0, MauvilleCity_Gym_EventScript_20E0AF
+ goto_if_set FLAG_0x063, MauvilleCity_Gym_EventScript_20E0B4
+ goto_if_unset FLAG_0x063, MauvilleCity_Gym_EventScript_20E0AF
releaseall
end
@@ -242,8 +233,7 @@ MauvilleCity_Gym_EventScript_20E115:: @ 820E115
MauvilleCity_Gym_EventScript_20E12C:: @ 820E12C
lock
faceplayer
- checkflag FLAG_0x4F2
- goto_eq MauvilleCity_Gym_EventScript_20E141
+ goto_if_set FLAG_0x4F2, MauvilleCity_Gym_EventScript_20E141
msgbox MauvilleCity_Gym_Text_20E17F, MSGBOX_DEFAULT
release
end
@@ -255,15 +245,13 @@ MauvilleCity_Gym_EventScript_20E141:: @ 820E141
MauvilleCity_Gym_EventScript_20E14B:: @ 820E14B
lockall
- checkflag FLAG_BADGE03_GET
- goto_eq MauvilleCity_Gym_EventScript_20E16B
+ goto_if_set FLAG_BADGE03_GET, MauvilleCity_Gym_EventScript_20E16B
goto MauvilleCity_Gym_EventScript_20E175
end
MauvilleCity_Gym_EventScript_20E15B:: @ 820E15B
lockall
- checkflag FLAG_BADGE03_GET
- goto_eq MauvilleCity_Gym_EventScript_20E16B
+ goto_if_set FLAG_BADGE03_GET, MauvilleCity_Gym_EventScript_20E16B
goto MauvilleCity_Gym_EventScript_20E175
end
diff --git a/data/maps/MauvilleCity_House1/scripts.inc b/data/maps/MauvilleCity_House1/scripts.inc
index d5605e5d7..0168f2e9b 100644
--- a/data/maps/MauvilleCity_House1/scripts.inc
+++ b/data/maps/MauvilleCity_House1/scripts.inc
@@ -4,8 +4,7 @@ MauvilleCity_House1_MapScripts:: @ 820F975
MauvilleCity_House1_EventScript_20F976:: @ 820F976
lock
faceplayer
- checkflag FLAG_0x06B
- goto_eq MauvilleCity_House1_EventScript_20F9A5
+ goto_if_set FLAG_0x06B, MauvilleCity_House1_EventScript_20F9A5
msgbox MauvilleCity_House1_Text_20F9AF, MSGBOX_DEFAULT
giveitem_std ITEM_HM06
setflag FLAG_0x06B
diff --git a/data/maps/MauvilleCity_House2/scripts.inc b/data/maps/MauvilleCity_House2/scripts.inc
index 2256fd1fe..288e50725 100644
--- a/data/maps/MauvilleCity_House2/scripts.inc
+++ b/data/maps/MauvilleCity_House2/scripts.inc
@@ -4,12 +4,11 @@ MauvilleCity_House2_MapScripts:: @ 8210C5C
MauvilleCity_House2_EventScript_210C5D:: @ 8210C5D
lock
faceplayer
- checkflag FLAG_0x102
- goto_eq MauvilleCity_House2_EventScript_210CDA
+ goto_if_set FLAG_0x102, MauvilleCity_House2_EventScript_210CDA
msgbox MauvilleCity_House2_Text_210CEE, MSGBOX_DEFAULT
checkitem ITEM_HARBOR_MAIL, 1
compare VAR_RESULT, 1
- goto_eq MauvilleCity_House2_EventScript_210C82
+ goto_if_eq MauvilleCity_House2_EventScript_210C82
release
end
@@ -21,9 +20,9 @@ MauvilleCity_House2_EventScript_210C82:: @ 8210C82
waitmovement 0
msgbox MauvilleCity_House2_Text_210D76, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq MauvilleCity_House2_EventScript_210CB8
+ goto_if_eq MauvilleCity_House2_EventScript_210CB8
compare VAR_RESULT, 0
- goto_eq MauvilleCity_House2_EventScript_210CE4
+ goto_if_eq MauvilleCity_House2_EventScript_210CE4
end
MauvilleCity_House2_EventScript_210CB8:: @ 8210CB8
diff --git a/data/maps/MeteorFalls_1F_1R/scripts.inc b/data/maps/MeteorFalls_1F_1R/scripts.inc
index 23afa4845..7732e8e7d 100644
--- a/data/maps/MeteorFalls_1F_1R/scripts.inc
+++ b/data/maps/MeteorFalls_1F_1R/scripts.inc
@@ -3,8 +3,7 @@ MeteorFalls_1F_1R_MapScripts:: @ 822BD2A
.byte 0
MeteorFalls_1F_1R_MapScript1_22BD30: @ 822BD30
- checkflag FLAG_SYS_GAME_CLEAR
- call_if 1, MeteorFalls_1F_1R_EventScript_22BD3A
+ call_if_set FLAG_SYS_GAME_CLEAR, MeteorFalls_1F_1R_EventScript_22BD3A
end
MeteorFalls_1F_1R_EventScript_22BD3A:: @ 822BD3A
@@ -17,7 +16,7 @@ MeteorFalls_1F_1R_EventScript_22BD3A:: @ 822BD3A
MeteorFalls_1F_1R_EventScript_22BD5F:: @ 822BD5F
lockall
playbgm MUS_MGM0, 0
- applymovement 255, MeteorFalls_1F_1R_Movement_2725B0
+ applymovement EVENT_OBJ_ID_PLAYER, MeteorFalls_1F_1R_Movement_2725B0
waitmovement 0
delay 30
applymovement 5, MeteorFalls_1F_1R_Movement_2725B4
@@ -38,7 +37,7 @@ MeteorFalls_1F_1R_EventScript_22BD5F:: @ 822BD5F
waitmovement 0
msgbox MeteorFalls_1F_1R_Text_22BFE4, MSGBOX_DEFAULT
closemessage
- applymovement 255, MeteorFalls_1F_1R_Movement_2725A4
+ applymovement EVENT_OBJ_ID_PLAYER, MeteorFalls_1F_1R_Movement_2725A4
applymovement 5, MeteorFalls_1F_1R_Movement_2725A4
applymovement 6, MeteorFalls_1F_1R_Movement_2725A4
waitmovement 0
@@ -55,7 +54,7 @@ MeteorFalls_1F_1R_EventScript_22BD5F:: @ 822BD5F
waitmovement 0
msgbox MeteorFalls_1F_1R_Text_22C04E, MSGBOX_DEFAULT
closemessage
- applymovement 255, MeteorFalls_1F_1R_Movement_22BF1D
+ applymovement EVENT_OBJ_ID_PLAYER, MeteorFalls_1F_1R_Movement_22BF1D
applymovement 5, MeteorFalls_1F_1R_Movement_22BEC4
applymovement 6, MeteorFalls_1F_1R_Movement_22BECE
waitmovement 0
@@ -221,8 +220,7 @@ MeteorFalls_1F_1R_Movement_22BF1D: @ 822BF1D
MeteorFalls_1F_1R_EventScript_22BF25:: @ 822BF25
lock
faceplayer
- checkflag FLAG_0x0F4
- goto_eq MeteorFalls_1F_1R_EventScript_22BF3D
+ goto_if_set FLAG_0x0F4, MeteorFalls_1F_1R_EventScript_22BF3D
setflag FLAG_0x0F4
msgbox MeteorFalls_1F_1R_Text_22C342, MSGBOX_DEFAULT
release
diff --git a/data/maps/MeteorFalls_1F_2R/scripts.inc b/data/maps/MeteorFalls_1F_2R/scripts.inc
index c1427d1f2..fee636e0b 100644
--- a/data/maps/MeteorFalls_1F_2R/scripts.inc
+++ b/data/maps/MeteorFalls_1F_2R/scripts.inc
@@ -5,7 +5,7 @@ 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
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq MeteorFalls_1F_2R_EventScript_22C529
+ goto_if_eq MeteorFalls_1F_2R_EventScript_22C529
msgbox MeteorFalls_1F_2R_Text_22C6A3, MSGBOX_DEFAULT
release
end
@@ -27,7 +27,7 @@ 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
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq MeteorFalls_1F_2R_EventScript_22C589
+ goto_if_eq MeteorFalls_1F_2R_EventScript_22C589
msgbox MeteorFalls_1F_2R_Text_22C8C1, MSGBOX_DEFAULT
release
end
@@ -47,7 +47,7 @@ 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
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq MeteorFalls_1F_2R_EventScript_22C5ED
+ goto_if_eq MeteorFalls_1F_2R_EventScript_22C5ED
msgbox MeteorFalls_1F_2R_Text_22CA70, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/MeteorFalls_StevensCave/scripts.inc b/data/maps/MeteorFalls_StevensCave/scripts.inc
index 738a7b6cd..854105932 100644
--- a/data/maps/MeteorFalls_StevensCave/scripts.inc
+++ b/data/maps/MeteorFalls_StevensCave/scripts.inc
@@ -3,8 +3,7 @@ MeteorFalls_StevensCave_MapScripts:: @ 823B181
MeteorFalls_StevensCave_EventScript_23B182:: @ 823B182
lock
- checkflag FLAG_0x4F8
- goto_eq MeteorFalls_StevensCave_EventScript_23B1CD
+ goto_if_set FLAG_0x4F8, MeteorFalls_StevensCave_EventScript_23B1CD
waitse
playse SE_PIN
applymovement 1, MeteorFalls_StevensCave_Movement_272598
diff --git a/data/maps/MirageTower_4F/scripts.inc b/data/maps/MirageTower_4F/scripts.inc
index e60180559..b64fb23a3 100644
--- a/data/maps/MirageTower_4F/scripts.inc
+++ b/data/maps/MirageTower_4F/scripts.inc
@@ -6,7 +6,7 @@ MirageTower_4F_EventScript_23AD48:: @ 823AD48
faceplayer
msgbox MirageTower_4F_Text_23ADF9, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq MirageTower_4F_EventScript_23AD7F
+ goto_if_eq MirageTower_4F_EventScript_23AD7F
giveitem_std ITEM_ROOT_FOSSIL
closemessage
setflag FLAG_HIDE_MIRAGE_TOWER_ROOT_FOSSIL
@@ -27,7 +27,7 @@ MirageTower_4F_EventScript_23AD89:: @ 823AD89
faceplayer
msgbox MirageTower_4F_Text_23AE98, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq MirageTower_4F_EventScript_23ADC0
+ goto_if_eq MirageTower_4F_EventScript_23ADC0
giveitem_std ITEM_CLAW_FOSSIL
closemessage
setflag FLAG_HIDE_MIRAGE_TOWER_CLAW_FOSSIL
diff --git a/data/maps/MossdeepCity/scripts.inc b/data/maps/MossdeepCity/scripts.inc
index fe037074f..54210e809 100644
--- a/data/maps/MossdeepCity/scripts.inc
+++ b/data/maps/MossdeepCity/scripts.inc
@@ -7,15 +7,13 @@ MossdeepCity_MapScript1_1E4A9C: @ 81E4A9C
clearflag FLAG_0x065
clearflag FLAG_0x066
clearflag FLAG_0x067
- checkflag FLAG_SYS_WEATHER_CTRL
- call_if 1, MossdeepCity_EventScript_27207A
+ call_if_set FLAG_SYS_WEATHER_CTRL, MossdeepCity_EventScript_27207A
end
MossdeepCity_EventScript_1E4AB2:: @ 81E4AB2
lock
faceplayer
- checkflag FLAG_0x07B
- goto_eq MossdeepCity_EventScript_1E4AC7
+ goto_if_set FLAG_0x07B, MossdeepCity_EventScript_1E4AC7
msgbox MossdeepCity_Text_1E4E90, MSGBOX_DEFAULT
release
end
@@ -28,8 +26,7 @@ MossdeepCity_EventScript_1E4AC7:: @ 81E4AC7
MossdeepCity_EventScript_1E4AD1:: @ 81E4AD1
lock
faceplayer
- checkflag FLAG_0x07B
- goto_eq MossdeepCity_EventScript_1E4AE6
+ goto_if_set FLAG_0x07B, MossdeepCity_EventScript_1E4AE6
msgbox MossdeepCity_Text_1E4F50, MSGBOX_DEFAULT
release
end
@@ -227,15 +224,14 @@ MossdeepCity_EventScript_1E4C10:: @ 81E4C10
MossdeepCity_EventScript_1E4C26:: @ 81E4C26
lock
faceplayer
- checkflag FLAG_0x114
- goto_eq MossdeepCity_EventScript_1E4C68
+ goto_if_set FLAG_0x114, MossdeepCity_EventScript_1E4C68
msgbox MossdeepCity_Text_1E4CED, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq MossdeepCity_EventScript_1E4C72
+ goto_if_eq MossdeepCity_EventScript_1E4C72
msgbox MossdeepCity_Text_1E4D5B, MSGBOX_DEFAULT
giveitem_std ITEM_KINGS_ROCK
compare VAR_RESULT, 0
- goto_eq MossdeepCity_EventScript_272054
+ goto_if_eq MossdeepCity_EventScript_272054
setflag FLAG_0x114
release
end
@@ -260,22 +256,22 @@ MossdeepCity_EventScript_1E4C85:: @ 81E4C85
msgbox MossdeepCity_Text_1E5453, MSGBOX_DEFAULT
closemessage
compare VAR_FACING, 2
- call_if 1, MossdeepCity_EventScript_1E4CB0
+ call_if_eq MossdeepCity_EventScript_1E4CB0
compare VAR_FACING, 4
- call_if 1, MossdeepCity_EventScript_1E4CC2
+ call_if_eq MossdeepCity_EventScript_1E4CC2
addvar VAR_0x40D1, 1
removeobject 16
release
end
MossdeepCity_EventScript_1E4CB0:: @ 81E4CB0
- applymovement 255, MossdeepCity_Movement_1E4CD4
+ applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Movement_1E4CD4
applymovement 16, MossdeepCity_Movement_1E4CD8
waitmovement 0
return
MossdeepCity_EventScript_1E4CC2:: @ 81E4CC2
- applymovement 255, MossdeepCity_Movement_1E4CD4
+ applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Movement_1E4CD4
applymovement 16, MossdeepCity_Movement_1E4CE2
waitmovement 0
return
diff --git a/data/maps/MossdeepCity_Gym/scripts.inc b/data/maps/MossdeepCity_Gym/scripts.inc
index f42b3f4e4..84157a362 100644
--- a/data/maps/MossdeepCity_Gym/scripts.inc
+++ b/data/maps/MossdeepCity_Gym/scripts.inc
@@ -3,26 +3,22 @@ MossdeepCity_Gym_MapScripts:: @ 8220800
.byte 0
MossdeepCity_Gym_MapScript1_220806: @ 8220806
- checkflag FLAG_0x064
- goto_eq MossdeepCity_Gym_EventScript_22083D
+ goto_if_set FLAG_0x064, MossdeepCity_Gym_EventScript_22083D
goto MossdeepCity_Gym_EventScript_220815
end
MossdeepCity_Gym_EventScript_220815:: @ 8220815
- checkflag FLAG_0x065
- goto_eq MossdeepCity_Gym_EventScript_220855
+ goto_if_set FLAG_0x065, MossdeepCity_Gym_EventScript_220855
goto MossdeepCity_Gym_EventScript_220824
end
MossdeepCity_Gym_EventScript_220824:: @ 8220824
- checkflag FLAG_0x066
- goto_eq MossdeepCity_Gym_EventScript_22086D
+ goto_if_set FLAG_0x066, MossdeepCity_Gym_EventScript_22086D
goto MossdeepCity_Gym_EventScript_220833
end
MossdeepCity_Gym_EventScript_220833:: @ 8220833
- checkflag FLAG_0x067
- goto_eq MossdeepCity_Gym_EventScript_220885
+ goto_if_set FLAG_0x067, MossdeepCity_Gym_EventScript_220885
end
MossdeepCity_Gym_EventScript_22083D:: @ 822083D
@@ -52,9 +48,8 @@ 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
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq MossdeepCity_Gym_EventScript_22097E
- checkflag FLAG_0x0AB
- goto_if 0, MossdeepCity_Gym_EventScript_220937
+ goto_if_eq MossdeepCity_Gym_EventScript_22097E
+ goto_if_unset FLAG_0x0AB, MossdeepCity_Gym_EventScript_220937
msgbox MossdeepCity_Gym_Text_221B1D, MSGBOX_DEFAULT
release
end
@@ -94,7 +89,7 @@ MossdeepCity_Gym_EventScript_2208D1:: @ 82208D1
MossdeepCity_Gym_EventScript_220937:: @ 8220937
giveitem_std ITEM_TM04
compare VAR_RESULT, 0
- goto_eq MossdeepCity_Gym_EventScript_272054
+ goto_if_eq MossdeepCity_Gym_EventScript_272054
msgbox MossdeepCity_Gym_Text_221A40, MSGBOX_DEFAULT
setflag FLAG_0x0AB
release
@@ -103,7 +98,7 @@ MossdeepCity_Gym_EventScript_220937:: @ 8220937
MossdeepCity_Gym_EventScript_22095B:: @ 822095B
giveitem_std ITEM_TM04
compare VAR_RESULT, 0
- goto_eq MossdeepCity_Gym_EventScript_27205E
+ goto_if_eq MossdeepCity_Gym_EventScript_27205E
msgbox MossdeepCity_Gym_Text_221A40, MSGBOX_DEFAULT
setflag FLAG_0x0AB
return
@@ -115,10 +110,9 @@ MossdeepCity_Gym_EventScript_22097E:: @ 822097E
MossdeepCity_Gym_EventScript_220999:: @ 8220999
lockall
- checkflag FLAG_0x064
- goto_eq MossdeepCity_Gym_EventScript_2209D0
+ goto_if_set FLAG_0x064, MossdeepCity_Gym_EventScript_2209D0
setflag FLAG_0x064
- applymovement 255, MossdeepCity_Gym_Movement_220C30
+ applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30
waitmovement 0
setmetatile 5, 5, 516, 0
setmetatile 2, 7, 569, 1
@@ -133,7 +127,7 @@ MossdeepCity_Gym_EventScript_2209C8:: @ 82209C8
MossdeepCity_Gym_EventScript_2209D0:: @ 82209D0
clearflag FLAG_0x064
- applymovement 255, MossdeepCity_Gym_Movement_220C30
+ applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30
waitmovement 0
setmetatile 5, 5, 524, 0
setmetatile 2, 7, 568, 1
@@ -142,10 +136,9 @@ MossdeepCity_Gym_EventScript_2209D0:: @ 82209D0
MossdeepCity_Gym_EventScript_2209F5:: @ 82209F5
lockall
- checkflag FLAG_0x065
- goto_eq MossdeepCity_Gym_EventScript_220A24
+ goto_if_set FLAG_0x065, MossdeepCity_Gym_EventScript_220A24
setflag FLAG_0x065
- applymovement 255, MossdeepCity_Gym_Movement_220C30
+ applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30
waitmovement 0
setmetatile 8, 14, 516, 0
setmetatile 8, 10, 569, 1
@@ -154,7 +147,7 @@ MossdeepCity_Gym_EventScript_2209F5:: @ 82209F5
MossdeepCity_Gym_EventScript_220A24:: @ 8220A24
clearflag FLAG_0x065
- applymovement 255, MossdeepCity_Gym_Movement_220C30
+ applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30
waitmovement 0
setmetatile 8, 14, 517, 0
setmetatile 8, 10, 568, 1
@@ -163,10 +156,9 @@ MossdeepCity_Gym_EventScript_220A24:: @ 8220A24
MossdeepCity_Gym_EventScript_220A49:: @ 8220A49
lockall
- checkflag FLAG_0x066
- goto_eq MossdeepCity_Gym_EventScript_220A78
+ goto_if_set FLAG_0x066, MossdeepCity_Gym_EventScript_220A78
setflag FLAG_0x066
- applymovement 255, MossdeepCity_Gym_Movement_220C30
+ applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30
waitmovement 0
setmetatile 15, 17, 524, 0
setmetatile 17, 15, 569, 1
@@ -175,7 +167,7 @@ MossdeepCity_Gym_EventScript_220A49:: @ 8220A49
MossdeepCity_Gym_EventScript_220A78:: @ 8220A78
clearflag FLAG_0x066
- applymovement 255, MossdeepCity_Gym_Movement_220C30
+ applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30
waitmovement 0
setmetatile 15, 17, 516, 0
setmetatile 17, 15, 568, 1
@@ -184,10 +176,9 @@ MossdeepCity_Gym_EventScript_220A78:: @ 8220A78
MossdeepCity_Gym_EventScript_220A9D:: @ 8220A9D
lockall
- checkflag FLAG_0x067
- goto_eq MossdeepCity_Gym_EventScript_220ACC
+ goto_if_set FLAG_0x067, MossdeepCity_Gym_EventScript_220ACC
setflag FLAG_0x067
- applymovement 255, MossdeepCity_Gym_Movement_220C30
+ applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30
waitmovement 0
setmetatile 1, 23, 525, 0
setmetatile 5, 24, 569, 1
@@ -196,7 +187,7 @@ MossdeepCity_Gym_EventScript_220A9D:: @ 8220A9D
MossdeepCity_Gym_EventScript_220ACC:: @ 8220ACC
clearflag FLAG_0x067
- applymovement 255, MossdeepCity_Gym_Movement_220C30
+ applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_Gym_Movement_220C30
waitmovement 0
setmetatile 1, 23, 516, 0
setmetatile 5, 24, 568, 1
@@ -273,8 +264,7 @@ MossdeepCity_Gym_EventScript_220BFA:: @ 8220BFA
MossdeepCity_Gym_EventScript_220C11:: @ 8220C11
lock
faceplayer
- checkflag FLAG_0x4F6
- goto_eq MossdeepCity_Gym_EventScript_220C26
+ goto_if_set FLAG_0x4F6, MossdeepCity_Gym_EventScript_220C26
msgbox MossdeepCity_Gym_Text_220CD5, MSGBOX_DEFAULT
release
end
@@ -291,15 +281,13 @@ MossdeepCity_Gym_Movement_220C30: @ 8220C30
MossdeepCity_Gym_EventScript_220C33:: @ 8220C33
lockall
- checkflag FLAG_BADGE07_GET
- goto_eq MossdeepCity_Gym_EventScript_220C53
+ goto_if_set FLAG_BADGE07_GET, MossdeepCity_Gym_EventScript_220C53
goto MossdeepCity_Gym_EventScript_220C5D
end
MossdeepCity_Gym_EventScript_220C43:: @ 8220C43
lockall
- checkflag FLAG_BADGE07_GET
- goto_eq MossdeepCity_Gym_EventScript_220C53
+ goto_if_set FLAG_BADGE07_GET, MossdeepCity_Gym_EventScript_220C53
goto MossdeepCity_Gym_EventScript_220C5D
end
diff --git a/data/maps/MossdeepCity_House1/scripts.inc b/data/maps/MossdeepCity_House1/scripts.inc
index 4a5da3b16..60d612fb2 100644
--- a/data/maps/MossdeepCity_House1/scripts.inc
+++ b/data/maps/MossdeepCity_House1/scripts.inc
@@ -8,7 +8,7 @@ MossdeepCity_House1_EventScript_221FD6:: @ 8221FD6
msgbox MossdeepCity_House1_Text_22200F, MSGBOX_DEFAULT
specialvar VAR_RESULT, GetPokeblockNameByMonNature
compare VAR_RESULT, 0
- goto_eq MossdeepCity_House1_EventScript_221FFC
+ goto_if_eq MossdeepCity_House1_EventScript_221FFC
msgbox MossdeepCity_House1_Text_22201D, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/MossdeepCity_House2/scripts.inc b/data/maps/MossdeepCity_House2/scripts.inc
index 863bb4eda..c2c5ff620 100644
--- a/data/maps/MossdeepCity_House2/scripts.inc
+++ b/data/maps/MossdeepCity_House2/scripts.inc
@@ -20,9 +20,9 @@ MossdeepCity_House2_EventScript_2220F1:: @ 82220F1
setflag FLAG_0x0E0
clearflag FLAG_HIDE_FORTREE_CITY_HOUSE_4_WINGULL
compare VAR_FACING, 2
- call_if 1, MossdeepCity_House2_EventScript_222124
+ call_if_eq MossdeepCity_House2_EventScript_222124
compare VAR_FACING, 3
- call_if 1, MossdeepCity_House2_EventScript_22212F
+ call_if_eq MossdeepCity_House2_EventScript_22212F
removeobject 3
release
end
diff --git a/data/maps/MossdeepCity_House3/scripts.inc b/data/maps/MossdeepCity_House3/scripts.inc
index 2d4fd04ad..c61a0751c 100644
--- a/data/maps/MossdeepCity_House3/scripts.inc
+++ b/data/maps/MossdeepCity_House3/scripts.inc
@@ -4,11 +4,10 @@ MossdeepCity_House3_MapScripts:: @ 82225C2
MossdeepCity_House3_EventScript_2225C3:: @ 82225C3
lock
faceplayer
- checkflag FLAG_0x098
- goto_eq MossdeepCity_House3_EventScript_222602
+ goto_if_set FLAG_0x098, MossdeepCity_House3_EventScript_222602
msgbox MossdeepCity_House3_Text_222616, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq MossdeepCity_House3_EventScript_22260C
+ goto_if_eq MossdeepCity_House3_EventScript_22260C
msgbox MossdeepCity_House3_Text_2226B6, MSGBOX_DEFAULT
giveitem_std ITEM_SUPER_ROD
setflag FLAG_0x098
diff --git a/data/maps/MossdeepCity_House4/scripts.inc b/data/maps/MossdeepCity_House4/scripts.inc
index 627340b5c..1763a9c46 100644
--- a/data/maps/MossdeepCity_House4/scripts.inc
+++ b/data/maps/MossdeepCity_House4/scripts.inc
@@ -4,8 +4,7 @@ MossdeepCity_House4_MapScripts:: @ 8222DD7
MossdeepCity_House4_EventScript_222DD8:: @ 8222DD8
lock
faceplayer
- checkflag FLAG_SYS_GAME_CLEAR
- goto_eq MossdeepCity_House4_EventScript_222DED
+ goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_House4_EventScript_222DED
msgbox MossdeepCity_House4_Text_222E31, MSGBOX_DEFAULT
release
end
@@ -20,7 +19,7 @@ MossdeepCity_House4_EventScript_222DF7:: @ 8222DF7
faceplayer
special sub_80E8BC8
compare VAR_RESULT, 0
- goto_eq MossdeepCity_House4_EventScript_222E14
+ goto_if_eq MossdeepCity_House4_EventScript_222E14
special GetSecretBaseNearbyMapName
msgbox MossdeepCity_House4_Text_222ECC, MSGBOX_DEFAULT
release
diff --git a/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc b/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc
index 32eac1540..6d8b7bd47 100644
--- a/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc
+++ b/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc
@@ -5,7 +5,7 @@ MossdeepCity_SpaceCenter_1F_MapScripts:: @ 8222F41
MossdeepCity_SpaceCenter_1F_MapScript1_222F4C: @ 8222F4C
compare VAR_0x405D, 2
- goto_eq MossdeepCity_SpaceCenter_1F_EventScript_222F58
+ goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_222F58
end
MossdeepCity_SpaceCenter_1F_EventScript_222F58:: @ 8222F58
@@ -19,11 +19,11 @@ MossdeepCity_SpaceCenter_1F_EventScript_222F58:: @ 8222F58
setobjectmovementtype 1, 10
setobjectmovementtype 2, 10
compare VAR_0x409E, 1
- goto_eq MossdeepCity_SpaceCenter_1F_EventScript_222FAA
+ goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_222FAA
compare VAR_0x409E, 2
- goto_eq MossdeepCity_SpaceCenter_1F_EventScript_222FB2
+ goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_222FB2
compare VAR_0x409E, 3
- goto_eq MossdeepCity_SpaceCenter_1F_EventScript_222FBA
+ goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_222FBA
end
MossdeepCity_SpaceCenter_1F_EventScript_222FAA:: @ 8222FAA
@@ -40,7 +40,7 @@ MossdeepCity_SpaceCenter_1F_EventScript_222FBA:: @ 8222FBA
MossdeepCity_SpaceCenter_1F_MapScript1_222FC2: @ 8222FC2
compare VAR_0x405D, 2
- goto_if 3, MossdeepCity_SpaceCenter_1F_EventScript_222FCE
+ goto_if_le MossdeepCity_SpaceCenter_1F_EventScript_222FCE
end
MossdeepCity_SpaceCenter_1F_EventScript_222FCE:: @ 8222FCE
@@ -51,14 +51,14 @@ MossdeepCity_SpaceCenter_1F_EventScript_222FD8:: @ 8222FD8
lock
faceplayer
compare VAR_0x405D, 2
- goto_eq MossdeepCity_SpaceCenter_1F_EventScript_223024
+ goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_223024
dodailyevents
specialvar VAR_RESULT, GetWeekCount
buffernumberstring 0, VAR_RESULT
compare VAR_RESULT, 0
- call_if 1, MossdeepCity_SpaceCenter_1F_EventScript_223012
+ call_if_eq MossdeepCity_SpaceCenter_1F_EventScript_223012
compare VAR_RESULT, 1
- call_if 4, MossdeepCity_SpaceCenter_1F_EventScript_22301B
+ call_if_ge MossdeepCity_SpaceCenter_1F_EventScript_22301B
closemessage
applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_2725A2
waitmovement 0
@@ -78,9 +78,9 @@ MossdeepCity_SpaceCenter_1F_EventScript_223024:: @ 8223024
specialvar VAR_RESULT, GetWeekCount
buffernumberstring 0, VAR_RESULT
compare VAR_RESULT, 0
- call_if 1, MossdeepCity_SpaceCenter_1F_EventScript_223051
+ call_if_eq MossdeepCity_SpaceCenter_1F_EventScript_223051
compare VAR_RESULT, 1
- call_if 4, MossdeepCity_SpaceCenter_1F_EventScript_22305A
+ call_if_ge MossdeepCity_SpaceCenter_1F_EventScript_22305A
closemessage
applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_2725A8
waitmovement 0
@@ -99,7 +99,7 @@ MossdeepCity_SpaceCenter_1F_EventScript_223063:: @ 8223063
lock
faceplayer
compare VAR_0x405D, 2
- goto_eq MossdeepCity_SpaceCenter_1F_EventScript_22307A
+ goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_22307A
msgbox MossdeepCity_SpaceCenter_1F_Text_2233D3, MSGBOX_DEFAULT
release
end
@@ -115,13 +115,12 @@ MossdeepCity_SpaceCenter_1F_EventScript_22308E:: @ 822308E
lock
faceplayer
compare VAR_0x405D, 2
- goto_eq MossdeepCity_SpaceCenter_1F_EventScript_2230DA
- checkflag FLAG_0x0C0
- goto_eq MossdeepCity_SpaceCenter_1F_EventScript_2230D0
+ goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_2230DA
+ goto_if_set FLAG_0x0C0, MossdeepCity_SpaceCenter_1F_EventScript_2230D0
msgbox MossdeepCity_SpaceCenter_1F_Text_223540, MSGBOX_DEFAULT
giveitem_std ITEM_SUN_STONE
compare VAR_RESULT, 0
- goto_eq MossdeepCity_SpaceCenter_1F_EventScript_272054
+ goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_272054
setflag FLAG_0x0C0
msgbox MossdeepCity_SpaceCenter_1F_Text_2235A6, MSGBOX_DEFAULT
release
@@ -133,12 +132,11 @@ MossdeepCity_SpaceCenter_1F_EventScript_2230D0:: @ 82230D0
end
MossdeepCity_SpaceCenter_1F_EventScript_2230DA:: @ 82230DA
- checkflag FLAG_0x0C0
- goto_eq MossdeepCity_SpaceCenter_1F_EventScript_223119
+ goto_if_set FLAG_0x0C0, MossdeepCity_SpaceCenter_1F_EventScript_223119
msgbox MossdeepCity_SpaceCenter_1F_Text_2235F0, MSGBOX_DEFAULT
giveitem_std ITEM_SUN_STONE
compare VAR_RESULT, 0
- goto_eq MossdeepCity_SpaceCenter_1F_EventScript_272054
+ goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_272054
setflag FLAG_0x0C0
msgbox MossdeepCity_SpaceCenter_1F_Text_223664, MSGBOX_DEFAULT
applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_1F_Movement_2725A8
@@ -156,12 +154,11 @@ MossdeepCity_SpaceCenter_1F_EventScript_223119:: @ 8223119
MossdeepCity_SpaceCenter_1F_EventScript_22312D:: @ 822312D
lock
faceplayer
- checkflag FLAG_SYS_GAME_CLEAR
- goto_eq MossdeepCity_SpaceCenter_1F_EventScript_223154
+ goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_1F_EventScript_223154
compare VAR_0x405D, 2
- goto_eq MossdeepCity_SpaceCenter_1F_EventScript_22315E
+ goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_22315E
compare VAR_0x405D, 2
- goto_if 0, MossdeepCity_SpaceCenter_1F_EventScript_223154
+ goto_if_lt MossdeepCity_SpaceCenter_1F_EventScript_223154
goto MossdeepCity_SpaceCenter_1F_EventScript_22315E
end
@@ -178,12 +175,11 @@ MossdeepCity_SpaceCenter_1F_EventScript_22315E:: @ 822315E
MossdeepCity_SpaceCenter_1F_EventScript_223168:: @ 8223168
lock
faceplayer
- checkflag FLAG_SYS_GAME_CLEAR
- goto_eq MossdeepCity_SpaceCenter_1F_EventScript_22318F
+ goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_1F_EventScript_22318F
compare VAR_0x405D, 2
- goto_eq MossdeepCity_SpaceCenter_1F_EventScript_2231A4
+ goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_2231A4
compare VAR_0x405D, 2
- goto_if 0, MossdeepCity_SpaceCenter_1F_EventScript_22318F
+ goto_if_lt MossdeepCity_SpaceCenter_1F_EventScript_22318F
goto MossdeepCity_SpaceCenter_1F_EventScript_2231A4
end
@@ -236,8 +232,7 @@ MossdeepCity_SpaceCenter_1F_EventScript_223208:: @ 8223208
MossdeepCity_SpaceCenter_1F_EventScript_22321F:: @ 822321F
lock
faceplayer
- checkflag FLAG_0x0BF
- goto_eq MossdeepCity_SpaceCenter_1F_EventScript_22326E
+ goto_if_set FLAG_0x0BF, MossdeepCity_SpaceCenter_1F_EventScript_22326E
msgbox MossdeepCity_SpaceCenter_1F_Text_223B90, MSGBOX_DEFAULT
trainerbattle_no_intro TRAINER_GRUNT_23, MossdeepCity_SpaceCenter_1F_Text_223BC2
setflag FLAG_0x0BF
diff --git a/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc b/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc
index 3c31ec06c..c4b106589 100644
--- a/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc
+++ b/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc
@@ -5,9 +5,9 @@ MossdeepCity_SpaceCenter_2F_MapScripts:: @ 8223D58
MossdeepCity_SpaceCenter_2F_MapScript1_223D63: @ 8223D63
compare VAR_0x405D, 2
- call_if 1, MossdeepCity_SpaceCenter_2F_EventScript_223D7A
+ call_if_eq MossdeepCity_SpaceCenter_2F_EventScript_223D7A
compare VAR_0x409F, 2
- call_if 1, MossdeepCity_SpaceCenter_2F_EventScript_223D9F
+ call_if_eq MossdeepCity_SpaceCenter_2F_EventScript_223D9F
end
MossdeepCity_SpaceCenter_2F_EventScript_223D7A:: @ 8223D7A
@@ -32,16 +32,16 @@ MossdeepCity_SpaceCenter_2F_MapScript2_223DB5: @ 8223DB5
MossdeepCity_SpaceCenter_2F_EventScript_223DBF:: @ 8223DBF
playse SE_PIN
- applymovement 255, MossdeepCity_SpaceCenter_2F_Movement_272598
+ applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_SpaceCenter_2F_Movement_272598
waitmovement 0
- applymovement 255, MossdeepCity_SpaceCenter_2F_Movement_27259A
+ applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_SpaceCenter_2F_Movement_27259A
waitmovement 0
msgbox MossdeepCity_SpaceCenter_2F_Text_2243A4, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq MossdeepCity_SpaceCenter_2F_EventScript_223E09
+ goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_223E09
msgbox MossdeepCity_SpaceCenter_2F_Text_2243FE, MSGBOX_DEFAULT
closemessage
- applymovement 255, MossdeepCity_SpaceCenter_2F_Movement_223E07
+ applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_SpaceCenter_2F_Movement_223E07
waitmovement 0
warp MAP_MOSSDEEP_CITY_SPACE_CENTER_1F, 255, 13, 1
waitstate
@@ -57,13 +57,13 @@ MossdeepCity_SpaceCenter_2F_EventScript_223E09:: @ 8223E09
trainerbattle_no_intro TRAINER_GRUNT_34, MossdeepCity_SpaceCenter_2F_Text_224461
applymovement 6, MossdeepCity_SpaceCenter_2F_Movement_223E85
waitmovement 0
- applymovement 255, MossdeepCity_SpaceCenter_2F_Movement_2725A4
+ applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_SpaceCenter_2F_Movement_2725A4
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
waitmovement 0
- applymovement 255, MossdeepCity_SpaceCenter_2F_Movement_2725A8
+ applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_SpaceCenter_2F_Movement_2725A8
waitmovement 0
msgbox MossdeepCity_SpaceCenter_2F_Text_2244AB, MSGBOX_DEFAULT
trainerbattle_no_intro TRAINER_GRUNT_36, MossdeepCity_SpaceCenter_2F_Text_2244F1
@@ -97,12 +97,11 @@ MossdeepCity_SpaceCenter_2F_Movement_223E89: @ 8223E89
MossdeepCity_SpaceCenter_2F_EventScript_223E8D:: @ 8223E8D
lock
faceplayer
- checkflag FLAG_SYS_GAME_CLEAR
- goto_eq MossdeepCity_SpaceCenter_2F_EventScript_223EB4
+ goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_2F_EventScript_223EB4
compare VAR_0x405D, 2
- goto_eq MossdeepCity_SpaceCenter_2F_EventScript_223EBE
+ goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_223EBE
compare VAR_0x405D, 2
- goto_if 0, MossdeepCity_SpaceCenter_2F_EventScript_223EB4
+ goto_if_lt MossdeepCity_SpaceCenter_2F_EventScript_223EB4
goto MossdeepCity_SpaceCenter_2F_EventScript_223EBE
end
@@ -119,12 +118,11 @@ MossdeepCity_SpaceCenter_2F_EventScript_223EBE:: @ 8223EBE
MossdeepCity_SpaceCenter_2F_EventScript_223EC8:: @ 8223EC8
lock
faceplayer
- checkflag FLAG_SYS_GAME_CLEAR
- goto_eq MossdeepCity_SpaceCenter_2F_EventScript_223EEF
+ goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_2F_EventScript_223EEF
compare VAR_0x405D, 2
- goto_eq MossdeepCity_SpaceCenter_2F_EventScript_223EF9
+ goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_223EF9
compare VAR_0x405D, 2
- goto_if 0, MossdeepCity_SpaceCenter_2F_EventScript_223EEF
+ goto_if_lt MossdeepCity_SpaceCenter_2F_EventScript_223EEF
goto MossdeepCity_SpaceCenter_2F_EventScript_223EF9
end
@@ -141,12 +139,11 @@ MossdeepCity_SpaceCenter_2F_EventScript_223EF9:: @ 8223EF9
MossdeepCity_SpaceCenter_2F_EventScript_223F03:: @ 8223F03
lock
faceplayer
- checkflag FLAG_SYS_GAME_CLEAR
- goto_eq MossdeepCity_SpaceCenter_2F_EventScript_223F2A
+ goto_if_set FLAG_SYS_GAME_CLEAR, MossdeepCity_SpaceCenter_2F_EventScript_223F2A
compare VAR_0x405D, 2
- goto_eq MossdeepCity_SpaceCenter_2F_EventScript_223F34
+ goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_223F34
compare VAR_0x405D, 2
- goto_if 0, MossdeepCity_SpaceCenter_2F_EventScript_223F2A
+ goto_if_lt MossdeepCity_SpaceCenter_2F_EventScript_223F2A
goto MossdeepCity_SpaceCenter_2F_EventScript_223F34
end
@@ -189,8 +186,7 @@ MossdeepCity_SpaceCenter_2F_EventScript_223F6F:: @ 8223F6F
MossdeepCity_SpaceCenter_2F_EventScript_223F7A:: @ 8223F7A
lockall
- checkflag FLAG_0x0CD
- goto_eq MossdeepCity_SpaceCenter_2F_EventScript_223FDA
+ goto_if_set FLAG_0x0CD, MossdeepCity_SpaceCenter_2F_EventScript_223FDA
setflag FLAG_0x0CD
msgbox MossdeepCity_SpaceCenter_2F_Text_2246B2, MSGBOX_DEFAULT
msgbox MossdeepCity_SpaceCenter_2F_Text_2246F0, MSGBOX_DEFAULT
@@ -239,7 +235,7 @@ MossdeepCity_SpaceCenter_2F_EventScript_223FDA:: @ 8223FDA
waitmovement 0
msgbox MossdeepCity_SpaceCenter_2F_Text_2247FF, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq MossdeepCity_SpaceCenter_2F_EventScript_22400C
+ goto_if_eq MossdeepCity_SpaceCenter_2F_EventScript_22400C
msgbox MossdeepCity_SpaceCenter_2F_Text_224854, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, MossdeepCity_SpaceCenter_2F_Movement_2725AA
@@ -255,7 +251,7 @@ MossdeepCity_SpaceCenter_2F_EventScript_22400C:: @ 822400C
special sub_80F9438
waitstate
compare VAR_RESULT, 0
- goto_if 5, MossdeepCity_SpaceCenter_2F_EventScript_224032
+ goto_if_ne MossdeepCity_SpaceCenter_2F_EventScript_224032
special LoadPlayerParty
goto MossdeepCity_SpaceCenter_2F_EventScript_223FDA
@@ -354,9 +350,9 @@ MossdeepCity_SpaceCenter_2F_EventScript_224175:: @ 8224175
lockall
checkplayergender
compare VAR_RESULT, 0
- call_if 1, MossdeepCity_SpaceCenter_2F_EventScript_224193
+ call_if_eq MossdeepCity_SpaceCenter_2F_EventScript_224193
compare VAR_RESULT, 1
- call_if 1, MossdeepCity_SpaceCenter_2F_EventScript_22419A
+ call_if_eq MossdeepCity_SpaceCenter_2F_EventScript_22419A
closemessage
clearflag FLAG_0x075
releaseall
diff --git a/data/maps/MossdeepCity_StevensHouse/scripts.inc b/data/maps/MossdeepCity_StevensHouse/scripts.inc
index 297af90d3..8db53c1c6 100644
--- a/data/maps/MossdeepCity_StevensHouse/scripts.inc
+++ b/data/maps/MossdeepCity_StevensHouse/scripts.inc
@@ -5,8 +5,7 @@ MossdeepCity_StevensHouse_MapScripts:: @ 8222784
.byte 0
MossdeepCity_StevensHouse_MapScript1_222794: @ 8222794
- checkflag FLAG_SYS_GAME_CLEAR
- call_if 0, MossdeepCity_StevensHouse_EventScript_22279E
+ call_if_unset FLAG_SYS_GAME_CLEAR, MossdeepCity_StevensHouse_EventScript_22279E
end
MossdeepCity_StevensHouse_EventScript_22279E:: @ 822279E
@@ -15,7 +14,7 @@ MossdeepCity_StevensHouse_EventScript_22279E:: @ 822279E
MossdeepCity_StevensHouse_MapScript1_2227A8: @ 82227A8
compare VAR_0x40C6, 2
- call_if 1, MossdeepCity_StevensHouse_EventScript_2227B4
+ call_if_eq MossdeepCity_StevensHouse_EventScript_2227B4
end
MossdeepCity_StevensHouse_EventScript_2227B4:: @ 82227B4
@@ -75,7 +74,7 @@ MossdeepCity_StevensHouse_EventScript_222841:: @ 8222841
lockall
msgbox MossdeepCity_StevensHouse_Text_222B9E, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq MossdeepCity_StevensHouse_EventScript_22285B
+ goto_if_eq MossdeepCity_StevensHouse_EventScript_22285B
goto MossdeepCity_StevensHouse_EventScript_222865
end
@@ -88,9 +87,9 @@ MossdeepCity_StevensHouse_EventScript_222865:: @ 8222865
setvar VAR_TEMP_1, 398
givemon SPECIES_BELDUM, 5, ITEM_NONE, 0x0, 0x0, 0
compare VAR_RESULT, 0
- goto_eq MossdeepCity_StevensHouse_EventScript_222895
+ goto_if_eq MossdeepCity_StevensHouse_EventScript_222895
compare VAR_RESULT, 1
- goto_eq MossdeepCity_StevensHouse_EventScript_2228BD
+ goto_if_eq MossdeepCity_StevensHouse_EventScript_2228BD
goto MossdeepCity_StevensHouse_EventScript_273811
end
@@ -98,7 +97,7 @@ MossdeepCity_StevensHouse_EventScript_222895:: @ 8222895
call MossdeepCity_StevensHouse_EventScript_2228EB
msgbox gUnknown_08273374, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq MossdeepCity_StevensHouse_EventScript_222901
+ goto_if_eq MossdeepCity_StevensHouse_EventScript_222901
call MossdeepCity_StevensHouse_EventScript_27378B
call MossdeepCity_StevensHouse_EventScript_2723DD
goto MossdeepCity_StevensHouse_EventScript_222901
@@ -108,7 +107,7 @@ MossdeepCity_StevensHouse_EventScript_2228BD:: @ 82228BD
call MossdeepCity_StevensHouse_EventScript_2228EB
msgbox gUnknown_08273374, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq MossdeepCity_StevensHouse_EventScript_2228E0
+ goto_if_eq MossdeepCity_StevensHouse_EventScript_2228E0
call MossdeepCity_StevensHouse_EventScript_273797
goto MossdeepCity_StevensHouse_EventScript_2228E0
end
diff --git a/data/maps/MtChimney/scripts.inc b/data/maps/MtChimney/scripts.inc
index 88df5692e..6e7331660 100644
--- a/data/maps/MtChimney/scripts.inc
+++ b/data/maps/MtChimney/scripts.inc
@@ -14,10 +14,8 @@ MtChimney_MapScript1_22EDD2: @ 822EDD2
MtChimney_EventScript_22EDD5:: @ 822EDD5
lock
faceplayer
- checkflag FLAG_0x0DB
- call_if 0, MtChimney_EventScript_22EDF9
- checkflag FLAG_0x0DB
- call_if 1, MtChimney_EventScript_22EE02
+ call_if_unset FLAG_0x0DB, MtChimney_EventScript_22EDF9
+ call_if_set FLAG_0x0DB, MtChimney_EventScript_22EE02
closemessage
applymovement 1, MtChimney_Movement_2725A2
waitmovement 0
@@ -59,17 +57,17 @@ MtChimney_EventScript_22EE0B:: @ 822EE0B
setobjectxyperm 1, 10, 12
addobject 1
compare VAR_FACING, 4
- call_if 1, MtChimney_EventScript_22EEC7
+ call_if_eq MtChimney_EventScript_22EEC7
compare VAR_FACING, 2
- call_if 1, MtChimney_EventScript_22EED2
- applymovement 255, MtChimney_Movement_2725A4
+ call_if_eq MtChimney_EventScript_22EED2
+ applymovement EVENT_OBJ_ID_PLAYER, MtChimney_Movement_2725A4
waitmovement 0
msgbox MtChimney_Text_22FC3D, MSGBOX_DEFAULT
closemessage
compare VAR_FACING, 4
- call_if 1, MtChimney_EventScript_22EEDD
+ call_if_eq MtChimney_EventScript_22EEDD
compare VAR_FACING, 2
- call_if 1, MtChimney_EventScript_22EEE8
+ call_if_eq MtChimney_EventScript_22EEE8
removeobject 1
setflag FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA
setflag FLAG_0x08B
@@ -105,17 +103,17 @@ MtChimney_EventScript_22EEF3:: @ 822EEF3
showmoneybox 0, 0, 0
msgbox MtChimney_Text_22FE04, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq MtChimney_EventScript_22EF69
+ goto_if_eq MtChimney_EventScript_22EF69
checkmoney 0xc8, 0
compare VAR_RESULT, 0
- goto_eq MtChimney_EventScript_22EF76
+ goto_if_eq MtChimney_EventScript_22EF76
msgbox MtChimney_Text_22FE4D, MSGBOX_DEFAULT
checkitemspace ITEM_LAVA_COOKIE, 1
compare VAR_RESULT, 1
- call_if 1, MtChimney_EventScript_22EF5E
+ call_if_eq MtChimney_EventScript_22EF5E
giveitem_std ITEM_LAVA_COOKIE
compare VAR_RESULT, 0
- goto_eq MtChimney_EventScript_22EF51
+ goto_if_eq MtChimney_EventScript_22EF51
hidemoneybox
nop
nop
@@ -454,13 +452,11 @@ MtChimney_EventScript_22F0DB:: @ 822F0DB
MtChimney_EventScript_22F0E4:: @ 822F0E4
lockall
- checkflag FLAG_0x08B
- goto_if 0, MtChimney_EventScript_22F137
- checkflag FLAG_0x073
- goto_eq MtChimney_EventScript_22F12D
+ goto_if_unset FLAG_0x08B, MtChimney_EventScript_22F137
+ goto_if_set FLAG_0x073, MtChimney_EventScript_22F12D
msgbox MtChimney_Text_22FF12, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq MtChimney_EventScript_22F123
+ goto_if_eq MtChimney_EventScript_22F123
msgbox MtChimney_Text_22FF66, MSGBOX_DEFAULT
giveitem_std ITEM_METEORITE
setflag FLAG_0x073
@@ -490,7 +486,7 @@ MtChimney_EventScript_22F14A:: @ 822F14A
trainerbattle_single TRAINER_SHELBY_1, MtChimney_Text_23001D, MtChimney_Text_230076, MtChimney_EventScript_22F176
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq MtChimney_EventScript_22F195
+ goto_if_eq MtChimney_EventScript_22F195
msgbox MtChimney_Text_2300A2, MSGBOX_DEFAULT
release
end
@@ -532,7 +528,7 @@ MtChimney_EventScript_22F208:: @ 822F208
trainerbattle_single TRAINER_SAWYER_1, MtChimney_Text_2304B3, MtChimney_Text_2304F7, MtChimney_EventScript_22F234
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq MtChimney_EventScript_22F253
+ goto_if_eq MtChimney_EventScript_22F253
msgbox MtChimney_Text_230519, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/MtChimney_CableCarStation/scripts.inc b/data/maps/MtChimney_CableCarStation/scripts.inc
index 89fc9fd38..8e52438c9 100644
--- a/data/maps/MtChimney_CableCarStation/scripts.inc
+++ b/data/maps/MtChimney_CableCarStation/scripts.inc
@@ -5,7 +5,7 @@ MtChimney_CableCarStation_MapScripts:: @ 822ABFA
MtChimney_CableCarStation_MapScript1_22AC05: @ 822AC05
compare VAR_0x40A3, 1
- call_if 1, MtChimney_CableCarStation_EventScript_22AC11
+ call_if_eq MtChimney_CableCarStation_EventScript_22AC11
end
MtChimney_CableCarStation_EventScript_22AC11:: @ 822AC11
@@ -19,7 +19,7 @@ MtChimney_CableCarStation_MapScript2_22AC1D: @ 822AC1D
MtChimney_CableCarStation_EventScript_22AC27:: @ 822AC27
lockall
- applymovement 255, MtChimney_CableCarStation_Movement_22ACB4
+ applymovement EVENT_OBJ_ID_PLAYER, MtChimney_CableCarStation_Movement_22ACB4
applymovement 1, MtChimney_CableCarStation_Movement_22ACAA
waitmovement 0
setvar VAR_0x40A3, 0
@@ -33,16 +33,16 @@ MtChimney_CableCarStation_EventScript_22AC4B:: @ 822AC4B
faceplayer
msgbox MtChimney_CableCarStation_Text_22ACB9, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq MtChimney_CableCarStation_EventScript_22AC6C
+ goto_if_eq MtChimney_CableCarStation_EventScript_22AC6C
compare VAR_RESULT, 0
- goto_eq MtChimney_CableCarStation_EventScript_22AC9B
+ goto_if_eq MtChimney_CableCarStation_EventScript_22AC9B
end
MtChimney_CableCarStation_EventScript_22AC6C:: @ 822AC6C
msgbox MtChimney_CableCarStation_Text_22ACF8, MSGBOX_DEFAULT
closemessage
applymovement 1, MtChimney_CableCarStation_Movement_22ACA5
- applymovement 255, MtChimney_CableCarStation_Movement_22ACAF
+ applymovement EVENT_OBJ_ID_PLAYER, MtChimney_CableCarStation_Movement_22ACAF
waitmovement 0
setvar VAR_0x8004, 1
setvar VAR_0x40A3, 2
diff --git a/data/maps/MtPyre_1F/scripts.inc b/data/maps/MtPyre_1F/scripts.inc
index c5f24ccc0..b3f38c296 100644
--- a/data/maps/MtPyre_1F/scripts.inc
+++ b/data/maps/MtPyre_1F/scripts.inc
@@ -4,12 +4,11 @@ MtPyre_1F_MapScripts:: @ 8230F3E
MtPyre_1F_EventScript_230F3F:: @ 8230F3F
lock
faceplayer
- checkflag FLAG_0x11A
- goto_eq MtPyre_1F_EventScript_230F6E
+ goto_if_set FLAG_0x11A, MtPyre_1F_EventScript_230F6E
msgbox MtPyre_1F_Text_230F8A, MSGBOX_DEFAULT
giveitem_std ITEM_CLEANSE_TAG
compare VAR_RESULT, 0
- goto_eq MtPyre_1F_EventScript_272054
+ goto_if_eq MtPyre_1F_EventScript_272054
setflag FLAG_0x11A
release
end
diff --git a/data/maps/MtPyre_3F/scripts.inc b/data/maps/MtPyre_3F/scripts.inc
index 42c39705c..558ab9999 100644
--- a/data/maps/MtPyre_3F/scripts.inc
+++ b/data/maps/MtPyre_3F/scripts.inc
@@ -15,7 +15,7 @@ MtPyre_3F_EventScript_231781:: @ 8231781
trainerbattle_single TRAINER_GABRIELLE_1, MtPyre_3F_Text_231952, MtPyre_3F_Text_23196A, MtPyre_3F_EventScript_2317AD
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq MtPyre_3F_EventScript_2317CC
+ goto_if_eq MtPyre_3F_EventScript_2317CC
msgbox MtPyre_3F_Text_23199B, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/MtPyre_6F/scripts.inc b/data/maps/MtPyre_6F/scripts.inc
index 92178b21b..f59edd7b1 100644
--- a/data/maps/MtPyre_6F/scripts.inc
+++ b/data/maps/MtPyre_6F/scripts.inc
@@ -5,7 +5,7 @@ MtPyre_6F_EventScript_231D3B:: @ 8231D3B
trainerbattle_single TRAINER_VALERIE_1, MtPyre_6F_Text_231DB4, MtPyre_6F_Text_231DE2, MtPyre_6F_EventScript_231D67
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq MtPyre_6F_EventScript_231D86
+ goto_if_eq MtPyre_6F_EventScript_231D86
msgbox MtPyre_6F_Text_231DFC, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/MtPyre_Exterior/scripts.inc b/data/maps/MtPyre_Exterior/scripts.inc
index 8f757ebb4..fe51946dc 100644
--- a/data/maps/MtPyre_Exterior/scripts.inc
+++ b/data/maps/MtPyre_Exterior/scripts.inc
@@ -9,20 +9,20 @@ MtPyre_Exterior_MapScript1_231FD2: @ 8231FD2
MtPyre_Exterior_EventScript_231FD8:: @ 8231FD8
getplayerxy VAR_TEMP_0, VAR_TEMP_1
compare VAR_TEMP_1, 12
- goto_if 0, MtPyre_Exterior_EventScript_231FE9
+ goto_if_lt MtPyre_Exterior_EventScript_231FE9
return
MtPyre_Exterior_EventScript_231FE9:: @ 8231FE9
- setweather 6
+ setweather WEATHER_FOG_1
return
MtPyre_Exterior_EventScript_231FED:: @ 8231FED
- setweather 6
+ setweather WEATHER_FOG_1
doweather
end
MtPyre_Exterior_EventScript_231FF2:: @ 8231FF2
- setweather 2
+ setweather WEATHER_SUNNY
doweather
end
diff --git a/data/maps/MtPyre_Summit/scripts.inc b/data/maps/MtPyre_Summit/scripts.inc
index 13caaab1e..31ae3348a 100644
--- a/data/maps/MtPyre_Summit/scripts.inc
+++ b/data/maps/MtPyre_Summit/scripts.inc
@@ -4,7 +4,7 @@ MtPyre_Summit_MapScripts:: @ 8231FF7
MtPyre_Summit_MapScript1_231FFD: @ 8231FFD
compare VAR_0x40B9, 2
- call_if 1, MtPyre_Summit_EventScript_232009
+ call_if_eq MtPyre_Summit_EventScript_232009
end
MtPyre_Summit_EventScript_232009:: @ 8232009
@@ -32,17 +32,17 @@ MtPyre_Summit_EventScript_232030:: @ 8232030
MtPyre_Summit_EventScript_23203C:: @ 823203C
playbgm MUS_AQA_0, 0
- applymovement 255, MtPyre_Summit_Movement_2725B2
+ applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2725B2
waitmovement 0
applymovement 2, MtPyre_Summit_Movement_2725AA
waitmovement 0
delay 50
compare VAR_0x8008, 0
- call_if 1, MtPyre_Summit_EventScript_2320E0
+ call_if_eq MtPyre_Summit_EventScript_2320E0
compare VAR_0x8008, 1
- call_if 1, MtPyre_Summit_EventScript_2320EB
+ call_if_eq MtPyre_Summit_EventScript_2320EB
compare VAR_0x8008, 2
- call_if 1, MtPyre_Summit_EventScript_2320EC
+ call_if_eq MtPyre_Summit_EventScript_2320EC
msgbox MtPyre_Summit_Text_23281A, MSGBOX_DEFAULT
closemessage
fadescreen 1
@@ -58,11 +58,11 @@ MtPyre_Summit_EventScript_23203C:: @ 823203C
delay 20
setvar VAR_0x40B9, 1
compare VAR_0x8008, 0
- call_if 1, MtPyre_Summit_EventScript_2320F7
+ call_if_eq MtPyre_Summit_EventScript_2320F7
compare VAR_0x8008, 1
- call_if 1, MtPyre_Summit_EventScript_23210C
+ call_if_eq MtPyre_Summit_EventScript_23210C
compare VAR_0x8008, 2
- call_if 1, MtPyre_Summit_EventScript_232117
+ call_if_eq MtPyre_Summit_EventScript_232117
msgbox MtPyre_Summit_Text_23290E, MSGBOX_DEFAULT
giveitem_std ITEM_MAGMA_EMBLEM
setflag FLAG_0x0D4
@@ -86,7 +86,7 @@ MtPyre_Summit_EventScript_2320EC:: @ 82320EC
MtPyre_Summit_EventScript_2320F7:: @ 82320F7
applymovement 3, MtPyre_Summit_Movement_23212C
waitmovement 0
- applymovement 255, MtPyre_Summit_Movement_2725A8
+ applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2725A8
waitmovement 0
return
@@ -98,7 +98,7 @@ MtPyre_Summit_EventScript_23210C:: @ 823210C
MtPyre_Summit_EventScript_232117:: @ 8232117
applymovement 3, MtPyre_Summit_Movement_232132
waitmovement 0
- applymovement 255, MtPyre_Summit_Movement_2725A4
+ applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2725A4
waitmovement 0
return
@@ -131,22 +131,21 @@ MtPyre_Summit_Movement_232139: @ 8232139
MtPyre_Summit_EventScript_23213C:: @ 823213C
lock
faceplayer
- checkflag FLAG_0x09E
- goto_eq MtPyre_Summit_EventScript_232167
+ goto_if_set FLAG_0x09E, MtPyre_Summit_EventScript_232167
msgbox MtPyre_Summit_Text_232E0C, MSGBOX_YESNO
compare VAR_RESULT, 1
- call_if 1, MtPyre_Summit_EventScript_232187
+ call_if_eq MtPyre_Summit_EventScript_232187
compare VAR_RESULT, 0
- call_if 1, MtPyre_Summit_EventScript_232190
+ call_if_eq MtPyre_Summit_EventScript_232190
release
end
MtPyre_Summit_EventScript_232167:: @ 8232167
msgbox MtPyre_Summit_Text_2331A6, MSGBOX_YESNO
compare VAR_RESULT, 1
- call_if 1, MtPyre_Summit_EventScript_232199
+ call_if_eq MtPyre_Summit_EventScript_232199
compare VAR_RESULT, 0
- call_if 1, MtPyre_Summit_EventScript_232190
+ call_if_eq MtPyre_Summit_EventScript_232190
release
end
@@ -165,12 +164,10 @@ MtPyre_Summit_EventScript_232199:: @ 8232199
MtPyre_Summit_EventScript_2321A2:: @ 82321A2
lock
faceplayer
- checkflag FLAG_0x103
- goto_eq MtPyre_Summit_EventScript_2321E2
+ goto_if_set FLAG_0x103, MtPyre_Summit_EventScript_2321E2
compare VAR_0x40B9, 3
- call_if 4, MtPyre_Summit_EventScript_2321CB
- checkflag FLAG_0x081
- goto_eq MtPyre_Summit_EventScript_2321D8
+ call_if_ge MtPyre_Summit_EventScript_2321CB
+ goto_if_set FLAG_0x081, MtPyre_Summit_EventScript_2321D8
msgbox MtPyre_Summit_Text_232AD8, MSGBOX_DEFAULT
release
end
@@ -210,15 +207,15 @@ MtPyre_Summit_EventScript_232204:: @ 8232204
end
MtPyre_Summit_EventScript_232210:: @ 8232210
- applymovement 255, MtPyre_Summit_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2725A6
waitmovement 0
delay 60
compare VAR_0x8008, 0
- call_if 1, MtPyre_Summit_EventScript_2322C4
+ call_if_eq MtPyre_Summit_EventScript_2322C4
compare VAR_0x8008, 1
- call_if 1, MtPyre_Summit_EventScript_2322DD
+ call_if_eq MtPyre_Summit_EventScript_2322DD
compare VAR_0x8008, 2
- call_if 1, MtPyre_Summit_EventScript_2322F6
+ call_if_eq MtPyre_Summit_EventScript_2322F6
playse SE_PIN
applymovement 8, MtPyre_Summit_Movement_272598
waitmovement 0
@@ -226,19 +223,19 @@ MtPyre_Summit_EventScript_232210:: @ 8232210
waitmovement 0
delay 30
compare VAR_0x8008, 0
- call_if 1, MtPyre_Summit_EventScript_23230F
+ call_if_eq MtPyre_Summit_EventScript_23230F
compare VAR_0x8008, 1
- call_if 1, MtPyre_Summit_EventScript_232328
+ call_if_eq MtPyre_Summit_EventScript_232328
compare VAR_0x8008, 2
- call_if 1, MtPyre_Summit_EventScript_232341
+ call_if_eq MtPyre_Summit_EventScript_232341
msgbox MtPyre_Summit_Text_233183, MSGBOX_DEFAULT
closemessage
compare VAR_0x8008, 0
- call_if 1, MtPyre_Summit_EventScript_23235A
+ call_if_eq MtPyre_Summit_EventScript_23235A
compare VAR_0x8008, 1
- call_if 1, MtPyre_Summit_EventScript_232376
+ call_if_eq MtPyre_Summit_EventScript_232376
compare VAR_0x8008, 2
- call_if 1, MtPyre_Summit_EventScript_232392
+ call_if_eq MtPyre_Summit_EventScript_232392
delay 30
applymovement 2, MtPyre_Summit_Movement_2323B6
applymovement 8, MtPyre_Summit_Movement_2323BD
@@ -250,49 +247,49 @@ MtPyre_Summit_EventScript_232210:: @ 8232210
end
MtPyre_Summit_EventScript_2322C4:: @ 82322C4
- applymovement 255, MtPyre_Summit_Movement_2323C4
+ applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323C4
applymovement 2, MtPyre_Summit_Movement_2323B6
applymovement 8, MtPyre_Summit_Movement_2323BD
waitmovement 0
return
MtPyre_Summit_EventScript_2322DD:: @ 82322DD
- applymovement 255, MtPyre_Summit_Movement_2323CB
+ applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323CB
applymovement 2, MtPyre_Summit_Movement_2323B6
applymovement 8, MtPyre_Summit_Movement_2323BD
waitmovement 0
return
MtPyre_Summit_EventScript_2322F6:: @ 82322F6
- applymovement 255, MtPyre_Summit_Movement_2323D2
+ applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323D2
applymovement 2, MtPyre_Summit_Movement_2323B6
applymovement 8, MtPyre_Summit_Movement_2323BD
waitmovement 0
return
MtPyre_Summit_EventScript_23230F:: @ 823230F
- applymovement 255, MtPyre_Summit_Movement_2323AE
+ applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323AE
applymovement 2, MtPyre_Summit_Movement_2323E7
applymovement 8, MtPyre_Summit_Movement_2323D8
waitmovement 0
return
MtPyre_Summit_EventScript_232328:: @ 8232328
- applymovement 255, MtPyre_Summit_Movement_2323B2
+ applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323B2
applymovement 2, MtPyre_Summit_Movement_2323E7
applymovement 8, MtPyre_Summit_Movement_2323DD
waitmovement 0
return
MtPyre_Summit_EventScript_232341:: @ 8232341
- applymovement 255, MtPyre_Summit_Movement_2323B2
+ applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323B2
applymovement 2, MtPyre_Summit_Movement_2323E7
applymovement 8, MtPyre_Summit_Movement_2323E2
waitmovement 0
return
MtPyre_Summit_EventScript_23235A:: @ 823235A
- applymovement 255, MtPyre_Summit_Movement_2323EA
+ applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323EA
applymovement 8, MtPyre_Summit_Movement_2323ED
waitmovement 0
applymovement 2, MtPyre_Summit_Movement_2725A8
@@ -300,7 +297,7 @@ MtPyre_Summit_EventScript_23235A:: @ 823235A
return
MtPyre_Summit_EventScript_232376:: @ 8232376
- applymovement 255, MtPyre_Summit_Movement_2323EA
+ applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323EA
applymovement 8, MtPyre_Summit_Movement_2323F3
waitmovement 0
applymovement 2, MtPyre_Summit_Movement_2725A8
@@ -308,7 +305,7 @@ MtPyre_Summit_EventScript_232376:: @ 8232376
return
MtPyre_Summit_EventScript_232392:: @ 8232392
- applymovement 255, MtPyre_Summit_Movement_2323EA
+ applymovement EVENT_OBJ_ID_PLAYER, MtPyre_Summit_Movement_2323EA
applymovement 8, MtPyre_Summit_Movement_2323F8
waitmovement 0
applymovement 2, MtPyre_Summit_Movement_2725A8
diff --git a/data/maps/NavelRock_Bottom/scripts.inc b/data/maps/NavelRock_Bottom/scripts.inc
index 3abd0c84a..bbe02aadf 100644
--- a/data/maps/NavelRock_Bottom/scripts.inc
+++ b/data/maps/NavelRock_Bottom/scripts.inc
@@ -4,10 +4,8 @@ NavelRock_Bottom_MapScripts:: @ 8269255
.byte 0
NavelRock_Bottom_MapScript1_269260: @ 8269260
- checkflag FLAG_0x091
- call_if 1, NavelRock_Bottom_EventScript_269273
- checkflag FLAG_0x091
- call_if 0, NavelRock_Bottom_EventScript_269277
+ call_if_set FLAG_0x091, NavelRock_Bottom_EventScript_269273
+ call_if_unset FLAG_0x091, NavelRock_Bottom_EventScript_269277
end
NavelRock_Bottom_EventScript_269273:: @ 8269273
@@ -15,20 +13,18 @@ NavelRock_Bottom_EventScript_269273:: @ 8269273
return
NavelRock_Bottom_EventScript_269277:: @ 8269277
- checkflag FLAG_0x1DD
- goto_eq NavelRock_Bottom_EventScript_27374E
+ goto_if_set FLAG_0x1DD, NavelRock_Bottom_EventScript_27374E
clearflag FLAG_HIDE_LUGIA
return
NavelRock_Bottom_MapScript1_269284: @ 8269284
- checkflag FLAG_SYS_CTRL_OBJ_DELETE
- call_if 1, NavelRock_Bottom_EventScript_26928E
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, NavelRock_Bottom_EventScript_26928E
end
NavelRock_Bottom_EventScript_26928E:: @ 826928E
specialvar VAR_RESULT, GetBattleOutcome
compare VAR_RESULT, 7
- goto_if 5, NavelRock_Bottom_EventScript_27374E
+ goto_if_ne NavelRock_Bottom_EventScript_27374E
removeobject 1
return
@@ -66,11 +62,11 @@ NavelRock_Bottom_EventScript_2692A2:: @ 82692A2
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
compare VAR_RESULT, 1
- goto_eq NavelRock_Bottom_EventScript_269336
+ goto_if_eq NavelRock_Bottom_EventScript_269336
compare VAR_RESULT, 4
- goto_eq NavelRock_Bottom_EventScript_269344
+ goto_if_eq NavelRock_Bottom_EventScript_269344
compare VAR_RESULT, 5
- goto_eq NavelRock_Bottom_EventScript_269344
+ goto_if_eq NavelRock_Bottom_EventScript_269344
setflag FLAG_0x091
release
end
diff --git a/data/maps/NavelRock_Harbor/scripts.inc b/data/maps/NavelRock_Harbor/scripts.inc
index 910dc8eed..4df8343fb 100644
--- a/data/maps/NavelRock_Harbor/scripts.inc
+++ b/data/maps/NavelRock_Harbor/scripts.inc
@@ -6,7 +6,7 @@ NavelRock_Harbor_EventScript_2690BD:: @ 82690BD
faceplayer
msgbox NavelRock_Harbor_Text_2C6CE6, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq NavelRock_Harbor_EventScript_269102
+ goto_if_eq NavelRock_Harbor_EventScript_269102
msgbox NavelRock_Harbor_Text_2A6A5D, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, NavelRock_Harbor_Movement_2725AA
diff --git a/data/maps/NavelRock_Top/scripts.inc b/data/maps/NavelRock_Top/scripts.inc
index 8ae17cb37..28d55d68f 100644
--- a/data/maps/NavelRock_Top/scripts.inc
+++ b/data/maps/NavelRock_Top/scripts.inc
@@ -4,10 +4,8 @@ NavelRock_Top_MapScripts:: @ 8269113
.byte 0
NavelRock_Top_MapScript1_26911E: @ 826911E
- checkflag FLAG_0x092
- call_if 1, NavelRock_Top_EventScript_269131
- checkflag FLAG_0x092
- call_if 0, NavelRock_Top_EventScript_26913A
+ call_if_set FLAG_0x092, NavelRock_Top_EventScript_269131
+ call_if_unset FLAG_0x092, NavelRock_Top_EventScript_26913A
end
NavelRock_Top_EventScript_269131:: @ 8269131
@@ -17,36 +15,34 @@ NavelRock_Top_EventScript_269131:: @ 8269131
NavelRock_Top_EventScript_26913A:: @ 826913A
setvar VAR_TEMP_1, 1
- checkflag FLAG_0x1DC
- goto_eq NavelRock_Top_EventScript_27374E
+ goto_if_set FLAG_0x1DC, NavelRock_Top_EventScript_27374E
setvar VAR_TEMP_1, 0
clearflag FLAG_HIDE_HOOH
return
NavelRock_Top_MapScript1_269151: @ 8269151
- checkflag FLAG_SYS_CTRL_OBJ_DELETE
- call_if 1, NavelRock_Top_EventScript_26915B
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, NavelRock_Top_EventScript_26915B
end
NavelRock_Top_EventScript_26915B:: @ 826915B
specialvar VAR_RESULT, GetBattleOutcome
compare VAR_RESULT, 7
- goto_if 5, NavelRock_Top_EventScript_27374E
+ goto_if_ne NavelRock_Top_EventScript_27374E
removeobject 1
return
NavelRock_Top_EventScript_26916F:: @ 826916F
lockall
setvar VAR_TEMP_1, 1
- special SpawnScriptEventObject
+ special SpawnCameraObject
setvar VAR_0x8004, 3
setvar VAR_0x8005, 35
special sub_813B80C
applymovement 1, NavelRock_Top_Movement_269243
- applymovement 127, NavelRock_Top_Movement_269230
+ applymovement EVENT_OBJ_ID_CAMERA, NavelRock_Top_Movement_269230
waitmovement 0
delay 50
- setweather 0
+ setweather WEATHER_NONE
doweather
waitse
playmoncry SPECIES_HO_OH, 2
@@ -56,10 +52,10 @@ NavelRock_Top_EventScript_26916F:: @ 826916F
setvar VAR_0x8004, 3
setvar VAR_0x8005, 35
special sub_813B80C
- applymovement 127, NavelRock_Top_Movement_269234
+ applymovement EVENT_OBJ_ID_CAMERA, NavelRock_Top_Movement_269234
applymovement 1, NavelRock_Top_Movement_26923A
waitmovement 0
- special RemoveScriptEventObject
+ special RemoveCameraObject
setvar VAR_0x8004, 250
setvar VAR_0x8005, 70
setvar VAR_0x8006, 0
@@ -71,11 +67,11 @@ NavelRock_Top_EventScript_26916F:: @ 826916F
setvar VAR_LAST_TALKED, 1
specialvar VAR_RESULT, GetBattleOutcome
compare VAR_RESULT, 1
- goto_eq NavelRock_Top_EventScript_269217
+ goto_if_eq NavelRock_Top_EventScript_269217
compare VAR_RESULT, 4
- goto_eq NavelRock_Top_EventScript_269225
+ goto_if_eq NavelRock_Top_EventScript_269225
compare VAR_RESULT, 5
- goto_eq NavelRock_Top_EventScript_269225
+ goto_if_eq NavelRock_Top_EventScript_269225
setflag FLAG_0x092
releaseall
end
diff --git a/data/maps/NewMauville_Entrance/scripts.inc b/data/maps/NewMauville_Entrance/scripts.inc
index 714a20b6b..d841f0374 100644
--- a/data/maps/NewMauville_Entrance/scripts.inc
+++ b/data/maps/NewMauville_Entrance/scripts.inc
@@ -5,7 +5,7 @@ NewMauville_Entrance_MapScripts:: @ 82372AD
NewMauville_Entrance_MapScript1_2372B8: @ 82372B8
compare VAR_0x40BA, 0
- call_if 1, NewMauville_Entrance_EventScript_2372C4
+ call_if_eq NewMauville_Entrance_EventScript_2372C4
end
NewMauville_Entrance_EventScript_2372C4:: @ 82372C4
@@ -23,15 +23,15 @@ NewMauville_Entrance_MapScript1_2372FB: @ 82372FB
NewMauville_Entrance_EventScript_2372FF:: @ 82372FF
lockall
- applymovement 255, NewMauville_Entrance_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, NewMauville_Entrance_Movement_2725A6
waitmovement 0
msgbox NewMauville_Entrance_Text_237382, MSGBOX_DEFAULT
checkitem ITEM_BASEMENT_KEY, 1
compare VAR_RESULT, 0
- goto_eq NewMauville_Entrance_EventScript_237380
+ goto_if_eq NewMauville_Entrance_EventScript_237380
msgbox NewMauville_Entrance_Text_237396, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq NewMauville_Entrance_EventScript_237380
+ goto_if_eq NewMauville_Entrance_EventScript_237380
msgbox NewMauville_Entrance_Text_2373AC, MSGBOX_DEFAULT
setmetatile 3, 0, 707, 0
setmetatile 4, 0, 708, 0
diff --git a/data/maps/NewMauville_Inside/scripts.inc b/data/maps/NewMauville_Inside/scripts.inc
index b0f0a18c7..aff38c577 100644
--- a/data/maps/NewMauville_Inside/scripts.inc
+++ b/data/maps/NewMauville_Inside/scripts.inc
@@ -6,29 +6,25 @@ NewMauville_Inside_MapScripts:: @ 82373D7
NewMauville_Inside_MapScript1_2373E7: @ 82373E7
compare VAR_TEMP_1, 1
- call_if 1, NewMauville_Inside_EventScript_237489
+ call_if_eq NewMauville_Inside_EventScript_237489
compare VAR_TEMP_2, 1
- call_if 1, NewMauville_Inside_EventScript_2375D7
- checkflag FLAG_SYS_CTRL_OBJ_DELETE
- call_if 1, NewMauville_Inside_EventScript_237407
+ call_if_eq NewMauville_Inside_EventScript_2375D7
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, NewMauville_Inside_EventScript_237407
end
NewMauville_Inside_EventScript_237407:: @ 8237407
specialvar VAR_RESULT, GetBattleOutcome
compare VAR_RESULT, 7
- goto_if 5, NewMauville_Inside_EventScript_27374E
+ goto_if_ne NewMauville_Inside_EventScript_27374E
removeobject VAR_LAST_TALKED
return
NewMauville_Inside_MapScript1_23741B: @ 823741B
setvar VAR_TEMP_1, 0
setvar VAR_TEMP_2, 0
- checkflag FLAG_0x1C1
- call_if 0, NewMauville_Inside_EventScript_237441
- checkflag FLAG_0x1C2
- call_if 0, NewMauville_Inside_EventScript_237445
- checkflag FLAG_0x1C3
- call_if 0, NewMauville_Inside_EventScript_237449
+ call_if_unset FLAG_0x1C1, NewMauville_Inside_EventScript_237441
+ call_if_unset FLAG_0x1C2, NewMauville_Inside_EventScript_237445
+ call_if_unset FLAG_0x1C3, NewMauville_Inside_EventScript_237449
end
NewMauville_Inside_EventScript_237441:: @ 8237441
@@ -45,7 +41,7 @@ NewMauville_Inside_EventScript_237449:: @ 8237449
NewMauville_Inside_MapScript1_23744D: @ 823744D
compare VAR_0x40BA, 2
- call_if 1, NewMauville_Inside_EventScript_23773A
+ call_if_eq NewMauville_Inside_EventScript_23773A
end
NewMauville_Inside_EventScript_237459:: @ 8237459
@@ -172,7 +168,7 @@ NewMauville_Inside_EventScript_23773A:: @ 823773A
NewMauville_Inside_EventScript_23778F:: @ 823778F
lockall
compare VAR_0x40BA, 2
- goto_eq NewMauville_Inside_EventScript_2377A5
+ goto_if_eq NewMauville_Inside_EventScript_2377A5
msgbox NewMauville_Inside_Text_237896, MSGBOX_DEFAULT
releaseall
end
@@ -195,11 +191,11 @@ NewMauville_Inside_EventScript_2377AF:: @ 82377AF
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
compare VAR_RESULT, 1
- goto_eq NewMauville_Inside_EventScript_2377F3
+ goto_if_eq NewMauville_Inside_EventScript_2377F3
compare VAR_RESULT, 4
- goto_eq NewMauville_Inside_EventScript_2377F3
+ goto_if_eq NewMauville_Inside_EventScript_2377F3
compare VAR_RESULT, 5
- goto_eq NewMauville_Inside_EventScript_2377F3
+ goto_if_eq NewMauville_Inside_EventScript_2377F3
setflag FLAG_0x1C1
release
end
@@ -222,11 +218,11 @@ NewMauville_Inside_EventScript_2377FC:: @ 82377FC
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
compare VAR_RESULT, 1
- goto_eq NewMauville_Inside_EventScript_237840
+ goto_if_eq NewMauville_Inside_EventScript_237840
compare VAR_RESULT, 4
- goto_eq NewMauville_Inside_EventScript_237840
+ goto_if_eq NewMauville_Inside_EventScript_237840
compare VAR_RESULT, 5
- goto_eq NewMauville_Inside_EventScript_237840
+ goto_if_eq NewMauville_Inside_EventScript_237840
setflag FLAG_0x1C2
release
end
@@ -249,11 +245,11 @@ NewMauville_Inside_EventScript_237849:: @ 8237849
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
compare VAR_RESULT, 1
- goto_eq NewMauville_Inside_EventScript_23788D
+ goto_if_eq NewMauville_Inside_EventScript_23788D
compare VAR_RESULT, 4
- goto_eq NewMauville_Inside_EventScript_23788D
+ goto_if_eq NewMauville_Inside_EventScript_23788D
compare VAR_RESULT, 5
- goto_eq NewMauville_Inside_EventScript_23788D
+ goto_if_eq NewMauville_Inside_EventScript_23788D
setflag FLAG_0x1C3
release
end
diff --git a/data/maps/OldaleTown/scripts.inc b/data/maps/OldaleTown/scripts.inc
index d2e808116..96863ceed 100644
--- a/data/maps/OldaleTown/scripts.inc
+++ b/data/maps/OldaleTown/scripts.inc
@@ -5,12 +5,9 @@ OldaleTown_MapScripts:: @ 81E8EA2
OldaleTown_MapScript1_1E8EA8: @ 81E8EA8
call OldaleTown_EventScript_271ED7
setflag FLAG_VISITED_OLDALE_TOWN
- checkflag FLAG_0x074
- call_if 0, OldaleTown_EventScript_1E8ED2
- checkflag FLAG_0x084
- call_if 0, OldaleTown_EventScript_1E8EDE
- checkflag FLAG_0x074
- call_if 1, OldaleTown_EventScript_1E8ECC
+ call_if_unset FLAG_0x074, OldaleTown_EventScript_1E8ED2
+ call_if_unset FLAG_0x084, OldaleTown_EventScript_1E8EDE
+ call_if_set FLAG_0x074, OldaleTown_EventScript_1E8ECC
end
OldaleTown_EventScript_1E8ECC:: @ 81E8ECC
@@ -38,10 +35,8 @@ OldaleTown_EventScript_1E8EF3:: @ 81E8EF3
OldaleTown_EventScript_1E8EFC:: @ 81E8EFC
lock
faceplayer
- checkflag FLAG_0x084
- goto_eq OldaleTown_EventScript_1E8FB9
- checkflag FLAG_TEMP_1
- goto_eq OldaleTown_EventScript_1E8FB9
+ goto_if_set FLAG_0x084, OldaleTown_EventScript_1E8FB9
+ goto_if_set FLAG_TEMP_1, OldaleTown_EventScript_1E8FB9
setflag FLAG_TEMP_1
playbgm MUS_TSURETEK, 0
msgbox OldaleTown_Text_1E91C0, MSGBOX_DEFAULT
@@ -54,20 +49,20 @@ OldaleTown_EventScript_1E8EFC:: @ 81E8EFC
OldaleTown_EventScript_1E8F47:: @ 81E8F47
applymovement 2, OldaleTown_Movement_1E8FD7
- applymovement 255, OldaleTown_Movement_1E9001
+ applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_1E9001
waitmovement 0
goto OldaleTown_EventScript_1E8F8C
end
OldaleTown_EventScript_1E8F5E:: @ 81E8F5E
applymovement 2, OldaleTown_Movement_1E8FE2
- applymovement 255, OldaleTown_Movement_1E900B
+ applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_1E900B
waitmovement 0
goto OldaleTown_EventScript_1E8F8C
end
OldaleTown_EventScript_1E8F75:: @ 81E8F75
- applymovement 255, OldaleTown_Movement_1E8FF9
+ applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_1E8FF9
applymovement 2, OldaleTown_Movement_1E8FCE
waitmovement 0
goto OldaleTown_EventScript_1E8F8C
@@ -77,7 +72,7 @@ OldaleTown_EventScript_1E8F8C:: @ 81E8F8C
msgbox OldaleTown_Text_1E91FD, MSGBOX_DEFAULT
giveitem_std ITEM_POTION
compare VAR_RESULT, 0
- goto_eq OldaleTown_EventScript_1E8FC3
+ goto_if_eq OldaleTown_EventScript_1E8FC3
msgbox OldaleTown_Text_1E92AF, MSGBOX_DEFAULT
setflag FLAG_0x084
fadedefaultbgm
@@ -195,8 +190,7 @@ OldaleTown_Movement_1E9013: @ 81E9013
OldaleTown_EventScript_1E901F:: @ 81E901F
lock
faceplayer
- checkflag FLAG_0x074
- goto_eq OldaleTown_EventScript_1E9066
+ goto_if_set FLAG_0x074, OldaleTown_EventScript_1E9066
msgbox OldaleTown_Text_1E939A, MSGBOX_DEFAULT
closemessage
applymovement 3, OldaleTown_Movement_2725A2
@@ -206,7 +200,7 @@ OldaleTown_EventScript_1E901F:: @ 81E901F
OldaleTown_EventScript_1E903F:: @ 81E903F
lockall
- applymovement 255, OldaleTown_Movement_1E9182
+ applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_1E9182
applymovement 3, OldaleTown_Movement_1E9185
waitmovement 0
msgbox OldaleTown_Text_1E9313, MSGBOX_DEFAULT
@@ -233,7 +227,7 @@ OldaleTown_EventScript_1E9086:: @ 81E9086
lockall
applymovement 4, OldaleTown_Movement_1E9170
waitmovement 0
- applymovement 255, OldaleTown_Movement_2725A8
+ applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_2725A8
waitmovement 0
setvar VAR_0x8009, 1
goto OldaleTown_EventScript_1E90E6
@@ -243,7 +237,7 @@ OldaleTown_EventScript_1E90A6:: @ 81E90A6
lockall
applymovement 4, OldaleTown_Movement_1E9173
waitmovement 0
- applymovement 255, OldaleTown_Movement_2725A8
+ applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_2725A8
waitmovement 0
setvar VAR_0x8009, 1
goto OldaleTown_EventScript_1E90E6
@@ -253,7 +247,7 @@ OldaleTown_EventScript_1E90C6:: @ 81E90C6
lockall
applymovement 4, OldaleTown_Movement_1E9175
waitmovement 0
- applymovement 255, OldaleTown_Movement_2725A8
+ applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_2725A8
waitmovement 0
setvar VAR_0x8009, 1
goto OldaleTown_EventScript_1E90E6
@@ -262,9 +256,9 @@ OldaleTown_EventScript_1E90C6:: @ 81E90C6
OldaleTown_EventScript_1E90E6:: @ 81E90E6
checkplayergender
compare VAR_RESULT, 0
- goto_eq OldaleTown_EventScript_1E90FE
+ goto_if_eq OldaleTown_EventScript_1E90FE
compare VAR_RESULT, 1
- goto_eq OldaleTown_EventScript_1E910C
+ goto_if_eq OldaleTown_EventScript_1E910C
end
OldaleTown_EventScript_1E90FE:: @ 81E90FE
@@ -280,9 +274,9 @@ OldaleTown_EventScript_1E910C:: @ 81E910C
OldaleTown_EventScript_1E911A:: @ 81E911A
closemessage
compare VAR_0x8009, 0
- call_if 1, OldaleTown_EventScript_1E9148
+ call_if_eq OldaleTown_EventScript_1E9148
compare VAR_0x8009, 1
- call_if 1, OldaleTown_EventScript_1E915E
+ call_if_eq OldaleTown_EventScript_1E915E
applymovement 4, OldaleTown_Movement_1E9177
waitmovement 0
removeobject 4
@@ -293,13 +287,13 @@ OldaleTown_EventScript_1E911A:: @ 81E911A
OldaleTown_EventScript_1E9148:: @ 81E9148
compare VAR_FACING, 1
- goto_if 5, OldaleTown_EventScript_1E915E
+ goto_if_ne OldaleTown_EventScript_1E915E
applymovement 4, OldaleTown_Movement_1E9177
waitmovement 0
return
OldaleTown_EventScript_1E915E:: @ 81E915E
- applymovement 255, OldaleTown_Movement_1E917E
+ applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_Movement_1E917E
applymovement 4, OldaleTown_Movement_1E9177
waitmovement 0
return
diff --git a/data/maps/OldaleTown_Mart/scripts.inc b/data/maps/OldaleTown_Mart/scripts.inc
index 4503a27a8..2eaa483f5 100644
--- a/data/maps/OldaleTown_Mart/scripts.inc
+++ b/data/maps/OldaleTown_Mart/scripts.inc
@@ -6,8 +6,7 @@ OldaleTown_Mart_EventScript_1FC240:: @ 81FC240
faceplayer
message gUnknown_08272A21
waitmessage
- checkflag FLAG_0x074
- goto_eq OldaleTown_Mart_EventScript_1FC26C
+ goto_if_set FLAG_0x074, OldaleTown_Mart_EventScript_1FC26C
pokemart OldaleTown_Mart_Pokemart_1FC260
msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
@@ -42,8 +41,7 @@ OldaleTown_Mart_Pokemart_1FC27C: @ 81FC27C
OldaleTown_Mart_EventScript_1FC28A:: @ 81FC28A
lock
faceplayer
- checkflag FLAG_0x074
- goto_eq OldaleTown_Mart_EventScript_1FC29F
+ goto_if_set FLAG_0x074, OldaleTown_Mart_EventScript_1FC29F
msgbox OldaleTown_Mart_Text_1FC2B2, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc b/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc
index af104c674..19f7d8f67 100644
--- a/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc
+++ b/data/maps/OldaleTown_PokemonCenter_1F/scripts.inc
@@ -27,8 +27,7 @@ OldaleTown_PokemonCenter_1F_EventScript_1FC031:: @ 81FC031
OldaleTown_PokemonCenter_1F_EventScript_1FC03A:: @ 81FC03A
lock
faceplayer
- checkflag FLAG_SYS_POKEDEX_GET
- goto_eq OldaleTown_PokemonCenter_1F_EventScript_1FC04F
+ goto_if_set FLAG_SYS_POKEDEX_GET, OldaleTown_PokemonCenter_1F_EventScript_1FC04F
msgbox OldaleTown_PokemonCenter_1F_Text_1FC148, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/PacifidlogTown_House2/scripts.inc b/data/maps/PacifidlogTown_House2/scripts.inc
index 41242ab44..d0eb88cf2 100644
--- a/data/maps/PacifidlogTown_House2/scripts.inc
+++ b/data/maps/PacifidlogTown_House2/scripts.inc
@@ -6,28 +6,24 @@ PacifidlogTown_House2_EventScript_203792:: @ 8203792
faceplayer
dodailyevents
call PacifidlogTown_House2_EventScript_2037DE
- checkflag FLAG_0x12B
- goto_eq PacifidlogTown_House2_EventScript_20387E
- checkflag FLAG_0x12C
- call_if 1, PacifidlogTown_House2_EventScript_2037F8
- checkflag FLAG_0x12C
- call_if 0, PacifidlogTown_House2_EventScript_203801
+ goto_if_set FLAG_0x12B, PacifidlogTown_House2_EventScript_20387E
+ call_if_set FLAG_0x12C, PacifidlogTown_House2_EventScript_2037F8
+ call_if_unset FLAG_0x12C, PacifidlogTown_House2_EventScript_203801
setflag FLAG_0x12C
specialvar VAR_RESULT, GetLeadMonFriendshipScore
compare VAR_RESULT, 4
- goto_if 4, PacifidlogTown_House2_EventScript_203816
+ goto_if_ge PacifidlogTown_House2_EventScript_203816
specialvar VAR_RESULT, GetLeadMonFriendshipScore
compare VAR_RESULT, 2
- goto_if 4, PacifidlogTown_House2_EventScript_203845
+ goto_if_ge PacifidlogTown_House2_EventScript_203845
goto PacifidlogTown_House2_EventScript_20384F
end
PacifidlogTown_House2_EventScript_2037DE:: @ 82037DE
- checkflag FLAG_0x12B
- goto_if 0, PacifidlogTown_House2_EventScript_27374E
+ goto_if_unset FLAG_0x12B, PacifidlogTown_House2_EventScript_27374E
specialvar VAR_RESULT, GetDaysUntilPacifidlogTMAvailable
compare VAR_RESULT, 0
- call_if 1, PacifidlogTown_House2_EventScript_203812
+ call_if_eq PacifidlogTown_House2_EventScript_203812
return
PacifidlogTown_House2_EventScript_2037F8:: @ 82037F8
@@ -47,7 +43,7 @@ PacifidlogTown_House2_EventScript_203816:: @ 8203816
msgbox PacifidlogTown_House2_Text_20396D, MSGBOX_DEFAULT
giveitem_std ITEM_TM27
compare VAR_RESULT, 0
- goto_eq PacifidlogTown_House2_EventScript_272054
+ goto_if_eq PacifidlogTown_House2_EventScript_272054
setflag FLAG_0x12B
special SetPacifidlogTMReceivedDay
msgbox PacifidlogTown_House2_Text_203A85, MSGBOX_DEFAULT
@@ -63,7 +59,7 @@ PacifidlogTown_House2_EventScript_20384F:: @ 820384F
msgbox PacifidlogTown_House2_Text_203A2F, MSGBOX_DEFAULT
giveitem_std ITEM_TM21
compare VAR_RESULT, 0
- goto_eq PacifidlogTown_House2_EventScript_272054
+ goto_if_eq PacifidlogTown_House2_EventScript_272054
setflag FLAG_0x12B
special SetPacifidlogTMReceivedDay
msgbox PacifidlogTown_House2_Text_203A85, MSGBOX_DEFAULT
diff --git a/data/maps/PacifidlogTown_House3/scripts.inc b/data/maps/PacifidlogTown_House3/scripts.inc
index d7b83f70a..fb5bf8cb1 100644
--- a/data/maps/PacifidlogTown_House3/scripts.inc
+++ b/data/maps/PacifidlogTown_House3/scripts.inc
@@ -4,25 +4,24 @@ PacifidlogTown_House3_MapScripts:: @ 8203C10
PacifidlogTown_House3_EventScript_203C11:: @ 8203C11
lock
faceplayer
- checkflag FLAG_0x09A
- goto_eq PacifidlogTown_House3_EventScript_203CAB
+ goto_if_set FLAG_0x09A, PacifidlogTown_House3_EventScript_203CAB
setvar VAR_0x8008, 2
copyvar VAR_0x8004, VAR_0x8008
specialvar VAR_RESULT, sub_807E73C
copyvar VAR_0x8009, VAR_RESULT
msgbox PacifidlogTown_House3_Text_203CBE, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq PacifidlogTown_House3_EventScript_203C93
+ goto_if_eq PacifidlogTown_House3_EventScript_203C93
special sub_81B94B0
waitstate
copyvar VAR_0x800A, VAR_0x8004
compare VAR_0x8004, 255
- goto_eq PacifidlogTown_House3_EventScript_203C93
+ goto_if_eq PacifidlogTown_House3_EventScript_203C93
copyvar VAR_0x8005, VAR_0x800A
specialvar VAR_RESULT, sub_807E9D4
copyvar VAR_0x800B, VAR_RESULT
compare VAR_RESULT, VAR_0x8009
- goto_if 5, PacifidlogTown_House3_EventScript_203C9D
+ goto_if_ne PacifidlogTown_House3_EventScript_203C9D
copyvar VAR_0x8004, VAR_0x8008
copyvar VAR_0x8005, VAR_0x800A
special sub_807EA10
diff --git a/data/maps/PacifidlogTown_House4/scripts.inc b/data/maps/PacifidlogTown_House4/scripts.inc
index 2e9a06e0b..e9f5f19e7 100644
--- a/data/maps/PacifidlogTown_House4/scripts.inc
+++ b/data/maps/PacifidlogTown_House4/scripts.inc
@@ -14,9 +14,9 @@ PacifidlogTown_House4_EventScript_203F5E:: @ 8203F5E
faceplayer
msgbox PacifidlogTown_House4_Text_204035, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq PacifidlogTown_House4_EventScript_203F7F
+ goto_if_eq PacifidlogTown_House4_EventScript_203F7F
compare VAR_RESULT, 0
- goto_eq PacifidlogTown_House4_EventScript_203F89
+ goto_if_eq PacifidlogTown_House4_EventScript_203F89
end
PacifidlogTown_House4_EventScript_203F7F:: @ 8203F7F
diff --git a/data/maps/PacifidlogTown_House5/scripts.inc b/data/maps/PacifidlogTown_House5/scripts.inc
index d9d9f0c56..cdc54fefe 100644
--- a/data/maps/PacifidlogTown_House5/scripts.inc
+++ b/data/maps/PacifidlogTown_House5/scripts.inc
@@ -6,7 +6,7 @@ PacifidlogTown_House5_EventScript_204111:: @ 8204111
faceplayer
specialvar VAR_RESULT, IsMirageIslandPresent
compare VAR_RESULT, 1
- goto_eq PacifidlogTown_House5_EventScript_20412D
+ goto_if_eq PacifidlogTown_House5_EventScript_20412D
msgbox PacifidlogTown_House5_Text_204140, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/PetalburgCity/scripts.inc b/data/maps/PetalburgCity/scripts.inc
index bdffb6814..137731ae2 100644
--- a/data/maps/PetalburgCity/scripts.inc
+++ b/data/maps/PetalburgCity/scripts.inc
@@ -1,13 +1,13 @@
PetalburgCity_MapScript1_1DC2D7: @ 81DC2D7
setflag FLAG_VISITED_PETALBURG_CITY
compare VAR_0x4057, 0
- call_if 1, PetalburgCity_EventScript_1DC307
+ call_if_eq PetalburgCity_EventScript_1DC307
compare VAR_0x4057, 2
- call_if 1, PetalburgCity_EventScript_1DC30F
+ call_if_eq PetalburgCity_EventScript_1DC30F
compare VAR_0x4057, 4
- call_if 1, PetalburgCity_EventScript_1DC30F
+ call_if_eq PetalburgCity_EventScript_1DC30F
compare VAR_0x4085, 8
- call_if 1, PetalburgCity_EventScript_1DC316
+ call_if_eq PetalburgCity_EventScript_1DC316
end
PetalburgCity_EventScript_1DC307:: @ 81DC307
@@ -33,7 +33,7 @@ PetalburgCity_EventScript_1DC32E:: @ 81DC32E
special SavePlayerParty
special PutZigzagoonInPlayerParty
applymovement 2, PetalburgCity_Movement_1DC451
- applymovement 255, PetalburgCity_Movement_1DC430
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC430
waitmovement 0
msgbox PetalburgCity_Text_1EC1F8, MSGBOX_DEFAULT
special StartWallyTutorialBattle
@@ -58,17 +58,17 @@ PetalburgCity_EventScript_1DC390:: @ 81DC390
lockall
setflag FLAG_SPECIAL_FLAG_0x4000
applymovement 5, PetalburgCity_Movement_1DC41B
- applymovement 255, PetalburgCity_Movement_1DC406
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC406
waitmovement 0
setvar VAR_0x8004, 7
setvar VAR_0x8005, 5
opendoor VAR_0x8004, VAR_0x8005
waitdooranim
applymovement 5, PetalburgCity_Movement_1DC42D
- applymovement 255, PetalburgCity_Movement_1DC418
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC418
waitmovement 0
setflag FLAG_HIDE_PETALBURG_CITY_WALLYS_UNCLE
- hideobjectat 255, MAP_PETALBURG_CITY
+ hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY
closedoor VAR_0x8004, VAR_0x8005
waitdooranim
clearflag FLAG_SPECIAL_FLAG_0x4000
@@ -267,26 +267,26 @@ PetalburgCity_EventScript_1DC4CA:: @ 81DC4CA
applymovement 8, PetalburgCity_Movement_27259A
waitmovement 0
compare VAR_0x8008, 0
- call_if 1, PetalburgCity_EventScript_1DC57F
+ call_if_eq PetalburgCity_EventScript_1DC57F
compare VAR_0x8008, 1
- call_if 1, PetalburgCity_EventScript_1DC594
+ call_if_eq PetalburgCity_EventScript_1DC594
compare VAR_0x8008, 2
- call_if 1, PetalburgCity_EventScript_1DC59F
+ call_if_eq PetalburgCity_EventScript_1DC59F
compare VAR_0x8008, 3
- call_if 1, PetalburgCity_EventScript_1DC5B4
+ call_if_eq PetalburgCity_EventScript_1DC5B4
msgbox PetalburgCity_Text_1DC881, MSGBOX_DEFAULT
closemessage
compare VAR_0x8008, 0
- call_if 1, PetalburgCity_EventScript_1DC5C9
+ call_if_eq PetalburgCity_EventScript_1DC5C9
compare VAR_0x8008, 1
- call_if 1, PetalburgCity_EventScript_1DC5DB
+ call_if_eq PetalburgCity_EventScript_1DC5DB
compare VAR_0x8008, 2
- call_if 1, PetalburgCity_EventScript_1DC5ED
+ call_if_eq PetalburgCity_EventScript_1DC5ED
compare VAR_0x8008, 3
- call_if 1, PetalburgCity_EventScript_1DC5FF
+ call_if_eq PetalburgCity_EventScript_1DC5FF
msgbox PetalburgCity_Text_1DC91B, MSGBOX_DEFAULT
applymovement 8, PetalburgCity_Movement_2725A8
- applymovement 255, PetalburgCity_Movement_2725A8
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_2725A8
waitmovement 0
msgbox PetalburgCity_Text_1DC93E, MSGBOX_DEFAULT
closemessage
@@ -299,7 +299,7 @@ PetalburgCity_EventScript_1DC4CA:: @ 81DC4CA
PetalburgCity_EventScript_1DC57F:: @ 81DC57F
applymovement 8, PetalburgCity_Movement_1DC615
waitmovement 0
- applymovement 255, PetalburgCity_Movement_2725AA
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_2725AA
waitmovement 0
return
@@ -311,38 +311,38 @@ PetalburgCity_EventScript_1DC594:: @ 81DC594
PetalburgCity_EventScript_1DC59F:: @ 81DC59F
applymovement 8, PetalburgCity_Movement_1DC61D
waitmovement 0
- applymovement 255, PetalburgCity_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_2725A6
waitmovement 0
return
PetalburgCity_EventScript_1DC5B4:: @ 81DC5B4
applymovement 8, PetalburgCity_Movement_1DC622
waitmovement 0
- applymovement 255, PetalburgCity_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_2725A6
waitmovement 0
return
PetalburgCity_EventScript_1DC5C9:: @ 81DC5C9
applymovement 8, PetalburgCity_Movement_1DC628
- applymovement 255, PetalburgCity_Movement_1DC665
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC665
waitmovement 0
return
PetalburgCity_EventScript_1DC5DB:: @ 81DC5DB
applymovement 8, PetalburgCity_Movement_1DC633
- applymovement 255, PetalburgCity_Movement_1DC66F
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC66F
waitmovement 0
return
PetalburgCity_EventScript_1DC5ED:: @ 81DC5ED
applymovement 8, PetalburgCity_Movement_1DC641
- applymovement 255, PetalburgCity_Movement_1DC67C
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC67C
waitmovement 0
return
PetalburgCity_EventScript_1DC5FF:: @ 81DC5FF
applymovement 8, PetalburgCity_Movement_1DC64C
- applymovement 255, PetalburgCity_Movement_1DC686
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC686
waitmovement 0
return
@@ -544,7 +544,7 @@ PetalburgCity_EventScript_1DC6E9:: @ 81DC6E9
waitmovement 0
applymovement 9, PetalburgCity_Movement_1DC7DB
waitmovement 0
- applymovement 255, PetalburgCity_Movement_2725A8
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_2725A8
waitmovement 0
setvar VAR_0x40D1, 1
msgbox PetalburgCity_Text_1DCB31, MSGBOX_DEFAULT
@@ -560,38 +560,38 @@ PetalburgCity_EventScript_1DC6E9:: @ 81DC6E9
msgbox PetalburgCity_Text_1DCC09, MSGBOX_DEFAULT
closemessage
compare VAR_0x8008, 0
- call_if 1, PetalburgCity_EventScript_1DC78E
+ call_if_eq PetalburgCity_EventScript_1DC78E
compare VAR_0x8008, 1
- call_if 1, PetalburgCity_EventScript_1DC7A0
+ call_if_eq PetalburgCity_EventScript_1DC7A0
compare VAR_0x8008, 2
- call_if 1, PetalburgCity_EventScript_1DC7B2
+ call_if_eq PetalburgCity_EventScript_1DC7B2
compare VAR_0x8008, 3
- call_if 1, PetalburgCity_EventScript_1DC7C4
+ call_if_eq PetalburgCity_EventScript_1DC7C4
setvar VAR_0x40C9, 1
removeobject 9
releaseall
end
PetalburgCity_EventScript_1DC78E:: @ 81DC78E
- applymovement 255, PetalburgCity_Movement_1DC7EE
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC7EE
applymovement 9, PetalburgCity_Movement_1DC7E0
waitmovement 0
return
PetalburgCity_EventScript_1DC7A0:: @ 81DC7A0
- applymovement 255, PetalburgCity_Movement_1DC802
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC802
applymovement 9, PetalburgCity_Movement_1DC7F5
waitmovement 0
return
PetalburgCity_EventScript_1DC7B2:: @ 81DC7B2
- applymovement 255, PetalburgCity_Movement_1DC815
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC815
applymovement 9, PetalburgCity_Movement_1DC808
waitmovement 0
return
PetalburgCity_EventScript_1DC7C4:: @ 81DC7C4
- applymovement 255, PetalburgCity_Movement_1DC828
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Movement_1DC828
applymovement 9, PetalburgCity_Movement_1DC81B
waitmovement 0
return
diff --git a/data/maps/PetalburgCity_Gym/scripts.inc b/data/maps/PetalburgCity_Gym/scripts.inc
index 6a58c20f7..f97825624 100644
--- a/data/maps/PetalburgCity_Gym/scripts.inc
+++ b/data/maps/PetalburgCity_Gym/scripts.inc
@@ -7,28 +7,28 @@ PetalburgCity_Gym_MapScripts:: @ 8204889
PetalburgCity_Gym_MapScript1_20489E: @ 820489E
compare VAR_0x4085, 6
- goto_eq PetalburgCity_Gym_EventScript_2048B5
+ goto_if_eq PetalburgCity_Gym_EventScript_2048B5
compare VAR_0x4085, 7
- call_if 4, PetalburgCity_Gym_EventScript_2048FF
+ call_if_ge PetalburgCity_Gym_EventScript_2048FF
end
PetalburgCity_Gym_EventScript_2048B5:: @ 82048B5
setvar VAR_0x8005, 1
call PetalburgCity_Gym_EventScript_20555E
checktrainerflag TRAINER_RANDALL
- call_if 1, PetalburgCity_Gym_EventScript_20557F
+ call_if_eq PetalburgCity_Gym_EventScript_20557F
checktrainerflag TRAINER_MARY
- call_if 1, PetalburgCity_Gym_EventScript_2055A0
+ call_if_eq PetalburgCity_Gym_EventScript_2055A0
checktrainerflag TRAINER_PARKER
- call_if 1, PetalburgCity_Gym_EventScript_2055C1
+ call_if_eq PetalburgCity_Gym_EventScript_2055C1
checktrainerflag TRAINER_ALEXIA
- call_if 1, PetalburgCity_Gym_EventScript_2055E2
+ call_if_eq PetalburgCity_Gym_EventScript_2055E2
checktrainerflag TRAINER_GEORGE
- call_if 1, PetalburgCity_Gym_EventScript_205603
+ call_if_eq PetalburgCity_Gym_EventScript_205603
checktrainerflag TRAINER_JODY
- call_if 1, PetalburgCity_Gym_EventScript_205624
+ call_if_eq PetalburgCity_Gym_EventScript_205624
checktrainerflag TRAINER_BERKE
- call_if 1, PetalburgCity_Gym_EventScript_205645
+ call_if_eq PetalburgCity_Gym_EventScript_205645
end
PetalburgCity_Gym_EventScript_2048FF:: @ 82048FF
@@ -45,11 +45,10 @@ PetalburgCity_Gym_EventScript_2048FF:: @ 82048FF
PetalburgCity_Gym_MapScript1_20492D: @ 820492D
compare VAR_0x4085, 1
- call_if 1, PetalburgCity_Gym_EventScript_20494D
+ call_if_eq PetalburgCity_Gym_EventScript_20494D
compare VAR_0x4085, 6
- call_if 0, PetalburgCity_Gym_EventScript_204955
- checkflag FLAG_SYS_GAME_CLEAR
- call_if 1, PetalburgCity_Gym_EventScript_20495D
+ call_if_lt PetalburgCity_Gym_EventScript_204955
+ call_if_set FLAG_SYS_GAME_CLEAR, PetalburgCity_Gym_EventScript_20495D
end
PetalburgCity_Gym_EventScript_20494D:: @ 820494D
@@ -64,9 +63,9 @@ PetalburgCity_Gym_EventScript_20495D:: @ 820495D
setorcopyvar 0x8015, 269
specialvar VAR_RESULT, IsTrainerReadyForRematch
compare VAR_RESULT, 1
- goto_eq PetalburgCity_Gym_EventScript_204985
+ goto_if_eq PetalburgCity_Gym_EventScript_204985
compare VAR_0x4085, 8
- goto_eq PetalburgCity_Gym_EventScript_204985
+ goto_if_eq PetalburgCity_Gym_EventScript_204985
setobjectxyperm 1, 4, 107
return
@@ -79,7 +78,7 @@ PetalburgCity_Gym_MapScript2_20498B: @ 820498B
.2byte 0
PetalburgCity_Gym_EventScript_204995:: @ 8204995
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
end
PetalburgCity_Gym_MapScript2_20499A: @ 820499A
@@ -91,14 +90,14 @@ PetalburgCity_Gym_EventScript_2049A4:: @ 82049A4
msgbox PetalburgCity_Gym_Text_205B32, MSGBOX_DEFAULT
msgbox PetalburgCity_Gym_Text_205B4C, MSGBOX_DEFAULT
closemessage
- applymovement 255, PetalburgCity_Gym_Movement_2725AA
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2725AA
applymovement 10, PetalburgCity_Gym_Movement_2049EC
waitmovement 0
playse SE_KAIDAN
removeobject 10
setflag FLAG_HIDE_PETALBURG_CITY_WALLY
delay 30
- applymovement 255, PetalburgCity_Gym_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2725A6
waitmovement 0
msgbox PetalburgCity_Gym_Text_205C40, MSGBOX_DEFAULT
setvar VAR_0x4085, 2
@@ -156,65 +155,65 @@ PetalburgCity_Gym_EventScript_204AAC:: @ 8204AAC
addobject 10
playse SE_DOOR
compare VAR_0x8008, 0
- call_if 1, PetalburgCity_Gym_EventScript_204C31
+ call_if_eq PetalburgCity_Gym_EventScript_204C31
compare VAR_0x8008, 1
- call_if 1, PetalburgCity_Gym_EventScript_204C43
+ call_if_eq PetalburgCity_Gym_EventScript_204C43
compare VAR_0x8008, 2
- call_if 1, PetalburgCity_Gym_EventScript_204C5F
+ call_if_eq PetalburgCity_Gym_EventScript_204C5F
compare VAR_0x8008, 3
- call_if 1, PetalburgCity_Gym_EventScript_204C5F
+ 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
compare VAR_0x8008, 0
- call_if 1, PetalburgCity_Gym_EventScript_204CC7
+ call_if_eq PetalburgCity_Gym_EventScript_204CC7
compare VAR_0x8008, 1
- call_if 1, PetalburgCity_Gym_EventScript_204CD2
+ call_if_eq PetalburgCity_Gym_EventScript_204CD2
compare VAR_0x8008, 2
- call_if 1, PetalburgCity_Gym_EventScript_204CE4
+ call_if_eq PetalburgCity_Gym_EventScript_204CE4
compare VAR_0x8008, 3
- call_if 1, PetalburgCity_Gym_EventScript_204CF6
+ call_if_eq PetalburgCity_Gym_EventScript_204CF6
msgbox PetalburgCity_Gym_Text_2059E8, MSGBOX_DEFAULT
compare VAR_0x8008, 0
- call_if 1, PetalburgCity_Gym_EventScript_204D08
+ call_if_eq PetalburgCity_Gym_EventScript_204D08
compare VAR_0x8008, 1
- call_if 1, PetalburgCity_Gym_EventScript_204D13
+ call_if_eq PetalburgCity_Gym_EventScript_204D13
compare VAR_0x8008, 2
- call_if 1, PetalburgCity_Gym_EventScript_204D1E
+ call_if_eq PetalburgCity_Gym_EventScript_204D1E
compare VAR_0x8008, 3
- call_if 1, PetalburgCity_Gym_EventScript_204D29
+ 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
compare VAR_0x8008, 0
- call_if 1, PetalburgCity_Gym_EventScript_204D72
+ call_if_eq PetalburgCity_Gym_EventScript_204D72
compare VAR_0x8008, 1
- call_if 1, PetalburgCity_Gym_EventScript_204D73
+ call_if_eq PetalburgCity_Gym_EventScript_204D73
compare VAR_0x8008, 2
- call_if 1, PetalburgCity_Gym_EventScript_204D7E
+ call_if_eq PetalburgCity_Gym_EventScript_204D7E
compare VAR_0x8008, 3
- call_if 1, PetalburgCity_Gym_EventScript_204D7F
+ call_if_eq PetalburgCity_Gym_EventScript_204D7F
compare VAR_0x8008, 0
- call_if 1, PetalburgCity_Gym_EventScript_204D34
+ call_if_eq PetalburgCity_Gym_EventScript_204D34
compare VAR_0x8008, 1
- call_if 1, PetalburgCity_Gym_EventScript_204D3F
+ call_if_eq PetalburgCity_Gym_EventScript_204D3F
compare VAR_0x8008, 2
- call_if 1, PetalburgCity_Gym_EventScript_204D34
+ call_if_eq PetalburgCity_Gym_EventScript_204D34
compare VAR_0x8008, 3
- call_if 1, PetalburgCity_Gym_EventScript_204D34
+ call_if_eq PetalburgCity_Gym_EventScript_204D34
msgbox PetalburgCity_Gym_Text_205B0F, MSGBOX_DEFAULT
closemessage
setflag FLAG_SPECIAL_FLAG_0x4001
playbgm MUS_TSURETEK, 0
compare VAR_0x8008, 0
- call_if 1, PetalburgCity_Gym_EventScript_204C78
+ call_if_eq PetalburgCity_Gym_EventScript_204C78
compare VAR_0x8008, 1
- call_if 1, PetalburgCity_Gym_EventScript_204C91
+ call_if_eq PetalburgCity_Gym_EventScript_204C91
compare VAR_0x8008, 2
- call_if 1, PetalburgCity_Gym_EventScript_204CA3
+ call_if_eq PetalburgCity_Gym_EventScript_204CA3
compare VAR_0x8008, 3
- call_if 1, PetalburgCity_Gym_EventScript_204CB5
+ call_if_eq PetalburgCity_Gym_EventScript_204CB5
removeobject 10
setflag FLAG_HIDE_PETALBURG_CITY_WALLYS_AUNT
setvar VAR_0x4085, 1
@@ -238,13 +237,13 @@ PetalburgCity_Gym_EventScript_204C43:: @ 8204C43
applymovement 10, PetalburgCity_Gym_Movement_2050E1
waitmovement 0
applymovement 1, PetalburgCity_Gym_Movement_2725A8
- applymovement 255, PetalburgCity_Gym_Movement_2725A8
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2725A8
waitmovement 0
return
PetalburgCity_Gym_EventScript_204C5F:: @ 8204C5F
applymovement 1, PetalburgCity_Gym_Movement_2725AA
- applymovement 255, PetalburgCity_Gym_Movement_2725AA
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2725AA
applymovement 10, PetalburgCity_Gym_Movement_2050EB
waitmovement 0
return
@@ -252,25 +251,25 @@ PetalburgCity_Gym_EventScript_204C5F:: @ 8204C5F
PetalburgCity_Gym_EventScript_204C78:: @ 8204C78
applymovement 1, PetalburgCity_Gym_Movement_2725AA
applymovement 10, PetalburgCity_Gym_Movement_205102
- applymovement 255, PetalburgCity_Gym_Movement_205111
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_205111
waitmovement 0
return
PetalburgCity_Gym_EventScript_204C91:: @ 8204C91
applymovement 10, PetalburgCity_Gym_Movement_2050F2
- applymovement 255, PetalburgCity_Gym_Movement_205109
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_205109
waitmovement 0
return
PetalburgCity_Gym_EventScript_204CA3:: @ 8204CA3
applymovement 10, PetalburgCity_Gym_Movement_205102
- applymovement 255, PetalburgCity_Gym_Movement_20511B
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_20511B
waitmovement 0
return
PetalburgCity_Gym_EventScript_204CB5:: @ 8204CB5
applymovement 10, PetalburgCity_Gym_Movement_2050FA
- applymovement 255, PetalburgCity_Gym_Movement_205123
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_205123
waitmovement 0
return
@@ -281,19 +280,19 @@ PetalburgCity_Gym_EventScript_204CC7:: @ 8204CC7
PetalburgCity_Gym_EventScript_204CD2:: @ 8204CD2
applymovement 1, PetalburgCity_Gym_Movement_2725AA
- applymovement 255, PetalburgCity_Gym_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2725A6
waitmovement 0
return
PetalburgCity_Gym_EventScript_204CE4:: @ 8204CE4
applymovement 1, PetalburgCity_Gym_Movement_2725A8
- applymovement 255, PetalburgCity_Gym_Movement_2725A4
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2725A4
waitmovement 0
return
PetalburgCity_Gym_EventScript_204CF6:: @ 8204CF6
applymovement 1, PetalburgCity_Gym_Movement_2725A4
- applymovement 255, PetalburgCity_Gym_Movement_2725A8
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2725A8
waitmovement 0
return
@@ -364,11 +363,9 @@ PetalburgCity_Gym_EventScript_204D7F:: @ 8204D7F
PetalburgCity_Gym_EventScript_204D80:: @ 8204D80
call PetalburgCity_Gym_EventScript_204DCE
compare VAR_RESULT, 1
- goto_eq PetalburgCity_Gym_EventScript_204E1D
- checkflag FLAG_0x0A9
- goto_if 0, PetalburgCity_Gym_EventScript_204DAC
- checkflag FLAG_SYS_GAME_CLEAR
- goto_eq PetalburgCity_Gym_EventScript_20512D
+ goto_if_eq PetalburgCity_Gym_EventScript_204E1D
+ goto_if_unset FLAG_0x0A9, PetalburgCity_Gym_EventScript_204DAC
+ goto_if_set FLAG_SYS_GAME_CLEAR, PetalburgCity_Gym_EventScript_20512D
msgbox PetalburgCity_Gym_Text_206417, MSGBOX_DEFAULT
release
end
@@ -386,15 +383,15 @@ PetalburgCity_Gym_EventScript_204DB3:: @ 8204DB3
PetalburgCity_Gym_EventScript_204DCE:: @ 8204DCE
specialvar VAR_RESULT, IsEnigmaBerryValid
compare VAR_RESULT, 0
- goto_eq PetalburgCity_Gym_EventScript_204E17
+ goto_if_eq PetalburgCity_Gym_EventScript_204E17
checkitem ITEM_ENIGMA_BERRY, 1
compare VAR_RESULT, 1
- goto_eq PetalburgCity_Gym_EventScript_204E17
+ goto_if_eq PetalburgCity_Gym_EventScript_204E17
checkpcitem ITEM_ENIGMA_BERRY, 1
compare VAR_RESULT, 1
- goto_eq PetalburgCity_Gym_EventScript_204E17
+ goto_if_eq PetalburgCity_Gym_EventScript_204E17
compare VAR_ENIGMA_BERRY_AVAILABLE, 0
- goto_eq PetalburgCity_Gym_EventScript_204E17
+ goto_if_eq PetalburgCity_Gym_EventScript_204E17
msgbox PetalburgCity_Gym_Text_2A6D3D, MSGBOX_DEFAULT
setvar VAR_RESULT, 1
return
@@ -406,7 +403,7 @@ PetalburgCity_Gym_EventScript_204E17:: @ 8204E17
PetalburgCity_Gym_EventScript_204E1D:: @ 8204E1D
giveitem_std ITEM_ENIGMA_BERRY
compare VAR_RESULT, 0
- goto_eq PetalburgCity_Gym_EventScript_272054
+ goto_if_eq PetalburgCity_Gym_EventScript_272054
setvar VAR_ENIGMA_BERRY_AVAILABLE, 0
release
end
@@ -447,7 +444,7 @@ PetalburgCity_Gym_EventScript_204E3B:: @ 8204E3B
PetalburgCity_Gym_EventScript_204ED2:: @ 8204ED2
giveitem_std ITEM_TM42
compare VAR_RESULT, 0
- goto_eq PetalburgCity_Gym_EventScript_27205E
+ goto_if_eq PetalburgCity_Gym_EventScript_27205E
setflag FLAG_0x0A9
msgbox PetalburgCity_Gym_Text_206254, MSGBOX_DEFAULT
return
@@ -474,30 +471,30 @@ PetalburgCity_Gym_EventScript_204F13:: @ 8204F13
waitmovement 0
delay 10
compare VAR_0x8008, 1
- call_if 1, PetalburgCity_Gym_EventScript_204FED
+ call_if_eq PetalburgCity_Gym_EventScript_204FED
compare VAR_0x8008, 2
- call_if 1, PetalburgCity_Gym_EventScript_205009
+ call_if_eq PetalburgCity_Gym_EventScript_205009
compare VAR_0x8008, 3
- call_if 1, PetalburgCity_Gym_EventScript_205025
+ call_if_eq PetalburgCity_Gym_EventScript_205025
msgbox PetalburgCity_Gym_Text_206377, MSGBOX_DEFAULT
closemessage
delay 20
compare VAR_0x8008, 1
- call_if 1, PetalburgCity_Gym_EventScript_204FCC
+ call_if_eq PetalburgCity_Gym_EventScript_204FCC
compare VAR_0x8008, 2
- call_if 1, PetalburgCity_Gym_EventScript_204FD7
+ call_if_eq PetalburgCity_Gym_EventScript_204FD7
compare VAR_0x8008, 3
- call_if 1, PetalburgCity_Gym_EventScript_204FE2
+ call_if_eq PetalburgCity_Gym_EventScript_204FE2
msgbox PetalburgCity_Gym_Text_2063CA, MSGBOX_DEFAULT
closemessage
setflag FLAG_SPECIAL_FLAG_0x4001
playbgm MUS_TSURETEK, 0
compare VAR_0x8008, 1
- call_if 1, PetalburgCity_Gym_EventScript_205041
+ call_if_eq PetalburgCity_Gym_EventScript_205041
compare VAR_0x8008, 2
- call_if 1, PetalburgCity_Gym_EventScript_20505A
+ call_if_eq PetalburgCity_Gym_EventScript_20505A
compare VAR_0x8008, 3
- call_if 1, PetalburgCity_Gym_EventScript_20506C
+ call_if_eq PetalburgCity_Gym_EventScript_20506C
removeobject 11
setvar VAR_0x4057, 4
clearflag FLAG_HIDE_PETALBURG_CITY_WALLYS_UNCLE
@@ -524,7 +521,7 @@ PetalburgCity_Gym_EventScript_204FE2:: @ 8204FE2
PetalburgCity_Gym_EventScript_204FED:: @ 8204FED
applymovement 11, PetalburgCity_Gym_Movement_2050C3
waitmovement 0
- applymovement 255, PetalburgCity_Gym_Movement_2725A4
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2725A4
applymovement 1, PetalburgCity_Gym_Movement_2725A4
waitmovement 0
return
@@ -532,7 +529,7 @@ PetalburgCity_Gym_EventScript_204FED:: @ 8204FED
PetalburgCity_Gym_EventScript_205009:: @ 8205009
applymovement 11, PetalburgCity_Gym_Movement_2050CA
waitmovement 0
- applymovement 255, PetalburgCity_Gym_Movement_2725AA
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2725AA
applymovement 1, PetalburgCity_Gym_Movement_2725AA
waitmovement 0
return
@@ -540,7 +537,7 @@ PetalburgCity_Gym_EventScript_205009:: @ 8205009
PetalburgCity_Gym_EventScript_205025:: @ 8205025
applymovement 11, PetalburgCity_Gym_Movement_2050D0
waitmovement 0
- applymovement 255, PetalburgCity_Gym_Movement_2725AA
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2725AA
applymovement 1, PetalburgCity_Gym_Movement_2725AA
waitmovement 0
return
@@ -548,19 +545,19 @@ PetalburgCity_Gym_EventScript_205025:: @ 8205025
PetalburgCity_Gym_EventScript_205041:: @ 8205041
applymovement 11, PetalburgCity_Gym_Movement_20507E
applymovement 1, PetalburgCity_Gym_Movement_2725AA
- applymovement 255, PetalburgCity_Gym_Movement_2050A1
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2050A1
waitmovement 0
return
PetalburgCity_Gym_EventScript_20505A:: @ 820505A
applymovement 11, PetalburgCity_Gym_Movement_205089
- applymovement 255, PetalburgCity_Gym_Movement_2050A9
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2050A9
waitmovement 0
return
PetalburgCity_Gym_EventScript_20506C:: @ 820506C
applymovement 11, PetalburgCity_Gym_Movement_205094
- applymovement 255, PetalburgCity_Gym_Movement_2050B1
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgCity_Gym_Movement_2050B1
waitmovement 0
return
@@ -787,14 +784,14 @@ PetalburgCity_Gym_EventScript_20512D:: @ 820512D
PetalburgCity_Gym_EventScript_205137:: @ 8205137
lockall
compare VAR_0x4085, 6
- goto_if 0, PetalburgCity_Gym_EventScript_20517D
+ goto_if_lt PetalburgCity_Gym_EventScript_20517D
setvar VAR_0x8008, 7
setvar VAR_0x8009, 85
msgbox PetalburgCity_Gym_Text_20721E, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq PetalburgCity_Gym_EventScript_20516C
+ goto_if_eq PetalburgCity_Gym_EventScript_20516C
compare VAR_RESULT, 0
- goto_eq PetalburgCity_Gym_EventScript_20517B
+ goto_if_eq PetalburgCity_Gym_EventScript_20517B
end
PetalburgCity_Gym_EventScript_20516C:: @ 820516C
@@ -817,150 +814,149 @@ PetalburgCity_Gym_EventScript_20517D:: @ 820517D
PetalburgCity_Gym_EventScript_205187:: @ 8205187
lockall
compare VAR_0x4085, 6
- goto_if 0, PetalburgCity_Gym_EventScript_20517D
+ goto_if_lt PetalburgCity_Gym_EventScript_20517D
setvar VAR_0x8008, 1
setvar VAR_0x8009, 98
msgbox PetalburgCity_Gym_Text_207280, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq PetalburgCity_Gym_EventScript_20516C
+ goto_if_eq PetalburgCity_Gym_EventScript_20516C
compare VAR_RESULT, 0
- goto_eq PetalburgCity_Gym_EventScript_20517B
+ goto_if_eq PetalburgCity_Gym_EventScript_20517B
end
PetalburgCity_Gym_EventScript_2051BC:: @ 82051BC
lockall
checktrainerflag TRAINER_RANDALL
- goto_if 0, PetalburgCity_Gym_EventScript_20517D
+ goto_if_lt PetalburgCity_Gym_EventScript_20517D
setvar VAR_0x8008, 7
setvar VAR_0x8009, 46
msgbox PetalburgCity_Gym_Text_2072BB, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq PetalburgCity_Gym_EventScript_20516C
+ goto_if_eq PetalburgCity_Gym_EventScript_20516C
compare VAR_RESULT, 0
- goto_eq PetalburgCity_Gym_EventScript_20517B
+ goto_if_eq PetalburgCity_Gym_EventScript_20517B
end
PetalburgCity_Gym_EventScript_2051EF:: @ 82051EF
lockall
checktrainerflag TRAINER_RANDALL
- goto_if 0, PetalburgCity_Gym_EventScript_20517D
+ goto_if_lt PetalburgCity_Gym_EventScript_20517D
setvar VAR_0x8008, 1
setvar VAR_0x8009, 59
msgbox PetalburgCity_Gym_Text_2072F7, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq PetalburgCity_Gym_EventScript_20516C
+ goto_if_eq PetalburgCity_Gym_EventScript_20516C
compare VAR_RESULT, 0
- goto_eq PetalburgCity_Gym_EventScript_20517B
+ goto_if_eq PetalburgCity_Gym_EventScript_20517B
end
PetalburgCity_Gym_EventScript_205222:: @ 8205222
lockall
checktrainerflag TRAINER_MARY
- goto_if 0, PetalburgCity_Gym_EventScript_20517D
+ goto_if_lt PetalburgCity_Gym_EventScript_20517D
setvar VAR_0x8008, 7
setvar VAR_0x8009, 59
msgbox PetalburgCity_Gym_Text_2072F7, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq PetalburgCity_Gym_EventScript_20516C
+ goto_if_eq PetalburgCity_Gym_EventScript_20516C
compare VAR_RESULT, 0
- goto_eq PetalburgCity_Gym_EventScript_20517B
+ goto_if_eq PetalburgCity_Gym_EventScript_20517B
end
PetalburgCity_Gym_EventScript_205255:: @ 8205255
lockall
checktrainerflag TRAINER_MARY
- goto_if 0, PetalburgCity_Gym_EventScript_20517D
+ goto_if_lt PetalburgCity_Gym_EventScript_20517D
setvar VAR_0x8008, 1
setvar VAR_0x8009, 72
msgbox PetalburgCity_Gym_Text_207331, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq PetalburgCity_Gym_EventScript_20516C
+ goto_if_eq PetalburgCity_Gym_EventScript_20516C
compare VAR_RESULT, 0
- goto_eq PetalburgCity_Gym_EventScript_20517B
+ goto_if_eq PetalburgCity_Gym_EventScript_20517B
end
PetalburgCity_Gym_EventScript_205288:: @ 8205288
lockall
checktrainerflag TRAINER_PARKER
- goto_if 0, PetalburgCity_Gym_EventScript_20517D
+ goto_if_lt PetalburgCity_Gym_EventScript_20517D
setvar VAR_0x8008, 1
setvar VAR_0x8009, 20
msgbox PetalburgCity_Gym_Text_20736C, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq PetalburgCity_Gym_EventScript_20516C
+ goto_if_eq PetalburgCity_Gym_EventScript_20516C
compare VAR_RESULT, 0
- goto_eq PetalburgCity_Gym_EventScript_20517B
+ goto_if_eq PetalburgCity_Gym_EventScript_20517B
end
PetalburgCity_Gym_EventScript_2052BB:: @ 82052BB
lockall
checktrainerflag TRAINER_ALEXIA
- goto_if 0, PetalburgCity_Gym_EventScript_20517D
+ goto_if_lt PetalburgCity_Gym_EventScript_20517D
setvar VAR_0x8008, 7
setvar VAR_0x8009, 20
msgbox PetalburgCity_Gym_Text_20736C, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq PetalburgCity_Gym_EventScript_20516C
+ goto_if_eq PetalburgCity_Gym_EventScript_20516C
compare VAR_RESULT, 0
- goto_eq PetalburgCity_Gym_EventScript_20517B
+ goto_if_eq PetalburgCity_Gym_EventScript_20517B
end
PetalburgCity_Gym_EventScript_2052EE:: @ 82052EE
lockall
checktrainerflag TRAINER_ALEXIA
- goto_if 0, PetalburgCity_Gym_EventScript_20517D
+ goto_if_lt PetalburgCity_Gym_EventScript_20517D
setvar VAR_0x8008, 1
setvar VAR_0x8009, 33
msgbox PetalburgCity_Gym_Text_2073A7, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq PetalburgCity_Gym_EventScript_20516C
+ goto_if_eq PetalburgCity_Gym_EventScript_20516C
compare VAR_RESULT, 0
- goto_eq PetalburgCity_Gym_EventScript_20517B
+ goto_if_eq PetalburgCity_Gym_EventScript_20517B
end
PetalburgCity_Gym_EventScript_205321:: @ 8205321
lockall
checktrainerflag TRAINER_GEORGE
- goto_if 0, PetalburgCity_Gym_EventScript_20517D
+ goto_if_lt PetalburgCity_Gym_EventScript_20517D
setvar VAR_0x8008, 7
setvar VAR_0x8009, 33
msgbox PetalburgCity_Gym_Text_2073A7, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq PetalburgCity_Gym_EventScript_20516C
+ goto_if_eq PetalburgCity_Gym_EventScript_20516C
compare VAR_RESULT, 0
- goto_eq PetalburgCity_Gym_EventScript_20517B
+ goto_if_eq PetalburgCity_Gym_EventScript_20517B
end
PetalburgCity_Gym_EventScript_205354:: @ 8205354
lockall
checktrainerflag TRAINER_JODY
- goto_if 0, PetalburgCity_Gym_EventScript_20517D
+ goto_if_lt PetalburgCity_Gym_EventScript_20517D
setvar VAR_0x8008, 1
setvar VAR_0x8009, 7
msgbox PetalburgCity_Gym_Text_2073E4, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq PetalburgCity_Gym_EventScript_20516C
+ goto_if_eq PetalburgCity_Gym_EventScript_20516C
compare VAR_RESULT, 0
- goto_eq PetalburgCity_Gym_EventScript_20517B
+ goto_if_eq PetalburgCity_Gym_EventScript_20517B
end
PetalburgCity_Gym_EventScript_205387:: @ 8205387
lockall
checktrainerflag TRAINER_BERKE
- goto_if 0, PetalburgCity_Gym_EventScript_20517D
+ goto_if_lt PetalburgCity_Gym_EventScript_20517D
setvar VAR_0x8008, 7
setvar VAR_0x8009, 7
msgbox PetalburgCity_Gym_Text_2073E4, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq PetalburgCity_Gym_EventScript_20516C
+ goto_if_eq PetalburgCity_Gym_EventScript_20516C
compare VAR_RESULT, 0
- goto_eq PetalburgCity_Gym_EventScript_20517B
+ goto_if_eq PetalburgCity_Gym_EventScript_20517B
end
PetalburgCity_Gym_EventScript_2053BA:: @ 82053BA
trainerbattle_single TRAINER_RANDALL, PetalburgCity_Gym_Text_20674F, PetalburgCity_Gym_Text_2067B9, PetalburgCity_Gym_EventScript_2053DE
- checkflag FLAG_0x4F4
- goto_eq PetalburgCity_Gym_EventScript_2053ED
+ goto_if_set FLAG_0x4F4, PetalburgCity_Gym_EventScript_2053ED
msgbox PetalburgCity_Gym_Text_2067D8, MSGBOX_AUTOCLOSE
end
@@ -977,8 +973,7 @@ PetalburgCity_Gym_EventScript_2053ED:: @ 82053ED
PetalburgCity_Gym_EventScript_2053F6:: @ 82053F6
trainerbattle_single TRAINER_PARKER, PetalburgCity_Gym_Text_2068FD, PetalburgCity_Gym_Text_20694F, PetalburgCity_Gym_EventScript_20541A
- checkflag FLAG_0x4F4
- goto_eq PetalburgCity_Gym_EventScript_205429
+ goto_if_set FLAG_0x4F4, PetalburgCity_Gym_EventScript_205429
msgbox PetalburgCity_Gym_Text_206996, MSGBOX_AUTOCLOSE
end
@@ -995,8 +990,7 @@ PetalburgCity_Gym_EventScript_205429:: @ 8205429
PetalburgCity_Gym_EventScript_205432:: @ 8205432
trainerbattle_single TRAINER_GEORGE, PetalburgCity_Gym_Text_206A1B, PetalburgCity_Gym_Text_206AB8, PetalburgCity_Gym_EventScript_205456
- checkflag FLAG_0x4F4
- goto_eq PetalburgCity_Gym_EventScript_205465
+ goto_if_set FLAG_0x4F4, PetalburgCity_Gym_EventScript_205465
msgbox PetalburgCity_Gym_Text_206AE9, MSGBOX_AUTOCLOSE
end
@@ -1013,8 +1007,7 @@ PetalburgCity_Gym_EventScript_205465:: @ 8205465
PetalburgCity_Gym_EventScript_20546E:: @ 820546E
trainerbattle_single TRAINER_BERKE, PetalburgCity_Gym_Text_206BF4, PetalburgCity_Gym_Text_206C7D, PetalburgCity_Gym_EventScript_205492
- checkflag FLAG_0x4F4
- goto_eq PetalburgCity_Gym_EventScript_2054A1
+ goto_if_set FLAG_0x4F4, PetalburgCity_Gym_EventScript_2054A1
msgbox PetalburgCity_Gym_Text_206C9F, MSGBOX_AUTOCLOSE
end
@@ -1031,8 +1024,7 @@ PetalburgCity_Gym_EventScript_2054A1:: @ 82054A1
PetalburgCity_Gym_EventScript_2054AA:: @ 82054AA
trainerbattle_single TRAINER_MARY, PetalburgCity_Gym_Text_206DB2, PetalburgCity_Gym_Text_206E0D, PetalburgCity_Gym_EventScript_2054CE
- checkflag FLAG_0x4F4
- goto_eq PetalburgCity_Gym_EventScript_2054DD
+ goto_if_set FLAG_0x4F4, PetalburgCity_Gym_EventScript_2054DD
msgbox PetalburgCity_Gym_Text_206E26, MSGBOX_AUTOCLOSE
end
@@ -1049,8 +1041,7 @@ PetalburgCity_Gym_EventScript_2054DD:: @ 82054DD
PetalburgCity_Gym_EventScript_2054E6:: @ 82054E6
trainerbattle_single TRAINER_ALEXIA, PetalburgCity_Gym_Text_206F44, PetalburgCity_Gym_Text_206F82, PetalburgCity_Gym_EventScript_20550A
- checkflag FLAG_0x4F4
- goto_eq PetalburgCity_Gym_EventScript_205519
+ goto_if_set FLAG_0x4F4, PetalburgCity_Gym_EventScript_205519
msgbox PetalburgCity_Gym_Text_206F9F, MSGBOX_AUTOCLOSE
end
@@ -1067,8 +1058,7 @@ PetalburgCity_Gym_EventScript_205519:: @ 8205519
PetalburgCity_Gym_EventScript_205522:: @ 8205522
trainerbattle_single TRAINER_JODY, PetalburgCity_Gym_Text_207088, PetalburgCity_Gym_Text_2070E6, PetalburgCity_Gym_EventScript_205546
- checkflag FLAG_0x4F4
- goto_eq PetalburgCity_Gym_EventScript_205555
+ goto_if_set FLAG_0x4F4, PetalburgCity_Gym_EventScript_205555
msgbox PetalburgCity_Gym_Text_2070FB, MSGBOX_AUTOCLOSE
end
@@ -1086,72 +1076,72 @@ PetalburgCity_Gym_EventScript_205555:: @ 8205555
PetalburgCity_Gym_EventScript_20555E:: @ 820555E
setvar VAR_0x8004, 1
compare VAR_0x8005, 0
- call_if 1, PetalburgCity_Gym_EventScript_205746
+ call_if_eq PetalburgCity_Gym_EventScript_205746
compare VAR_0x8005, 1
- call_if 1, PetalburgCity_Gym_EventScript_20574B
+ call_if_eq PetalburgCity_Gym_EventScript_20574B
call PetalburgCity_Gym_EventScript_205666
return
PetalburgCity_Gym_EventScript_20557F:: @ 820557F
setvar VAR_0x8004, 2
compare VAR_0x8005, 0
- call_if 1, PetalburgCity_Gym_EventScript_205746
+ call_if_eq PetalburgCity_Gym_EventScript_205746
compare VAR_0x8005, 1
- call_if 1, PetalburgCity_Gym_EventScript_20574B
+ call_if_eq PetalburgCity_Gym_EventScript_20574B
call PetalburgCity_Gym_EventScript_20568B
return
PetalburgCity_Gym_EventScript_2055A0:: @ 82055A0
setvar VAR_0x8004, 3
compare VAR_0x8005, 0
- call_if 1, PetalburgCity_Gym_EventScript_205746
+ call_if_eq PetalburgCity_Gym_EventScript_205746
compare VAR_0x8005, 1
- call_if 1, PetalburgCity_Gym_EventScript_20574B
+ call_if_eq PetalburgCity_Gym_EventScript_20574B
call PetalburgCity_Gym_EventScript_2056B0
return
PetalburgCity_Gym_EventScript_2055C1:: @ 82055C1
setvar VAR_0x8004, 4
compare VAR_0x8005, 0
- call_if 1, PetalburgCity_Gym_EventScript_205746
+ call_if_eq PetalburgCity_Gym_EventScript_205746
compare VAR_0x8005, 1
- call_if 1, PetalburgCity_Gym_EventScript_20574B
+ call_if_eq PetalburgCity_Gym_EventScript_20574B
call PetalburgCity_Gym_EventScript_2056D5
return
PetalburgCity_Gym_EventScript_2055E2:: @ 82055E2
setvar VAR_0x8004, 5
compare VAR_0x8005, 0
- call_if 1, PetalburgCity_Gym_EventScript_205746
+ call_if_eq PetalburgCity_Gym_EventScript_205746
compare VAR_0x8005, 1
- call_if 1, PetalburgCity_Gym_EventScript_20574B
+ call_if_eq PetalburgCity_Gym_EventScript_20574B
call PetalburgCity_Gym_EventScript_2056E8
return
PetalburgCity_Gym_EventScript_205603:: @ 8205603
setvar VAR_0x8004, 6
compare VAR_0x8005, 0
- call_if 1, PetalburgCity_Gym_EventScript_205746
+ call_if_eq PetalburgCity_Gym_EventScript_205746
compare VAR_0x8005, 1
- call_if 1, PetalburgCity_Gym_EventScript_20574B
+ call_if_eq PetalburgCity_Gym_EventScript_20574B
call PetalburgCity_Gym_EventScript_20570D
return
PetalburgCity_Gym_EventScript_205624:: @ 8205624
setvar VAR_0x8004, 7
compare VAR_0x8005, 0
- call_if 1, PetalburgCity_Gym_EventScript_205746
+ call_if_eq PetalburgCity_Gym_EventScript_205746
compare VAR_0x8005, 1
- call_if 1, PetalburgCity_Gym_EventScript_20574B
+ call_if_eq PetalburgCity_Gym_EventScript_20574B
call PetalburgCity_Gym_EventScript_205720
return
PetalburgCity_Gym_EventScript_205645:: @ 8205645
setvar VAR_0x8004, 8
compare VAR_0x8005, 0
- call_if 1, PetalburgCity_Gym_EventScript_205746
+ call_if_eq PetalburgCity_Gym_EventScript_205746
compare VAR_0x8005, 1
- call_if 1, PetalburgCity_Gym_EventScript_20574B
+ call_if_eq PetalburgCity_Gym_EventScript_20574B
call PetalburgCity_Gym_EventScript_205733
return
@@ -1215,8 +1205,7 @@ PetalburgCity_Gym_EventScript_20574B:: @ 820574B
PetalburgCity_Gym_EventScript_20574F:: @ 820574F
lock
faceplayer
- checkflag FLAG_0x4F4
- goto_eq PetalburgCity_Gym_EventScript_205764
+ goto_if_set FLAG_0x4F4, PetalburgCity_Gym_EventScript_205764
msgbox PetalburgCity_Gym_Text_206542, MSGBOX_DEFAULT
release
end
@@ -1228,15 +1217,13 @@ PetalburgCity_Gym_EventScript_205764:: @ 8205764
PetalburgCity_Gym_EventScript_20576E:: @ 820576E
lockall
- checkflag FLAG_BADGE05_GET
- goto_eq PetalburgCity_Gym_EventScript_20578E
+ goto_if_set FLAG_BADGE05_GET, PetalburgCity_Gym_EventScript_20578E
goto PetalburgCity_Gym_EventScript_205798
end
PetalburgCity_Gym_EventScript_20577E:: @ 820577E
lockall
- checkflag FLAG_BADGE05_GET
- goto_eq PetalburgCity_Gym_EventScript_20578E
+ goto_if_set FLAG_BADGE05_GET, PetalburgCity_Gym_EventScript_20578E
goto PetalburgCity_Gym_EventScript_205798
end
diff --git a/data/maps/PetalburgCity_Mart/scripts.inc b/data/maps/PetalburgCity_Mart/scripts.inc
index f6d975615..4303f1504 100644
--- a/data/maps/PetalburgCity_Mart/scripts.inc
+++ b/data/maps/PetalburgCity_Mart/scripts.inc
@@ -6,8 +6,7 @@ PetalburgCity_Mart_EventScript_207D69:: @ 8207D69
faceplayer
message gUnknown_08272A21
waitmessage
- checkflag FLAG_0x128
- goto_eq PetalburgCity_Mart_EventScript_207DA6
+ goto_if_set FLAG_0x128, PetalburgCity_Mart_EventScript_207DA6
pokemart PetalburgCity_Mart_Pokemart_207D8C
msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
diff --git a/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc b/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc
index eb0150c08..1bbeb8fad 100644
--- a/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc
+++ b/data/maps/PetalburgCity_PokemonCenter_1F/scripts.inc
@@ -30,17 +30,17 @@ PetalburgCity_PokemonCenter_1F_EventScript_207A1C:: @ 8207A1C
msgbox PetalburgCity_PokemonCenter_1F_Text_207B09, MSGBOX_DEFAULT
specialvar VAR_RESULT, IsStarterInParty
compare VAR_RESULT, 1
- goto_eq PetalburgCity_PokemonCenter_1F_EventScript_207A38
+ goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_207A38
release
end
PetalburgCity_PokemonCenter_1F_EventScript_207A38:: @ 8207A38
compare VAR_STARTER_MON, 0
- call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_207A5B
+ call_if_eq PetalburgCity_PokemonCenter_1F_EventScript_207A5B
compare VAR_STARTER_MON, 1
- call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_207A64
+ call_if_eq PetalburgCity_PokemonCenter_1F_EventScript_207A64
compare VAR_STARTER_MON, 2
- call_if 1, PetalburgCity_PokemonCenter_1F_EventScript_207A6D
+ call_if_eq PetalburgCity_PokemonCenter_1F_EventScript_207A6D
release
end
diff --git a/data/maps/PetalburgCity_WallysHouse/scripts.inc b/data/maps/PetalburgCity_WallysHouse/scripts.inc
index 8ef530784..7645828ef 100644
--- a/data/maps/PetalburgCity_WallysHouse/scripts.inc
+++ b/data/maps/PetalburgCity_WallysHouse/scripts.inc
@@ -8,7 +8,7 @@ PetalburgCity_WallysHouse_MapScript2_204234: @ 8204234
.2byte 0
PetalburgCity_WallysHouse_EventScript_20423E:: @ 820423E
- turnobject 255, 4
+ turnobject EVENT_OBJ_ID_PLAYER, 4
turnobject 1, 3
end
@@ -29,12 +29,9 @@ PetalburgCity_WallysHouse_EventScript_204251:: @ 8204251
PetalburgCity_WallysHouse_EventScript_204278:: @ 8204278
lock
faceplayer
- checkflag FLAG_0x07E
- goto_eq PetalburgCity_WallysHouse_EventScript_2042AC
- checkflag FLAG_0x07A
- goto_eq PetalburgCity_WallysHouse_EventScript_2042A2
- checkflag FLAG_0x087
- goto_eq PetalburgCity_WallysHouse_EventScript_2042B6
+ goto_if_set FLAG_0x07E, PetalburgCity_WallysHouse_EventScript_2042AC
+ goto_if_set FLAG_0x07A, PetalburgCity_WallysHouse_EventScript_2042A2
+ goto_if_set FLAG_0x087, PetalburgCity_WallysHouse_EventScript_2042B6
msgbox PetalburgCity_WallysHouse_Text_2042DF, MSGBOX_DEFAULT
setflag FLAG_0x087
release
@@ -58,8 +55,7 @@ PetalburgCity_WallysHouse_EventScript_2042B6:: @ 82042B6
PetalburgCity_WallysHouse_EventScript_2042C0:: @ 82042C0
lock
faceplayer
- checkflag FLAG_0x07A
- goto_eq PetalburgCity_WallysHouse_EventScript_2042D5
+ goto_if_set FLAG_0x07A, PetalburgCity_WallysHouse_EventScript_2042D5
msgbox PetalburgCity_WallysHouse_Text_204732, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/PetalburgWoods/scripts.inc b/data/maps/PetalburgWoods/scripts.inc
index 387955f73..57797588f 100644
--- a/data/maps/PetalburgWoods/scripts.inc
+++ b/data/maps/PetalburgWoods/scripts.inc
@@ -30,7 +30,7 @@ PetalburgWoods_EventScript_22DFD7:: @ 822DFD7
applymovement 3, PetalburgWoods_Movement_22E1F9
waitmovement 0
call PetalburgWoods_EventScript_22E138
- applymovement 255, PetalburgWoods_Movement_22E1E0
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgWoods_Movement_22E1E0
applymovement 4, PetalburgWoods_Movement_22E1C2
waitmovement 0
goto PetalburgWoods_EventScript_22E1A7
@@ -41,7 +41,7 @@ PetalburgWoods_EventScript_22E079:: @ 822E079
call PetalburgWoods_EventScript_22E124
applymovement 4, PetalburgWoods_Movement_22E1D0
waitmovement 0
- applymovement 255, PetalburgWoods_Movement_2725A4
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgWoods_Movement_2725A4
waitmovement 0
msgbox PetalburgWoods_Text_22E34F, MSGBOX_DEFAULT
closemessage
@@ -59,14 +59,14 @@ PetalburgWoods_EventScript_22E079:: @ 822E079
applymovement 4, PetalburgWoods_Movement_22E1EA
waitmovement 0
msgbox PetalburgWoods_Text_22E457, MSGBOX_DEFAULT
- applymovement 255, PetalburgWoods_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgWoods_Movement_2725A6
waitmovement 0
msgbox PetalburgWoods_Text_22E4A5, MSGBOX_DEFAULT
trainerbattle_no_intro TRAINER_GRUNT_8, PetalburgWoods_Text_22E542
applymovement 3, PetalburgWoods_Movement_22E1F9
waitmovement 0
call PetalburgWoods_EventScript_22E138
- applymovement 255, PetalburgWoods_Movement_22E1E0
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgWoods_Movement_22E1E0
applymovement 4, PetalburgWoods_Movement_22E1D7
waitmovement 0
goto PetalburgWoods_EventScript_22E1A7
@@ -85,12 +85,12 @@ PetalburgWoods_EventScript_22E138:: @ 822E138
applymovement 3, PetalburgWoods_Movement_22E1FD
waitmovement 0
removeobject 3
- applymovement 255, PetalburgWoods_Movement_2725AA
+ applymovement EVENT_OBJ_ID_PLAYER, PetalburgWoods_Movement_2725AA
waitmovement 0
msgbox PetalburgWoods_Text_22E63D, MSGBOX_DEFAULT
giveitem_std ITEM_GREAT_BALL
compare VAR_RESULT, 0
- goto_eq PetalburgWoods_EventScript_22E17D
+ goto_if_eq PetalburgWoods_EventScript_22E17D
goto PetalburgWoods_EventScript_22E18B
end
@@ -249,12 +249,11 @@ PetalburgWoods_EventScript_22E219:: @ 822E219
PetalburgWoods_EventScript_22E222:: @ 822E222
lock
faceplayer
- checkflag FLAG_0x129
- goto_eq PetalburgWoods_EventScript_22E251
+ goto_if_set FLAG_0x129, PetalburgWoods_EventScript_22E251
msgbox PetalburgWoods_Text_22EAFE, MSGBOX_DEFAULT
giveitem_std ITEM_MIRACLE_SEED
compare VAR_RESULT, 0
- goto_eq PetalburgWoods_EventScript_272054
+ goto_if_eq PetalburgWoods_EventScript_272054
setflag FLAG_0x129
release
end
@@ -281,11 +280,11 @@ PetalburgWoods_EventScript_22E284:: @ 822E284
trainerbattle_single TRAINER_JAMES_1, PetalburgWoods_Text_22E827, PetalburgWoods_Text_22E86B, PetalburgWoods_EventScript_22E2C5
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq PetalburgWoods_EventScript_22E31B
+ goto_if_eq PetalburgWoods_EventScript_22E31B
setvar VAR_0x8004, 621
specialvar VAR_RESULT, sub_813B4E0
compare VAR_RESULT, 0
- goto_eq PetalburgWoods_EventScript_22E2EF
+ goto_if_eq PetalburgWoods_EventScript_22E2EF
msgbox PetalburgWoods_Text_22E889, MSGBOX_DEFAULT
release
end
@@ -293,8 +292,7 @@ PetalburgWoods_EventScript_22E284:: @ 822E284
PetalburgWoods_EventScript_22E2C5:: @ 822E2C5
special sub_80B4808
waitmovement 0
- checkflag FLAG_HAS_MATCH_CALL
- goto_eq PetalburgWoods_EventScript_22E2D6
+ goto_if_set FLAG_HAS_MATCH_CALL, PetalburgWoods_EventScript_22E2D6
release
end
@@ -305,8 +303,7 @@ PetalburgWoods_EventScript_22E2D6:: @ 822E2D6
end
PetalburgWoods_EventScript_22E2EF:: @ 822E2EF
- checkflag FLAG_HAS_MATCH_CALL
- goto_eq PetalburgWoods_EventScript_22E302
+ goto_if_set FLAG_HAS_MATCH_CALL, PetalburgWoods_EventScript_22E302
msgbox PetalburgWoods_Text_22E889, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route101/scripts.inc b/data/maps/Route101/scripts.inc
index f724914ba..deea27e74 100644
--- a/data/maps/Route101/scripts.inc
+++ b/data/maps/Route101/scripts.inc
@@ -23,7 +23,7 @@ Route101_EventScript_1EBCDE:: @ 81EBCDE
closemessage
setobjectxy 2, 0, 15
setobjectxy 4, 0, 16
- applymovement 255, Route101_Movement_1EBDC2
+ applymovement EVENT_OBJ_ID_PLAYER, Route101_Movement_1EBDC2
applymovement 2, Route101_Movement_1EBDE7
applymovement 4, Route101_Movement_1EBDB5
waitmovement 0
@@ -45,7 +45,7 @@ Route101_EventScript_1EBD4E:: @ 81EBD4E
lockall
msgbox Route101_Text_1EBEDF, MSGBOX_DEFAULT
closemessage
- applymovement 255, Route101_Movement_1EBD90
+ applymovement EVENT_OBJ_ID_PLAYER, Route101_Movement_1EBD90
waitmovement 0
releaseall
end
@@ -54,7 +54,7 @@ Route101_EventScript_1EBD64:: @ 81EBD64
lockall
msgbox Route101_Text_1EBEDF, MSGBOX_DEFAULT
closemessage
- applymovement 255, Route101_Movement_1EBD92
+ applymovement EVENT_OBJ_ID_PLAYER, Route101_Movement_1EBD92
waitmovement 0
releaseall
end
@@ -63,7 +63,7 @@ Route101_EventScript_1EBD7A:: @ 81EBD7A
lockall
msgbox Route101_Text_1EBEDF, MSGBOX_DEFAULT
closemessage
- applymovement 255, Route101_Movement_1EBD94
+ applymovement EVENT_OBJ_ID_PLAYER, Route101_Movement_1EBD94
waitmovement 0
releaseall
end
@@ -222,8 +222,8 @@ Route101_EventScript_1EBE16:: @ 81EBE16
setflag FLAG_0x052
fadescreen 1
removeobject 4
- setobjectxy 255, 6, 13
- applymovement 255, Route101_Movement_2725A4
+ setobjectxy EVENT_OBJ_ID_PLAYER, 6, 13
+ applymovement EVENT_OBJ_ID_PLAYER, Route101_Movement_2725A4
waitmovement 0
special ChooseStarter
waitstate
@@ -239,9 +239,9 @@ Route101_EventScript_1EBE16:: @ 81EBE16
clearflag FLAG_SPECIAL_FLAG_0x4000
checkplayergender
compare VAR_RESULT, 0
- call_if 1, Route101_EventScript_1EBE85
+ call_if_eq Route101_EventScript_1EBE85
compare VAR_RESULT, 1
- call_if 1, Route101_EventScript_1EBE89
+ call_if_eq Route101_EventScript_1EBE89
warp MAP_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB, 255, 6, 5
waitstate
release
diff --git a/data/maps/Route102/scripts.inc b/data/maps/Route102/scripts.inc
index 0a2ba36ba..ada20447a 100644
--- a/data/maps/Route102/scripts.inc
+++ b/data/maps/Route102/scripts.inc
@@ -21,11 +21,11 @@ Route102_EventScript_1EC105:: @ 81EC105
trainerbattle_single TRAINER_CALVIN_1, Route102_Text_294513, Route102_Text_29457C, Route102_EventScript_1EC146
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route102_EventScript_1EC19C
+ goto_if_eq Route102_EventScript_1EC19C
setvar VAR_0x8004, 318
specialvar VAR_RESULT, sub_813B4E0
compare VAR_RESULT, 0
- goto_eq Route102_EventScript_1EC170
+ goto_if_eq Route102_EventScript_1EC170
msgbox Route102_Text_2945AC, MSGBOX_DEFAULT
release
end
@@ -33,8 +33,7 @@ Route102_EventScript_1EC105:: @ 81EC105
Route102_EventScript_1EC146:: @ 81EC146
special sub_80B4808
waitmovement 0
- checkflag FLAG_HAS_MATCH_CALL
- goto_eq Route102_EventScript_1EC157
+ goto_if_set FLAG_HAS_MATCH_CALL, Route102_EventScript_1EC157
release
end
@@ -45,8 +44,7 @@ Route102_EventScript_1EC157:: @ 81EC157
end
Route102_EventScript_1EC170:: @ 81EC170
- checkflag FLAG_HAS_MATCH_CALL
- goto_eq Route102_EventScript_1EC183
+ goto_if_set FLAG_HAS_MATCH_CALL, Route102_EventScript_1EC183
msgbox Route102_Text_2945AC, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route103/scripts.inc b/data/maps/Route103/scripts.inc
index e79ddd041..6b793286e 100644
--- a/data/maps/Route103/scripts.inc
+++ b/data/maps/Route103/scripts.inc
@@ -9,8 +9,7 @@ Route103_MapScript1_1EC399: @ 81EC399
end
Route103_MapScript1_1EC3A4: @ 81EC3A4
- checkflag FLAG_SYS_GAME_CLEAR
- call_if 1, Route103_EventScript_1EC3AE
+ call_if_set FLAG_SYS_GAME_CLEAR, Route103_EventScript_1EC3AE
end
Route103_EventScript_1EC3AE:: @ 81EC3AE
@@ -22,9 +21,9 @@ Route103_EventScript_1EC3C1:: @ 81EC3C1
lockall
checkplayergender
compare VAR_RESULT, 0
- goto_eq Route103_EventScript_1EC3DA
+ goto_if_eq Route103_EventScript_1EC3DA
compare VAR_RESULT, 1
- goto_eq Route103_EventScript_1EC434
+ goto_if_eq Route103_EventScript_1EC434
end
Route103_EventScript_1EC3DA:: @ 81EC3DA
@@ -111,7 +110,7 @@ Route103_EventScript_1EC50A:: @ 81EC50A
end
Route103_EventScript_1EC53D:: @ 81EC53D
- applymovement 255, Route103_Movement_1EC5C8
+ applymovement EVENT_OBJ_ID_PLAYER, Route103_Movement_1EC5C8
applymovement 2, Route103_Movement_1EC5BE
waitmovement 0
playse SE_DANSA
@@ -121,7 +120,7 @@ Route103_EventScript_1EC53D:: @ 81EC53D
end
Route103_EventScript_1EC561:: @ 81EC561
- applymovement 255, Route103_Movement_1EC5D6
+ applymovement EVENT_OBJ_ID_PLAYER, Route103_Movement_1EC5D6
applymovement 2, Route103_Movement_1EC5CE
waitmovement 0
playse SE_DANSA
@@ -211,7 +210,7 @@ Route103_EventScript_1EC60B:: @ 81EC60B
trainerbattle_double TRAINER_AMY_AND_LIV_1, Route103_Text_2949F9, Route103_Text_294A3D, Route103_Text_294AAE, Route103_EventScript_1EC63A
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route103_EventScript_1EC653
+ goto_if_eq Route103_EventScript_1EC653
msgbox Route103_Text_294A52, MSGBOX_AUTOCLOSE
end
@@ -230,7 +229,7 @@ Route103_EventScript_1EC66E:: @ 81EC66E
trainerbattle_double TRAINER_AMY_AND_LIV_1, Route103_Text_294AFD, Route103_Text_294B22, Route103_Text_294BD0, Route103_EventScript_1EC69D
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route103_EventScript_1EC6B6
+ goto_if_eq Route103_EventScript_1EC6B6
msgbox Route103_Text_294B40, MSGBOX_AUTOCLOSE
end
@@ -254,7 +253,7 @@ Route103_EventScript_1EC6E8:: @ 81EC6E8
trainerbattle_single TRAINER_MIGUEL_1, Route103_Text_294EDF, Route103_Text_294F21, Route103_EventScript_1EC714
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route103_EventScript_1EC733
+ goto_if_eq Route103_EventScript_1EC733
msgbox Route103_Text_294F42, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route104/scripts.inc b/data/maps/Route104/scripts.inc
index 1d591793d..2dfb42d74 100644
--- a/data/maps/Route104/scripts.inc
+++ b/data/maps/Route104/scripts.inc
@@ -19,10 +19,8 @@ Route104_MapScript1_1ECC4E: @ 81ECC4E
end
Route104_EventScript_1ECC5E:: @ 81ECC5E
- checkflag FLAG_0x07F
- goto_if 0, Route104_EventScript_1ECC74
- checkflag FLAG_BADGE03_GET
- goto_if 0, Route104_EventScript_1ECC74
+ goto_if_unset FLAG_0x07F, Route104_EventScript_1ECC74
+ goto_if_unset FLAG_BADGE03_GET, Route104_EventScript_1ECC74
clearflag FLAG_HIDE_ROUTE_104_WHITE_HERB_FLORIST
return
@@ -32,11 +30,9 @@ Route104_EventScript_1ECC74:: @ 81ECC74
Route104_EventScript_1ECC78:: @ 81ECC78
compare VAR_0x408E, 1
- goto_if 4, Route104_EventScript_1ECC9D
- checkflag FLAG_0x120
- goto_eq Route104_EventScript_1ECC9D
- checkflag FLAG_0x07C
- goto_if 0, Route104_EventScript_1ECC9D
+ goto_if_ge Route104_EventScript_1ECC9D
+ goto_if_set FLAG_0x120, Route104_EventScript_1ECC9D
+ goto_if_unset FLAG_0x07C, Route104_EventScript_1ECC9D
setobjectxyperm 34, 17, 52
return
@@ -55,12 +51,12 @@ Route104_EventScript_1ECCB3:: @ 81ECCB3
setflag FLAG_HIDE_RUSBORO_CITY_RIVAL
setvar VAR_0x405A, 8
setvar VAR_0x4063, 2
- applymovement 255, Route104_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_2725A6
waitmovement 0
delay 10
addobject 34
clearflag FLAG_HIDE_ROUTE_104_RIVAL
- applymovement 255, Route104_Movement_1ECF86
+ applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ECF86
waitmovement 0
applymovement 34, Route104_Movement_1ECF8A
waitmovement 0
@@ -77,9 +73,9 @@ Route104_EventScript_1ECCB3:: @ 81ECCB3
Route104_EventScript_1ECD11:: @ 81ECD11
checkplayergender
compare VAR_RESULT, 0
- goto_eq Route104_EventScript_1ECD29
+ goto_if_eq Route104_EventScript_1ECD29
compare VAR_RESULT, 1
- goto_eq Route104_EventScript_1ECD2E
+ goto_if_eq Route104_EventScript_1ECD2E
return
Route104_EventScript_1ECD29:: @ 81ECD29
@@ -93,16 +89,14 @@ Route104_EventScript_1ECD2E:: @ 81ECD2E
Route104_EventScript_1ECD33:: @ 81ECD33
checkplayergender
compare VAR_RESULT, 0
- goto_eq Route104_EventScript_1ECD4B
+ goto_if_eq Route104_EventScript_1ECD4B
compare VAR_RESULT, 1
- goto_eq Route104_EventScript_1ECE6F
+ goto_if_eq Route104_EventScript_1ECE6F
end
Route104_EventScript_1ECD4B:: @ 81ECD4B
- checkflag FLAG_0x07D
- goto_eq Route104_EventScript_1ECE1C
- checkflag FLAG_0x07C
- goto_eq Route104_EventScript_1ECDD0
+ goto_if_set FLAG_0x07D, Route104_EventScript_1ECE1C
+ goto_if_set FLAG_0x07C, Route104_EventScript_1ECDD0
setflag FLAG_0x07C
msgbox Route104_Text_1EDBFF, MSGBOX_DEFAULT
closemessage
@@ -113,7 +107,7 @@ Route104_EventScript_1ECD4B:: @ 81ECD4B
closemessage
delay 30
setflag FLAG_0x0FD
- applymovement 255, Route104_Movement_1ECDCD
+ applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ECDCD
applymovement 34, Route104_Movement_1ECDC8
msgbox Route104_Text_1EDCB1, MSGBOX_DEFAULT
closemessage
@@ -123,7 +117,7 @@ Route104_EventScript_1ECD4B:: @ 81ECD4B
moveobjectoffscreen 34
msgbox Route104_Text_1EDCED, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq Route104_EventScript_1ECDED
+ goto_if_eq Route104_EventScript_1ECDED
msgbox Route104_Text_1EDD2A, MSGBOX_DEFAULT
call Route104_EventScript_1ECE31
releaseall
@@ -146,7 +140,7 @@ Route104_Movement_1ECDCD: @ 81ECDCD
Route104_EventScript_1ECDD0:: @ 81ECDD0
msgbox Route104_Text_1EDD9F, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq Route104_EventScript_1ECDED
+ goto_if_eq Route104_EventScript_1ECDED
msgbox Route104_Text_1EDD2A, MSGBOX_DEFAULT
releaseall
end
@@ -162,7 +156,7 @@ Route104_EventScript_1ECDED:: @ 81ECDED
Route104_EventScript_1ECE1C:: @ 81ECE1C
msgbox Route104_Text_1EDE3E, MSGBOX_DEFAULT
compare VAR_0x8008, 0
- call_if 1, Route104_EventScript_1ECE31
+ call_if_eq Route104_EventScript_1ECE31
releaseall
end
@@ -190,10 +184,8 @@ Route104_EventScript_1ECE5C:: @ 81ECE5C
end
Route104_EventScript_1ECE6F:: @ 81ECE6F
- checkflag FLAG_0x07D
- goto_eq Route104_EventScript_1ECF38
- checkflag FLAG_0x07C
- goto_eq Route104_EventScript_1ECEEC
+ goto_if_set FLAG_0x07D, Route104_EventScript_1ECF38
+ goto_if_set FLAG_0x07C, Route104_EventScript_1ECEEC
setflag FLAG_0x07C
msgbox Route104_Text_1EDF04, MSGBOX_DEFAULT
closemessage
@@ -204,7 +196,7 @@ Route104_EventScript_1ECE6F:: @ 81ECE6F
closemessage
delay 30
setflag FLAG_0x0FD
- applymovement 255, Route104_Movement_1ECDCD
+ applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ECDCD
applymovement 34, Route104_Movement_1ECDC8
msgbox Route104_Text_1EDFC6, MSGBOX_DEFAULT
closemessage
@@ -214,7 +206,7 @@ Route104_EventScript_1ECE6F:: @ 81ECE6F
moveobjectoffscreen 34
msgbox Route104_Text_1EE009, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq Route104_EventScript_1ECF09
+ goto_if_eq Route104_EventScript_1ECF09
msgbox Route104_Text_1EE04D, MSGBOX_DEFAULT
call Route104_EventScript_1ECE31
releaseall
@@ -223,7 +215,7 @@ Route104_EventScript_1ECE6F:: @ 81ECE6F
Route104_EventScript_1ECEEC:: @ 81ECEEC
msgbox Route104_Text_1EE094, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq Route104_EventScript_1ECF09
+ goto_if_eq Route104_EventScript_1ECF09
msgbox Route104_Text_1EE04D, MSGBOX_DEFAULT
releaseall
end
@@ -239,7 +231,7 @@ Route104_EventScript_1ECF09:: @ 81ECF09
Route104_EventScript_1ECF38:: @ 81ECF38
msgbox Route104_Text_1EE120, MSGBOX_DEFAULT
compare VAR_0x8008, 0
- call_if 1, Route104_EventScript_1ECE31
+ call_if_eq Route104_EventScript_1ECE31
releaseall
end
@@ -274,12 +266,11 @@ Route104_Movement_1ECF8A: @ 81ECF8A
Route104_EventScript_1ECF8C:: @ 81ECF8C
lock
faceplayer
- checkflag FLAG_0x0F6
- goto_eq Route104_EventScript_1ECFC3
+ goto_if_set FLAG_0x0F6, Route104_EventScript_1ECFC3
msgbox Route104_Text_2A6D86, MSGBOX_DEFAULT
giveitem_std ITEM_CHESTO_BERRY
compare VAR_RESULT, 0
- goto_eq Route104_EventScript_272054
+ goto_if_eq Route104_EventScript_272054
setflag FLAG_0x0F6
msgbox Route104_Text_2A6E32, MSGBOX_DEFAULT
release
@@ -293,12 +284,11 @@ Route104_EventScript_1ECFC3:: @ 81ECFC3
Route104_EventScript_1ECFCD:: @ 81ECFCD
lock
faceplayer
- checkflag FLAG_0x117
- goto_eq Route104_EventScript_1ECFFC
+ goto_if_set FLAG_0x117, Route104_EventScript_1ECFFC
msgbox Route104_Text_1ED96A, MSGBOX_DEFAULT
giveitem_std ITEM_WHITE_HERB
compare VAR_RESULT, 0
- goto_eq Route104_EventScript_272054
+ goto_if_eq Route104_EventScript_272054
setflag FLAG_0x117
release
end
@@ -347,12 +337,11 @@ Route104_EventScript_1ED04E:: @ 81ED04E
Route104_EventScript_1ED057:: @ 81ED057
lock
faceplayer
- checkflag FLAG_0x106
- goto_eq Route104_EventScript_1ED086
+ goto_if_set FLAG_0x106, Route104_EventScript_1ED086
msgbox Route104_Text_1ED838, MSGBOX_DEFAULT
giveitem_std ITEM_TM09
compare VAR_RESULT, 0
- goto_eq Route104_EventScript_272054
+ goto_if_eq Route104_EventScript_272054
setflag FLAG_0x106
release
end
@@ -368,29 +357,27 @@ Route104_EventScript_1ED090:: @ 81ED090
Route104_EventScript_1ED099:: @ 81ED099
setobjectpriority 8, MAP_ROUTE104, 0
- setobjectpriority 255, MAP_ROUTE104, 0
+ setobjectpriority EVENT_OBJ_ID_PLAYER, MAP_ROUTE104, 0
applymovement 8, Route104_Movement_1ED359
waitmovement 0
removeobject 8
- applymovement 255, Route104_Movement_1ED34F
+ applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ED34F
waitmovement 0
- hideobjectat 255, MAP_ROUTE104
+ hideobjectat EVENT_OBJ_ID_PLAYER, MAP_ROUTE104
call Route104_EventScript_2720A0
- checkflag FLAG_0x132
- goto_eq Route104_EventScript_1ED0D9
- checkflag FLAG_0x132
- goto_if 0, Route104_EventScript_1ED0EF
+ goto_if_set FLAG_0x132, Route104_EventScript_1ED0D9
+ goto_if_unset FLAG_0x132, Route104_EventScript_1ED0EF
end
Route104_EventScript_1ED0D9:: @ 81ED0D9
applymovement 7, Route104_Movement_1ED28C
- applymovement 255, Route104_Movement_1ED28C
+ applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ED28C
waitmovement 0
goto Route104_EventScript_1ED139
Route104_EventScript_1ED0EF:: @ 81ED0EF
applymovement 7, Route104_Movement_1ED1C8
- applymovement 255, Route104_Movement_1ED1C8
+ applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ED1C8
waitmovement 0
pokenavcall Route104_Text_1EE336
waitmessage
@@ -401,7 +388,7 @@ Route104_EventScript_1ED0EF:: @ 81ED0EF
closemessage
delay 30
setflag FLAG_0x132
- applymovement 255, Route104_Movement_1ED22A
+ applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ED22A
applymovement 7, Route104_Movement_1ED22A, MAP_ROUTE104
waitmovement 7, MAP_ROUTE104
waitmovement 0
@@ -409,11 +396,11 @@ Route104_EventScript_1ED0EF:: @ 81ED0EF
Route104_EventScript_1ED139:: @ 81ED139
delay 50
- applymovement 255, Route104_Movement_1ED353
+ applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ED353
waitmovement 0
call Route104_EventScript_2720A8
- showobjectat 255, MAP_DEWFORD_TOWN
- applymovement 255, Route104_Movement_1ED355
+ showobjectat EVENT_OBJ_ID_PLAYER, MAP_DEWFORD_TOWN
+ applymovement EVENT_OBJ_ID_PLAYER, Route104_Movement_1ED355
waitmovement 0
setobjectxyperm 2, 12, 8
addobject 2
@@ -427,14 +414,12 @@ Route104_EventScript_1ED139:: @ 81ED139
setflag FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT
hideobjectat 7, MAP_ROUTE104
copyvar VAR_0x4096, VAR_0x8008
- resetobjectpriority 255, MAP_ROUTE104
+ resetobjectpriority EVENT_OBJ_ID_PLAYER, MAP_ROUTE104
resetobjectpriority 2, MAP_DEWFORD_TOWN
moveobjectoffscreen 2
setvar VAR_0x408E, 0
- checkflag FLAG_0x0BD
- goto_if 0, Route104_EventScript_1ED1B4
- checkflag FLAG_0x0BD
- goto_eq Route104_EventScript_1ED1BE
+ goto_if_unset FLAG_0x0BD, Route104_EventScript_1ED1B4
+ goto_if_set FLAG_0x0BD, Route104_EventScript_1ED1BE
end
Route104_EventScript_1ED1B4:: @ 81ED1B4
@@ -884,11 +869,11 @@ Route104_EventScript_1ED38D:: @ 81ED38D
trainerbattle_single TRAINER_HALEY_1, Route104_Text_29563A, Route104_Text_29566F, Route104_EventScript_1ED3CE
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route104_EventScript_1ED424
+ goto_if_eq Route104_EventScript_1ED424
setvar VAR_0x8004, 604
specialvar VAR_RESULT, sub_813B4E0
compare VAR_RESULT, 0
- goto_eq Route104_EventScript_1ED3F8
+ goto_if_eq Route104_EventScript_1ED3F8
msgbox Route104_Text_295689, MSGBOX_DEFAULT
release
end
@@ -896,8 +881,7 @@ Route104_EventScript_1ED38D:: @ 81ED38D
Route104_EventScript_1ED3CE:: @ 81ED3CE
special sub_80B4808
waitmovement 0
- checkflag FLAG_HAS_MATCH_CALL
- goto_eq Route104_EventScript_1ED3DF
+ goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_1ED3DF
release
end
@@ -908,8 +892,7 @@ Route104_EventScript_1ED3DF:: @ 81ED3DF
end
Route104_EventScript_1ED3F8:: @ 81ED3F8
- checkflag FLAG_HAS_MATCH_CALL
- goto_eq Route104_EventScript_1ED40B
+ goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_1ED40B
msgbox Route104_Text_295689, MSGBOX_DEFAULT
release
end
@@ -929,11 +912,11 @@ Route104_EventScript_1ED43B:: @ 81ED43B
trainerbattle_single TRAINER_WINSTON_1, Route104_Text_295870, Route104_Text_2958AD, Route104_EventScript_1ED47C
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route104_EventScript_1ED4D2
+ goto_if_eq Route104_EventScript_1ED4D2
setvar VAR_0x8004, 136
specialvar VAR_RESULT, sub_813B4E0
compare VAR_RESULT, 0
- goto_eq Route104_EventScript_1ED4A6
+ goto_if_eq Route104_EventScript_1ED4A6
msgbox Route104_Text_2958C1, MSGBOX_DEFAULT
release
end
@@ -941,8 +924,7 @@ Route104_EventScript_1ED43B:: @ 81ED43B
Route104_EventScript_1ED47C:: @ 81ED47C
special sub_80B4808
waitmovement 0
- checkflag FLAG_HAS_MATCH_CALL
- goto_eq Route104_EventScript_1ED48D
+ goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_1ED48D
release
end
@@ -953,8 +935,7 @@ Route104_EventScript_1ED48D:: @ 81ED48D
end
Route104_EventScript_1ED4A6:: @ 81ED4A6
- checkflag FLAG_HAS_MATCH_CALL
- goto_eq Route104_EventScript_1ED4B9
+ goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_1ED4B9
msgbox Route104_Text_2958C1, MSGBOX_DEFAULT
release
end
@@ -974,11 +955,11 @@ Route104_EventScript_1ED4E9:: @ 81ED4E9
trainerbattle_single TRAINER_CINDY_1, Route104_Text_295A7E, Route104_Text_295ABB, Route104_EventScript_1ED52A
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route104_EventScript_1ED580
+ goto_if_eq Route104_EventScript_1ED580
setvar VAR_0x8004, 114
specialvar VAR_RESULT, sub_813B4E0
compare VAR_RESULT, 0
- goto_eq Route104_EventScript_1ED554
+ goto_if_eq Route104_EventScript_1ED554
msgbox Route104_Text_295AC3, MSGBOX_DEFAULT
release
end
@@ -986,8 +967,7 @@ Route104_EventScript_1ED4E9:: @ 81ED4E9
Route104_EventScript_1ED52A:: @ 81ED52A
special sub_80B4808
waitmovement 0
- checkflag FLAG_HAS_MATCH_CALL
- goto_eq Route104_EventScript_1ED53B
+ goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_1ED53B
release
end
@@ -998,8 +978,7 @@ Route104_EventScript_1ED53B:: @ 81ED53B
end
Route104_EventScript_1ED554:: @ 81ED554
- checkflag FLAG_HAS_MATCH_CALL
- goto_eq Route104_EventScript_1ED567
+ goto_if_set FLAG_HAS_MATCH_CALL, Route104_EventScript_1ED567
msgbox Route104_Text_295AC3, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route104_MrBrineysHouse/scripts.inc b/data/maps/Route104_MrBrineysHouse/scripts.inc
index e8fc402c5..90298a924 100644
--- a/data/maps/Route104_MrBrineysHouse/scripts.inc
+++ b/data/maps/Route104_MrBrineysHouse/scripts.inc
@@ -5,9 +5,8 @@ Route104_MrBrineysHouse_MapScripts:: @ 8229D2E
Route104_MrBrineysHouse_MapScript1_229D34: @ 8229D34
setflag FLAG_LANDMARK_MR_BRINEY_HOUSE
compare VAR_0x4090, 1
- call_if 1, Route104_MrBrineysHouse_EventScript_229D50
- checkflag FLAG_0x0BC
- call_if 1, Route104_MrBrineysHouse_EventScript_229D4C
+ call_if_eq Route104_MrBrineysHouse_EventScript_229D50
+ call_if_set FLAG_0x0BC, Route104_MrBrineysHouse_EventScript_229D4C
end
Route104_MrBrineysHouse_EventScript_229D4C:: @ 8229D4C
@@ -24,12 +23,9 @@ Route104_MrBrineysHouse_EventScript_229D50:: @ 8229D50
Route104_MrBrineysHouse_EventScript_229D67:: @ 8229D67
lock
faceplayer
- checkflag FLAG_0x093
- call_if 0, Route104_MrBrineysHouse_EventScript_229D8A
- checkflag FLAG_0x0BD
- goto_if 0, Route104_MrBrineysHouse_EventScript_229DE1
- checkflag FLAG_0x095
- goto_if 0, Route104_MrBrineysHouse_EventScript_229DFA
+ call_if_unset FLAG_0x093, Route104_MrBrineysHouse_EventScript_229D8A
+ goto_if_unset FLAG_0x0BD, Route104_MrBrineysHouse_EventScript_229DE1
+ goto_if_unset FLAG_0x095, Route104_MrBrineysHouse_EventScript_229DFA
goto Route104_MrBrineysHouse_EventScript_229DAE
end
@@ -38,7 +34,7 @@ Route104_MrBrineysHouse_EventScript_229D8A:: @ 8229D8A
msgbox Route104_MrBrineysHouse_Text_229E70, MSGBOX_DEFAULT
msgbox Route104_MrBrineysHouse_Text_229E9B, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq Route104_MrBrineysHouse_EventScript_229E13
+ goto_if_eq Route104_MrBrineysHouse_EventScript_229E13
goto Route104_MrBrineysHouse_EventScript_229E27
end
@@ -55,14 +51,14 @@ Route104_MrBrineysHouse_EventScript_229DAE:: @ 8229DAE
Route104_MrBrineysHouse_EventScript_229DE1:: @ 8229DE1
msgbox Route104_MrBrineysHouse_Text_22A0AD, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq Route104_MrBrineysHouse_EventScript_229E13
+ goto_if_eq Route104_MrBrineysHouse_EventScript_229E13
goto Route104_MrBrineysHouse_EventScript_229E27
end
Route104_MrBrineysHouse_EventScript_229DFA:: @ 8229DFA
msgbox Route104_MrBrineysHouse_Text_22A18F, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq Route104_MrBrineysHouse_EventScript_229E13
+ goto_if_eq Route104_MrBrineysHouse_EventScript_229E13
goto Route104_MrBrineysHouse_EventScript_229E27
end
diff --git a/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc b/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc
index 08b5b7389..fc0acf329 100644
--- a/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc
+++ b/data/maps/Route104_PrettyPetalFlowerShop/scripts.inc
@@ -4,10 +4,8 @@ Route104_PrettyPetalFlowerShop_MapScripts:: @ 822A34C
Route104_PrettyPetalFlowerShop_MapScript1_22A352: @ 822A352
setflag FLAG_LANDMARK_FLOWER_SHOP
- checkflag FLAG_0x07F
- goto_if 0, Route104_PrettyPetalFlowerShop_EventScript_22A36B
- checkflag FLAG_BADGE03_GET
- goto_if 0, Route104_PrettyPetalFlowerShop_EventScript_22A36B
+ goto_if_unset FLAG_0x07F, Route104_PrettyPetalFlowerShop_EventScript_22A36B
+ goto_if_unset FLAG_BADGE03_GET, Route104_PrettyPetalFlowerShop_EventScript_22A36B
setflag FLAG_TEMP_1
end
@@ -18,26 +16,24 @@ Route104_PrettyPetalFlowerShop_EventScript_22A36B:: @ 822A36B
Route104_PrettyPetalFlowerShop_EventScript_22A373:: @ 822A373
lock
faceplayer
- checkflag FLAG_TEMP_1
- goto_eq Route104_PrettyPetalFlowerShop_EventScript_22A3E4
+ goto_if_set FLAG_TEMP_1, Route104_PrettyPetalFlowerShop_EventScript_22A3E4
msgbox Route104_PrettyPetalFlowerShop_Text_2A7686, MSGBOX_DEFAULT
- checkflag FLAG_0x07F
- goto_eq Route104_PrettyPetalFlowerShop_EventScript_22A3B2
+ goto_if_set FLAG_0x07F, Route104_PrettyPetalFlowerShop_EventScript_22A3B2
setflag FLAG_0x07F
msgbox Route104_PrettyPetalFlowerShop_Text_2A7706, MSGBOX_YESNO
compare VAR_RESULT, 1
- call_if 1, Route104_PrettyPetalFlowerShop_EventScript_22A3D2
+ call_if_eq Route104_PrettyPetalFlowerShop_EventScript_22A3D2
compare VAR_RESULT, 0
- call_if 1, Route104_PrettyPetalFlowerShop_EventScript_22A3DB
+ call_if_eq Route104_PrettyPetalFlowerShop_EventScript_22A3DB
release
end
Route104_PrettyPetalFlowerShop_EventScript_22A3B2:: @ 822A3B2
msgbox Route104_PrettyPetalFlowerShop_Text_2A76D9, MSGBOX_YESNO
compare VAR_RESULT, 1
- call_if 1, Route104_PrettyPetalFlowerShop_EventScript_22A3D2
+ call_if_eq Route104_PrettyPetalFlowerShop_EventScript_22A3D2
compare VAR_RESULT, 0
- call_if 1, Route104_PrettyPetalFlowerShop_EventScript_22A3DB
+ call_if_eq Route104_PrettyPetalFlowerShop_EventScript_22A3DB
release
end
@@ -72,8 +68,7 @@ Route104_PrettyPetalFlowerShop_Pokemart_22A3FC: @ 822A3FC
Route104_PrettyPetalFlowerShop_EventScript_22A40C:: @ 822A40C
lock
faceplayer
- checkflag FLAG_0x05E
- goto_if 0, Route104_PrettyPetalFlowerShop_EventScript_22A421
+ goto_if_unset FLAG_0x05E, Route104_PrettyPetalFlowerShop_EventScript_22A421
msgbox Route104_PrettyPetalFlowerShop_Text_2A79A6, MSGBOX_DEFAULT
release
end
@@ -90,14 +85,13 @@ Route104_PrettyPetalFlowerShop_EventScript_22A442:: @ 822A442
lock
faceplayer
dodailyevents
- checkflag FLAG_0x930
- goto_eq Route104_PrettyPetalFlowerShop_EventScript_22A482
+ goto_if_set FLAG_0x930, Route104_PrettyPetalFlowerShop_EventScript_22A482
msgbox Route104_PrettyPetalFlowerShop_Text_2A7A98, MSGBOX_DEFAULT
random 8
addvar VAR_RESULT, 133
giveitem_std VAR_RESULT
compare VAR_RESULT, 0
- goto_eq Route104_PrettyPetalFlowerShop_EventScript_272054
+ goto_if_eq Route104_PrettyPetalFlowerShop_EventScript_272054
setflag FLAG_0x930
msgbox Route104_PrettyPetalFlowerShop_Text_2A7AF3, MSGBOX_DEFAULT
release
diff --git a/data/maps/Route105/scripts.inc b/data/maps/Route105/scripts.inc
index 617e84350..adb8c4f8e 100644
--- a/data/maps/Route105/scripts.inc
+++ b/data/maps/Route105/scripts.inc
@@ -5,12 +5,11 @@ Route105_MapScripts:: @ 81EE1DB
.byte 0
Route105_MapScript1_1EE1EB: @ 81EE1EB
- checkflag FLAG_0x0E4
- call_if 0, Route105_EventScript_1EE20B
+ call_if_unset FLAG_0x0E4, Route105_EventScript_1EE20B
compare VAR_0x4037, 9
- call_if 1, Route105_EventScript_2739AB
+ call_if_eq Route105_EventScript_2739AB
compare VAR_0x4037, 10
- call_if 1, Route105_EventScript_273A18
+ call_if_eq Route105_EventScript_273A18
end
Route105_EventScript_1EE20B:: @ 81EE20B
@@ -20,11 +19,11 @@ Route105_EventScript_1EE20B:: @ 81EE20B
Route105_MapScript1_1EE21E: @ 81EE21E
compare VAR_0x4039, 1
- call_if 1, Route105_EventScript_273D13
+ call_if_eq Route105_EventScript_273D13
compare VAR_0x4037, 9
- call_if 1, Route105_EventScript_273D17
+ call_if_eq Route105_EventScript_273D17
compare VAR_0x4037, 10
- call_if 1, Route105_EventScript_273D17
+ call_if_eq Route105_EventScript_273D17
end
Route105_MapScript2_1EE240: @ 81EE240
@@ -65,7 +64,7 @@ Route105_EventScript_1EE2D4:: @ 81EE2D4
trainerbattle_single TRAINER_ANDRES_1, Route105_Text_2960A9, Route105_Text_2960DB, Route105_EventScript_1EE300
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route105_EventScript_1EE31F
+ goto_if_eq Route105_EventScript_1EE31F
msgbox Route105_Text_2960FA, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route106/scripts.inc b/data/maps/Route106/scripts.inc
index 533f65254..f27ce9647 100644
--- a/data/maps/Route106/scripts.inc
+++ b/data/maps/Route106/scripts.inc
@@ -19,7 +19,7 @@ Route106_EventScript_1EE4C1:: @ 81EE4C1
trainerbattle_single TRAINER_ELLIOT_1, Route106_Text_296327, Route106_Text_29635C, Route106_EventScript_1EE4ED
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route106_EventScript_1EE50C
+ goto_if_eq Route106_EventScript_1EE50C
msgbox Route106_Text_29638C, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route107/scripts.inc b/data/maps/Route107/scripts.inc
index 5f840b3fb..90f67a639 100644
--- a/data/maps/Route107/scripts.inc
+++ b/data/maps/Route107/scripts.inc
@@ -10,7 +10,7 @@ Route107_EventScript_1EE5AC:: @ 81EE5AC
trainerbattle_single TRAINER_TONY_1, Route107_Text_2967AD, Route107_Text_2967D8, Route107_EventScript_1EE5D8
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route107_EventScript_1EE5F7
+ goto_if_eq Route107_EventScript_1EE5F7
msgbox Route107_Text_2967FF, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route108/scripts.inc b/data/maps/Route108/scripts.inc
index 73ddb031d..15a657a20 100644
--- a/data/maps/Route108/scripts.inc
+++ b/data/maps/Route108/scripts.inc
@@ -30,7 +30,7 @@ Route108_EventScript_1EE6FD:: @ 81EE6FD
trainerbattle_single TRAINER_CORY_1, Route108_Text_296F5D, Route108_Text_296F93, Route108_EventScript_1EE729
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route108_EventScript_1EE748
+ goto_if_eq Route108_EventScript_1EE748
msgbox Route108_Text_296FB0, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route109/scripts.inc b/data/maps/Route109/scripts.inc
index 52f6437ae..2e588f813 100644
--- a/data/maps/Route109/scripts.inc
+++ b/data/maps/Route109/scripts.inc
@@ -4,7 +4,7 @@ Route109_MapScripts:: @ 81EE75F
Route109_EventScript_1EE760:: @ 81EE760
call Route109_EventScript_271E95
setobjectpriority 2, MAP_ROUTE109, 0
- setobjectpriority 255, MAP_ROUTE109, 0
+ setobjectpriority EVENT_OBJ_ID_PLAYER, MAP_ROUTE109, 0
applymovement 2, Route109_Movement_1EE90B
waitmovement 0
removeobject 2
@@ -15,33 +15,33 @@ Route109_EventScript_1EE760:: @ 81EE760
end
Route109_EventScript_1EE7A5:: @ 81EE7A5
- applymovement 255, Route109_Movement_1EE8FD
+ applymovement EVENT_OBJ_ID_PLAYER, Route109_Movement_1EE8FD
waitmovement 0
goto Route109_EventScript_1EE7D5
end
Route109_EventScript_1EE7B5:: @ 81EE7B5
- applymovement 255, Route109_Movement_1EE905
+ applymovement EVENT_OBJ_ID_PLAYER, Route109_Movement_1EE905
waitmovement 0
goto Route109_EventScript_1EE7D5
end
Route109_EventScript_1EE7C5:: @ 81EE7C5
- applymovement 255, Route109_Movement_1EE908
+ applymovement EVENT_OBJ_ID_PLAYER, Route109_Movement_1EE908
waitmovement 0
goto Route109_EventScript_1EE7D5
end
Route109_EventScript_1EE7D5:: @ 81EE7D5
- hideobjectat 255, MAP_ROUTE109
+ hideobjectat EVENT_OBJ_ID_PLAYER, MAP_ROUTE109
call Route109_EventScript_2720A0
applymovement 1, Route109_Movement_1EE84F
- applymovement 255, Route109_Movement_1EE84F
+ applymovement EVENT_OBJ_ID_PLAYER, Route109_Movement_1EE84F
waitmovement 0
delay 50
call Route109_EventScript_2720A8
- showobjectat 255, MAP_DEWFORD_TOWN
- applymovement 255, Route109_Movement_1EE900
+ showobjectat EVENT_OBJ_ID_PLAYER, MAP_DEWFORD_TOWN
+ applymovement EVENT_OBJ_ID_PLAYER, Route109_Movement_1EE900
waitmovement 0
addobject 4
clearflag FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN
@@ -56,7 +56,7 @@ Route109_EventScript_1EE7D5:: @ 81EE7D5
msgbox Route109_Text_1E9C1D, MSGBOX_DEFAULT
closemessage
copyvar VAR_0x4096, VAR_0x8008
- resetobjectpriority 255, MAP_ROUTE109
+ resetobjectpriority EVENT_OBJ_ID_PLAYER, MAP_ROUTE109
resetobjectpriority 2, MAP_DEWFORD_TOWN
moveobjectoffscreen 2
release
@@ -272,8 +272,7 @@ Route109_Movement_1EE90D: @ 81EE90D
Route109_EventScript_1EE910:: @ 81EE910
lock
faceplayer
- checkflag FLAG_0x095
- goto_if 0, Route109_EventScript_1EE921
+ goto_if_unset FLAG_0x095, Route109_EventScript_1EE921
goto Route109_EventScript_1EE93F
end
@@ -281,7 +280,7 @@ Route109_EventScript_1EE921:: @ 81EE921
message Route109_Text_1EEC96
msgbox Route109_Text_1EEC96, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq Route109_EventScript_1EE981
+ goto_if_eq Route109_EventScript_1EE981
goto Route109_EventScript_1EE972
end
@@ -329,12 +328,11 @@ Route109_EventScript_1EE9B5:: @ 81EE9B5
lock
faceplayer
special GetPlayerBigGuyGirlString
- checkflag FLAG_0x118
- goto_eq Route109_EventScript_1EE9F2
+ goto_if_set FLAG_0x118, Route109_EventScript_1EE9F2
msgbox Route109_Text_1EEFDE, MSGBOX_DEFAULT
giveitem_std ITEM_SOFT_SAND
compare VAR_RESULT, 0
- goto_eq Route109_EventScript_272054
+ goto_if_eq Route109_EventScript_272054
closemessage
applymovement VAR_LAST_TALKED, Route109_Movement_2725A2
waitmovement 0
@@ -399,7 +397,7 @@ Route109_EventScript_1EEA99:: @ 81EEA99
trainerbattle_single TRAINER_RICKY_1, Route109_Text_29733B, Route109_Text_297379, Route109_EventScript_1EEAC5
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route109_EventScript_1EEAE4
+ goto_if_eq Route109_EventScript_1EEAE4
msgbox Route109_Text_297380, MSGBOX_DEFAULT
release
end
@@ -421,7 +419,7 @@ Route109_EventScript_1EEAFB:: @ 81EEAFB
trainerbattle_single TRAINER_LOLA_1, Route109_Text_29749C, Route109_Text_2974CF, Route109_EventScript_1EEB27
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route109_EventScript_1EEB46
+ goto_if_eq Route109_EventScript_1EEB46
msgbox Route109_Text_2974D6, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route109_SeashoreHouse/scripts.inc b/data/maps/Route109_SeashoreHouse/scripts.inc
index fd0b224bc..3056159cd 100644
--- a/data/maps/Route109_SeashoreHouse/scripts.inc
+++ b/data/maps/Route109_SeashoreHouse/scripts.inc
@@ -9,12 +9,9 @@ Route109_SeashoreHouse_MapScript1_2693FA: @ 82693FA
Route109_SeashoreHouse_EventScript_2693FE:: @ 82693FE
lock
faceplayer
- checkflag FLAG_0x08C
- goto_eq Route109_SeashoreHouse_EventScript_269460
- checkflag FLAG_0x08D
- goto_eq Route109_SeashoreHouse_EventScript_269432
- checkflag FLAG_TEMP_2
- goto_eq Route109_SeashoreHouse_EventScript_269428
+ goto_if_set FLAG_0x08C, Route109_SeashoreHouse_EventScript_269460
+ goto_if_set FLAG_0x08D, Route109_SeashoreHouse_EventScript_269432
+ goto_if_set FLAG_TEMP_2, Route109_SeashoreHouse_EventScript_269428
msgbox Route109_SeashoreHouse_Text_269555, MSGBOX_DEFAULT
setflag FLAG_TEMP_2
release
@@ -29,7 +26,7 @@ Route109_SeashoreHouse_EventScript_269432:: @ 8269432
msgbox Route109_SeashoreHouse_Text_269685, MSGBOX_DEFAULT
giveitem_std ITEM_SODA_POP, 6
compare VAR_RESULT, 0
- goto_eq Route109_SeashoreHouse_EventScript_269456
+ goto_if_eq Route109_SeashoreHouse_EventScript_269456
setflag FLAG_0x08C
release
end
@@ -43,7 +40,7 @@ Route109_SeashoreHouse_EventScript_269460:: @ 8269460
showmoneybox 0, 0, 0
msgbox Route109_SeashoreHouse_Text_26977E, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq Route109_SeashoreHouse_EventScript_269484
+ goto_if_eq Route109_SeashoreHouse_EventScript_269484
msgbox Route109_SeashoreHouse_Text_2697EF, MSGBOX_DEFAULT
hidemoneybox
nop
@@ -54,10 +51,10 @@ Route109_SeashoreHouse_EventScript_269460:: @ 8269460
Route109_SeashoreHouse_EventScript_269484:: @ 8269484
checkmoney 0x12c, 0
compare VAR_RESULT, 0
- goto_eq Route109_SeashoreHouse_EventScript_2694C8
+ goto_if_eq Route109_SeashoreHouse_EventScript_2694C8
checkitemspace ITEM_SODA_POP, 1
compare VAR_RESULT, 0
- goto_eq Route109_SeashoreHouse_EventScript_2694D5
+ goto_if_eq Route109_SeashoreHouse_EventScript_2694D5
msgbox Route109_SeashoreHouse_Text_2697C8, MSGBOX_DEFAULT
takemoney 0x12c, 0
updatemoneybox 0, 0
@@ -102,11 +99,11 @@ Route109_SeashoreHouse_EventScript_269518:: @ 8269518
Route109_SeashoreHouse_EventScript_269533:: @ 8269533
checktrainerflag TRAINER_DWAYNE
- goto_if 0, Route109_SeashoreHouse_EventScript_269553
+ goto_if_lt Route109_SeashoreHouse_EventScript_269553
checktrainerflag TRAINER_JOHANNA
- goto_if 0, Route109_SeashoreHouse_EventScript_269553
+ goto_if_lt Route109_SeashoreHouse_EventScript_269553
checktrainerflag TRAINER_SIMON
- goto_if 0, Route109_SeashoreHouse_EventScript_269553
+ goto_if_lt Route109_SeashoreHouse_EventScript_269553
setflag FLAG_0x08D
release
end
diff --git a/data/maps/Route110/scripts.inc b/data/maps/Route110/scripts.inc
index c5d53b5b4..ba7bced21 100644
--- a/data/maps/Route110/scripts.inc
+++ b/data/maps/Route110/scripts.inc
@@ -12,7 +12,7 @@ Route110_MapScript1_1EF27D: @ 81EF27D
call Route110_EventScript_271ED7
call Route110_EventScript_271EFB
compare VAR_CYCLING_CHALLENGE_STATE, 1
- call_if 1, Route110_EventScript_1EF293
+ call_if_eq Route110_EventScript_1EF293
end
Route110_EventScript_1EF293:: @ 81EF293
@@ -132,7 +132,7 @@ Route110_EventScript_1EF392:: @ 81EF392
lockall
specialvar VAR_RESULT, GetRecordedCyclingRoadResults
compare VAR_RESULT, 0
- goto_eq Route110_EventScript_1EF3AD
+ goto_if_eq Route110_EventScript_1EF3AD
msgbox Route110_Text_1F0A1E, MSGBOX_DEFAULT
releaseall
end
@@ -147,9 +147,9 @@ Route110_EventScript_1EF3B7:: @ 81EF3B7
faceplayer
specialvar VAR_RESULT, GetPlayerAvatarBike
compare VAR_RESULT, 1
- goto_eq Route110_EventScript_1EF3E8
+ goto_if_eq Route110_EventScript_1EF3E8
compare VAR_CYCLING_CHALLENGE_STATE, 0
- goto_eq Route110_EventScript_1EF3DE
+ goto_if_eq Route110_EventScript_1EF3DE
msgbox Route110_Text_1F06FB, MSGBOX_DEFAULT
release
end
@@ -178,7 +178,7 @@ Route110_EventScript_1EF420:: @ 81EF420
trainerbattle_single TRAINER_EDWIN_1, Route110_Text_29815E, Route110_Text_29818F, Route110_EventScript_1EF44C
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route110_EventScript_1EF46B
+ goto_if_eq Route110_EventScript_1EF46B
msgbox Route110_Text_2981B3, MSGBOX_DEFAULT
release
end
@@ -215,7 +215,7 @@ Route110_EventScript_1EF4C7:: @ 81EF4C7
trainerbattle_single TRAINER_BENJAMIN_1, Route110_Text_297C63, Route110_Text_297C8A, Route110_EventScript_1EF4F3
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route110_EventScript_1EF512
+ goto_if_eq Route110_EventScript_1EF512
msgbox Route110_Text_297CB4, MSGBOX_DEFAULT
release
end
@@ -242,7 +242,7 @@ Route110_EventScript_1EF540:: @ 81EF540
trainerbattle_single TRAINER_ABIGAIL_1, Route110_Text_297DFA, Route110_Text_297E69, Route110_EventScript_1EF56C
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route110_EventScript_1EF58B
+ goto_if_eq Route110_EventScript_1EF58B
msgbox Route110_Text_297E88, MSGBOX_DEFAULT
release
end
@@ -264,7 +264,7 @@ Route110_EventScript_1EF5A2:: @ 81EF5A2
trainerbattle_single TRAINER_ISABEL_1, Route110_Text_298349, Route110_Text_298389, Route110_EventScript_1EF5CE
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route110_EventScript_1EF5ED
+ goto_if_eq Route110_EventScript_1EF5ED
msgbox Route110_Text_2983A2, MSGBOX_DEFAULT
release
end
@@ -380,9 +380,9 @@ Route110_EventScript_1EF76E:: @ 81EF76E
lockall
checkplayergender
compare VAR_RESULT, 0
- call_if 1, Route110_EventScript_1EF7E1
+ call_if_eq Route110_EventScript_1EF7E1
compare VAR_RESULT, 1
- call_if 1, Route110_EventScript_1EF7E6
+ call_if_eq Route110_EventScript_1EF7E6
applymovement 28, Route110_Movement_2725AA
waitmovement 0
applymovement 28, Route110_Movement_272598
@@ -391,16 +391,16 @@ Route110_EventScript_1EF76E:: @ 81EF76E
waitmovement 0
delay 30
compare VAR_0x8008, 1
- call_if 1, Route110_EventScript_1EF94E
+ call_if_eq Route110_EventScript_1EF94E
compare VAR_0x8008, 2
- call_if 1, Route110_EventScript_1EF959
+ call_if_eq Route110_EventScript_1EF959
compare VAR_0x8008, 3
- call_if 1, Route110_EventScript_1EF964
+ call_if_eq Route110_EventScript_1EF964
checkplayergender
compare VAR_RESULT, 0
- goto_eq Route110_EventScript_1EF7EB
+ goto_if_eq Route110_EventScript_1EF7EB
compare VAR_RESULT, 1
- goto_eq Route110_EventScript_1EF865
+ goto_if_eq Route110_EventScript_1EF865
releaseall
end
@@ -479,22 +479,22 @@ Route110_EventScript_1EF8DF:: @ 81EF8DF
Route110_EventScript_1EF8EC:: @ 81EF8EC
closemessage
compare VAR_0x8008, 1
- call_if 1, Route110_EventScript_1EF990
+ call_if_eq Route110_EventScript_1EF990
compare VAR_0x8008, 2
- call_if 1, Route110_EventScript_1EF998
+ call_if_eq Route110_EventScript_1EF998
compare VAR_0x8008, 3
- call_if 1, Route110_EventScript_1EF9A0
+ call_if_eq Route110_EventScript_1EF9A0
setobjectmovementtype 28, 10
setobjectmovementtype 29, 10
removeobject 28
addobject 29
delay 45
compare VAR_0x8008, 1
- call_if 1, Route110_EventScript_1EF96F
+ call_if_eq Route110_EventScript_1EF96F
compare VAR_0x8008, 2
- call_if 1, Route110_EventScript_1EF97A
+ call_if_eq Route110_EventScript_1EF97A
compare VAR_0x8008, 3
- call_if 1, Route110_EventScript_1EF985
+ call_if_eq Route110_EventScript_1EF985
removeobject 29
setvar VAR_0x4069, 1
savebgm MUS_DUMMY
@@ -621,13 +621,13 @@ Route110_EventScript_1EF9F7:: @ 81EF9F7
applymovement 36, Route110_Movement_27259A
waitmovement 0
compare VAR_0x8008, 1
- call_if 1, Route110_EventScript_1EFAD8
+ call_if_eq Route110_EventScript_1EFAD8
compare VAR_0x8008, 2
- call_if 1, Route110_EventScript_1EFAE3
+ call_if_eq Route110_EventScript_1EFAE3
compare VAR_0x8008, 3
- call_if 1, Route110_EventScript_1EFAEE
+ call_if_eq Route110_EventScript_1EFAEE
compare VAR_0x8008, 4
- call_if 1, Route110_EventScript_1EFAF9
+ call_if_eq Route110_EventScript_1EFAF9
msgbox Route110_Text_1F0AB5, MSGBOX_DEFAULT
closemessage
delay 20
@@ -652,13 +652,13 @@ Route110_EventScript_1EF9F7:: @ 81EF9F7
msgbox Route110_Text_1F0C33, MSGBOX_DEFAULT
closemessage
compare VAR_0x8008, 1
- call_if 1, Route110_EventScript_1EFB04
+ call_if_eq Route110_EventScript_1EFB04
compare VAR_0x8008, 2
- call_if 1, Route110_EventScript_1EFB0F
+ call_if_eq Route110_EventScript_1EFB0F
compare VAR_0x8008, 3
- call_if 1, Route110_EventScript_1EFB1A
+ call_if_eq Route110_EventScript_1EFB1A
compare VAR_0x8008, 4
- call_if 1, Route110_EventScript_1EFB25
+ call_if_eq Route110_EventScript_1EFB25
removeobject 36
setvar VAR_0x40DA, 2
releaseall
diff --git a/data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc b/data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc
index ee859748f..687fff9a7 100644
--- a/data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc
+++ b/data/maps/Route110_SeasideCyclingRoadNorthEntrance/scripts.inc
@@ -12,7 +12,7 @@ Route110_SeasideCyclingRoadNorthEntrance_EventScript_26EA84:: @ 826EA84
lockall
specialvar VAR_RESULT, GetPlayerAvatarBike
compare VAR_RESULT, 0
- goto_eq Route110_SeasideCyclingRoadNorthEntrance_EventScript_26EA9F
+ goto_if_eq Route110_SeasideCyclingRoadNorthEntrance_EventScript_26EA9F
setflag FLAG_SYS_CYCLING_ROAD
setvar VAR_TEMP_1, 1
releaseall
@@ -21,7 +21,7 @@ Route110_SeasideCyclingRoadNorthEntrance_EventScript_26EA84:: @ 826EA84
Route110_SeasideCyclingRoadNorthEntrance_EventScript_26EA9F:: @ 826EA9F
msgbox Route110_SeasideCyclingRoadNorthEntrance_Text_26EB48, MSGBOX_DEFAULT
closemessage
- applymovement 255, Route110_SeasideCyclingRoadNorthEntrance_Movement_26EAB4
+ applymovement EVENT_OBJ_ID_PLAYER, Route110_SeasideCyclingRoadNorthEntrance_Movement_26EAB4
waitmovement 0
releaseall
end
diff --git a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc
index 9bd6c845e..a993364e6 100644
--- a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc
+++ b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/scripts.inc
@@ -4,9 +4,9 @@ Route110_SeasideCyclingRoadSouthEntrance_MapScripts:: @ 826EBA1
Route110_SeasideCyclingRoadSouthEntrance_MapScript1_26EBA7: @ 826EBA7
compare VAR_CYCLING_CHALLENGE_STATE, 3
- call_if 1, Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBBE
+ call_if_eq Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBBE
compare VAR_CYCLING_CHALLENGE_STATE, 2
- call_if 1, Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBBE
+ call_if_eq Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBBE
end
Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBBE:: @ 826EBBE
@@ -24,9 +24,9 @@ Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBD0:: @ 826EBD0
lockall
specialvar VAR_RESULT, GetPlayerAvatarBike
compare VAR_RESULT, 2
- call_if 1, Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBF6
+ call_if_eq Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBF6
compare VAR_RESULT, 0
- goto_eq Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBFC
+ goto_if_eq Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBFC
setflag FLAG_SYS_CYCLING_ROAD
setvar VAR_TEMP_1, 1
releaseall
@@ -39,7 +39,7 @@ Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBF6:: @ 826EBF6
Route110_SeasideCyclingRoadSouthEntrance_EventScript_26EBFC:: @ 826EBFC
msgbox Route110_SeasideCyclingRoadSouthEntrance_Text_26ECAA, MSGBOX_DEFAULT
closemessage
- applymovement 255, Route110_SeasideCyclingRoadSouthEntrance_Movement_26EC11
+ applymovement EVENT_OBJ_ID_PLAYER, Route110_SeasideCyclingRoadSouthEntrance_Movement_26EC11
waitmovement 0
releaseall
end
diff --git a/data/maps/Route110_TrickHouseEnd/scripts.inc b/data/maps/Route110_TrickHouseEnd/scripts.inc
index 892d9e65f..8326a7c02 100644
--- a/data/maps/Route110_TrickHouseEnd/scripts.inc
+++ b/data/maps/Route110_TrickHouseEnd/scripts.inc
@@ -7,7 +7,7 @@ Route110_TrickHouseEnd_MapScripts:: @ 826ACAF
Route110_TrickHouseEnd_MapScript1_26ACC4: @ 826ACC4
compare VAR_TEMP_1, 1
- call_if 1, Route110_TrickHouseEnd_EventScript_26AD0D
+ call_if_eq Route110_TrickHouseEnd_EventScript_26AD0D
end
Route110_TrickHouseEnd_MapScript1_26ACD0: @ 826ACD0
@@ -62,7 +62,7 @@ Route110_TrickHouseEnd_EventScript_26AD84:: @ 826AD84
setvar VAR_0x40C1, 0
giveitem_std ITEM_RARE_CANDY
compare VAR_RESULT, 0
- call_if 1, Route110_TrickHouseEnd_EventScript_26AFEF
+ call_if_eq Route110_TrickHouseEnd_EventScript_26AFEF
msgbox Route110_TrickHouseEnd_Text_26B7EF, MSGBOX_DEFAULT
closemessage
call Route110_TrickHouseEnd_EventScript_26AFCF
@@ -75,7 +75,7 @@ Route110_TrickHouseEnd_EventScript_26ADC0:: @ 826ADC0
setvar VAR_0x40C1, 0
giveitem_std ITEM_TIMER_BALL
compare VAR_RESULT, 0
- call_if 1, Route110_TrickHouseEnd_EventScript_26AFEF
+ call_if_eq Route110_TrickHouseEnd_EventScript_26AFEF
msgbox Route110_TrickHouseEnd_Text_26B7EF, MSGBOX_DEFAULT
closemessage
call Route110_TrickHouseEnd_EventScript_26AFCF
@@ -88,7 +88,7 @@ Route110_TrickHouseEnd_EventScript_26ADFC:: @ 826ADFC
setvar VAR_0x40C1, 0
giveitem_std ITEM_HARD_STONE
compare VAR_RESULT, 0
- call_if 1, Route110_TrickHouseEnd_EventScript_26AFEF
+ call_if_eq Route110_TrickHouseEnd_EventScript_26AFEF
msgbox Route110_TrickHouseEnd_Text_26B7EF, MSGBOX_DEFAULT
closemessage
call Route110_TrickHouseEnd_EventScript_26AFCF
@@ -101,7 +101,7 @@ Route110_TrickHouseEnd_EventScript_26AE38:: @ 826AE38
setvar VAR_0x40C1, 0
giveitem_std ITEM_SMOKE_BALL
compare VAR_RESULT, 0
- call_if 1, Route110_TrickHouseEnd_EventScript_26AFEF
+ call_if_eq Route110_TrickHouseEnd_EventScript_26AFEF
msgbox Route110_TrickHouseEnd_Text_26B7EF, MSGBOX_DEFAULT
closemessage
call Route110_TrickHouseEnd_EventScript_26AFCF
@@ -114,7 +114,7 @@ Route110_TrickHouseEnd_EventScript_26AE74:: @ 826AE74
setvar VAR_0x40C1, 0
giveitem_std ITEM_TM12
compare VAR_RESULT, 0
- call_if 1, Route110_TrickHouseEnd_EventScript_26AFEF
+ call_if_eq Route110_TrickHouseEnd_EventScript_26AFEF
msgbox Route110_TrickHouseEnd_Text_26B7EF, MSGBOX_DEFAULT
closemessage
call Route110_TrickHouseEnd_EventScript_26AFCF
@@ -127,7 +127,7 @@ Route110_TrickHouseEnd_EventScript_26AEB0:: @ 826AEB0
setvar VAR_0x40C1, 0
giveitem_std ITEM_MAGNET
compare VAR_RESULT, 0
- call_if 1, Route110_TrickHouseEnd_EventScript_26AFEF
+ call_if_eq Route110_TrickHouseEnd_EventScript_26AFEF
msgbox Route110_TrickHouseEnd_Text_26B7EF, MSGBOX_DEFAULT
closemessage
call Route110_TrickHouseEnd_EventScript_26AFCF
@@ -140,7 +140,7 @@ Route110_TrickHouseEnd_EventScript_26AEEC:: @ 826AEEC
setvar VAR_0x40C1, 0
giveitem_std ITEM_PP_MAX
compare VAR_RESULT, 0
- call_if 1, Route110_TrickHouseEnd_EventScript_26AFEF
+ call_if_eq Route110_TrickHouseEnd_EventScript_26AFEF
msgbox Route110_TrickHouseEnd_Text_26B7EF, MSGBOX_DEFAULT
closemessage
call Route110_TrickHouseEnd_EventScript_26AFCF
@@ -151,13 +151,13 @@ Route110_TrickHouseEnd_EventScript_26AF28:: @ 826AF28
msgbox Route110_TrickHouseEnd_Text_26B3AB, MSGBOX_DEFAULT
closemessage
compare VAR_FACING, 1
- call_if 1, Route110_TrickHouseEnd_EventScript_26B015
+ call_if_eq Route110_TrickHouseEnd_EventScript_26B015
compare VAR_FACING, 2
- call_if 1, Route110_TrickHouseEnd_EventScript_26B020
+ call_if_eq Route110_TrickHouseEnd_EventScript_26B020
compare VAR_FACING, 3
- call_if 1, Route110_TrickHouseEnd_EventScript_26B02B
+ call_if_eq Route110_TrickHouseEnd_EventScript_26B02B
compare VAR_FACING, 4
- call_if 1, Route110_TrickHouseEnd_EventScript_26B036
+ call_if_eq Route110_TrickHouseEnd_EventScript_26B036
delay 30
msgbox Route110_TrickHouseEnd_Text_26B3FA, MSGBOX_DEFAULT
closemessage
@@ -168,7 +168,7 @@ Route110_TrickHouseEnd_EventScript_26AF28:: @ 826AF28
setvar VAR_0x40C1, 0
call Route110_TrickHouseEnd_EventScript_26AFA5
compare VAR_RESULT, 0
- call_if 1, Route110_TrickHouseEnd_EventScript_26B002
+ call_if_eq Route110_TrickHouseEnd_EventScript_26B002
msgbox Route110_TrickHouseEnd_Text_26B69A, MSGBOX_DEFAULT
call Route110_TrickHouseEnd_EventScript_26AFCF
special ResetTrickHouseEndRoomFlag
@@ -241,11 +241,11 @@ Route110_TrickHouseEnd_EventScript_26B041:: @ 826B041
applymovement 1, Route110_TrickHouseEnd_Movement_26B08B
waitmovement 0
playse SE_W153
- applymovement 255, Route110_TrickHouseEnd_Movement_2725AA
+ applymovement EVENT_OBJ_ID_PLAYER, Route110_TrickHouseEnd_Movement_2725AA
waitmovement 0
msgbox Route110_TrickHouseEnd_Text_26B8BD, MSGBOX_DEFAULT
closemessage
- applymovement 255, Route110_TrickHouseEnd_Movement_26B089
+ applymovement EVENT_OBJ_ID_PLAYER, Route110_TrickHouseEnd_Movement_26B089
waitmovement 0
delay 4
turnobject 1, 4
diff --git a/data/maps/Route110_TrickHouseEntrance/scripts.inc b/data/maps/Route110_TrickHouseEntrance/scripts.inc
index 22750f536..b2aa22f6c 100644
--- a/data/maps/Route110_TrickHouseEntrance/scripts.inc
+++ b/data/maps/Route110_TrickHouseEntrance/scripts.inc
@@ -7,17 +7,17 @@ Route110_TrickHouseEntrance_MapScripts:: @ 8269A50
Route110_TrickHouseEntrance_MapScript1_269A60: @ 8269A60
setflag FLAG_LANDMARK_TRICK_HOUSE
compare VAR_0x40B5, 1
- goto_eq Route110_TrickHouseEntrance_EventScript_269AF3
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_269AF3
compare VAR_0x40C1, 1
- goto_eq Route110_TrickHouseEntrance_EventScript_269AD7
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_269AD7
compare VAR_0x40A6, 1
- goto_eq Route110_TrickHouseEntrance_EventScript_269BB3
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_269BB3
compare VAR_0x40A7, 5
- call_if 1, Route110_TrickHouseEntrance_EventScript_269B03
+ call_if_eq Route110_TrickHouseEntrance_EventScript_269B03
compare VAR_0x40A7, 3
- call_if 1, Route110_TrickHouseEntrance_EventScript_269B03
+ call_if_eq Route110_TrickHouseEntrance_EventScript_269B03
compare VAR_0x40A7, 0
- call_if 1, Route110_TrickHouseEntrance_EventScript_269B03
+ call_if_eq Route110_TrickHouseEntrance_EventScript_269B03
switch VAR_0x40A7
case 0, Route110_TrickHouseEntrance_EventScript_269BBB
case 1, Route110_TrickHouseEntrance_EventScript_269BC1
@@ -28,7 +28,7 @@ Route110_TrickHouseEntrance_MapScript1_269A60: @ 8269A60
Route110_TrickHouseEntrance_EventScript_269AD7:: @ 8269AD7
setvar VAR_0x40A5, 1
compare VAR_0x4044, 8
- goto_eq Route110_TrickHouseEntrance_EventScript_269AED
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_269AED
setvar VAR_0x40A7, 2
end
@@ -45,56 +45,49 @@ Route110_TrickHouseEntrance_EventScript_269AF3:: @ 8269AF3
Route110_TrickHouseEntrance_EventScript_269B03:: @ 8269B03
setvar VAR_0x40A7, 0
compare VAR_0x4044, 1
- call_if 1, Route110_TrickHouseEntrance_EventScript_269B61
+ call_if_eq Route110_TrickHouseEntrance_EventScript_269B61
compare VAR_0x4044, 2
- call_if 1, Route110_TrickHouseEntrance_EventScript_269B6B
+ call_if_eq Route110_TrickHouseEntrance_EventScript_269B6B
compare VAR_0x4044, 3
- call_if 1, Route110_TrickHouseEntrance_EventScript_269B75
+ call_if_eq Route110_TrickHouseEntrance_EventScript_269B75
compare VAR_0x4044, 4
- call_if 1, Route110_TrickHouseEntrance_EventScript_269B7F
+ call_if_eq Route110_TrickHouseEntrance_EventScript_269B7F
compare VAR_0x4044, 5
- call_if 1, Route110_TrickHouseEntrance_EventScript_269B89
+ call_if_eq Route110_TrickHouseEntrance_EventScript_269B89
compare VAR_0x4044, 6
- call_if 1, Route110_TrickHouseEntrance_EventScript_269B93
+ call_if_eq Route110_TrickHouseEntrance_EventScript_269B93
compare VAR_0x4044, 7
- call_if 1, Route110_TrickHouseEntrance_EventScript_269B9D
+ call_if_eq Route110_TrickHouseEntrance_EventScript_269B9D
compare VAR_0x4044, 8
- call_if 1, Route110_TrickHouseEntrance_EventScript_269BA7
+ call_if_eq Route110_TrickHouseEntrance_EventScript_269BA7
return
Route110_TrickHouseEntrance_EventScript_269B61:: @ 8269B61
- checkflag FLAG_BADGE03_GET
- call_if 0, Route110_TrickHouseEntrance_EventScript_269BAD
+ call_if_unset FLAG_BADGE03_GET, Route110_TrickHouseEntrance_EventScript_269BAD
return
Route110_TrickHouseEntrance_EventScript_269B6B:: @ 8269B6B
- checkflag FLAG_BADGE04_GET
- call_if 0, Route110_TrickHouseEntrance_EventScript_269BAD
+ call_if_unset FLAG_BADGE04_GET, Route110_TrickHouseEntrance_EventScript_269BAD
return
Route110_TrickHouseEntrance_EventScript_269B75:: @ 8269B75
- checkflag FLAG_BADGE05_GET
- call_if 0, Route110_TrickHouseEntrance_EventScript_269BAD
+ call_if_unset FLAG_BADGE05_GET, Route110_TrickHouseEntrance_EventScript_269BAD
return
Route110_TrickHouseEntrance_EventScript_269B7F:: @ 8269B7F
- checkflag FLAG_BADGE06_GET
- call_if 0, Route110_TrickHouseEntrance_EventScript_269BAD
+ call_if_unset FLAG_BADGE06_GET, Route110_TrickHouseEntrance_EventScript_269BAD
return
Route110_TrickHouseEntrance_EventScript_269B89:: @ 8269B89
- checkflag FLAG_BADGE07_GET
- call_if 0, Route110_TrickHouseEntrance_EventScript_269BAD
+ call_if_unset FLAG_BADGE07_GET, Route110_TrickHouseEntrance_EventScript_269BAD
return
Route110_TrickHouseEntrance_EventScript_269B93:: @ 8269B93
- checkflag FLAG_BADGE08_GET
- call_if 0, Route110_TrickHouseEntrance_EventScript_269BAD
+ call_if_unset FLAG_BADGE08_GET, Route110_TrickHouseEntrance_EventScript_269BAD
return
Route110_TrickHouseEntrance_EventScript_269B9D:: @ 8269B9D
- checkflag FLAG_SYS_GAME_CLEAR
- call_if 0, Route110_TrickHouseEntrance_EventScript_269BAD
+ call_if_unset FLAG_SYS_GAME_CLEAR, Route110_TrickHouseEntrance_EventScript_269BAD
return
Route110_TrickHouseEntrance_EventScript_269BA7:: @ 8269BA7
@@ -140,7 +133,7 @@ Route110_TrickHouseEntrance_EventScript_269C15:: @ 8269C15
addobject 1
showobjectat 1, MAP_ROUTE110_TRICK_HOUSE_ENTRANCE
turnobject 1, 4
- turnobject 255, 3
+ turnobject EVENT_OBJ_ID_PLAYER, 3
end
Route110_TrickHouseEntrance_EventScript_269C26:: @ 8269C26
@@ -213,7 +206,7 @@ Route110_TrickHouseEntrance_EventScript_269CF8:: @ 8269CF8
lockall
delay 20
compare VAR_0x4044, 0
- call_if 1, Route110_TrickHouseEntrance_EventScript_269E48
+ call_if_eq Route110_TrickHouseEntrance_EventScript_269E48
msgbox Route110_TrickHouseEntrance_Text_26A78C, MSGBOX_DEFAULT
closemessage
delay 20
@@ -243,26 +236,26 @@ Route110_TrickHouseEntrance_EventScript_269D3B:: @ 8269D3B
Route110_TrickHouseEntrance_EventScript_269D6E:: @ 8269D6E
playse SE_PIN
- applymovement 255, Route110_TrickHouseEntrance_Movement_272598
+ applymovement EVENT_OBJ_ID_PLAYER, Route110_TrickHouseEntrance_Movement_272598
waitmovement 0
- applymovement 255, Route110_TrickHouseEntrance_Movement_27259A
+ applymovement EVENT_OBJ_ID_PLAYER, Route110_TrickHouseEntrance_Movement_27259A
waitmovement 0
compare VAR_0x4044, 0
- call_if 1, Route110_TrickHouseEntrance_EventScript_269DEE
+ call_if_eq Route110_TrickHouseEntrance_EventScript_269DEE
compare VAR_0x4044, 1
- call_if 1, Route110_TrickHouseEntrance_EventScript_269DF7
+ call_if_eq Route110_TrickHouseEntrance_EventScript_269DF7
compare VAR_0x4044, 2
- call_if 1, Route110_TrickHouseEntrance_EventScript_269E00
+ call_if_eq Route110_TrickHouseEntrance_EventScript_269E00
compare VAR_0x4044, 3
- call_if 1, Route110_TrickHouseEntrance_EventScript_269E09
+ call_if_eq Route110_TrickHouseEntrance_EventScript_269E09
compare VAR_0x4044, 4
- call_if 1, Route110_TrickHouseEntrance_EventScript_269E12
+ call_if_eq Route110_TrickHouseEntrance_EventScript_269E12
compare VAR_0x4044, 5
- call_if 1, Route110_TrickHouseEntrance_EventScript_269E1B
+ call_if_eq Route110_TrickHouseEntrance_EventScript_269E1B
compare VAR_0x4044, 6
- call_if 1, Route110_TrickHouseEntrance_EventScript_269E24
+ call_if_eq Route110_TrickHouseEntrance_EventScript_269E24
compare VAR_0x4044, 7
- call_if 1, Route110_TrickHouseEntrance_EventScript_269E2D
+ call_if_eq Route110_TrickHouseEntrance_EventScript_269E2D
closemessage
setvar VAR_0x40A6, 1
warpsilent MAP_ROUTE110_TRICK_HOUSE_ENTRANCE, 255, 6, 2
@@ -351,27 +344,27 @@ Route110_TrickHouseEntrance_EventScript_269E8F:: @ 8269E8F
waitmovement 0
msgbox Route110_TrickHouseEntrance_Text_26AA82, MSGBOX_DEFAULT
compare VAR_0x4044, 1
- goto_eq Route110_TrickHouseEntrance_EventScript_269EEF
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_269EEF
compare VAR_0x4044, 2
- goto_eq Route110_TrickHouseEntrance_EventScript_269F1B
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_269F1B
compare VAR_0x4044, 3
- goto_eq Route110_TrickHouseEntrance_EventScript_269F47
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_269F47
compare VAR_0x4044, 4
- goto_eq Route110_TrickHouseEntrance_EventScript_269F73
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_269F73
compare VAR_0x4044, 5
- goto_eq Route110_TrickHouseEntrance_EventScript_269F9F
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_269F9F
compare VAR_0x4044, 6
- goto_eq Route110_TrickHouseEntrance_EventScript_269FCB
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_269FCB
compare VAR_0x4044, 7
- goto_eq Route110_TrickHouseEntrance_EventScript_269FF7
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_269FF7
end
Route110_TrickHouseEntrance_EventScript_269EEF:: @ 8269EEF
giveitem_std ITEM_RARE_CANDY
compare VAR_RESULT, 1
- goto_eq Route110_TrickHouseEntrance_EventScript_26A023
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_26A023
compare VAR_RESULT, 0
- call_if 1, Route110_TrickHouseEntrance_EventScript_27205E
+ call_if_eq Route110_TrickHouseEntrance_EventScript_27205E
msgbox Route110_TrickHouseEntrance_Text_26AB00, MSGBOX_DEFAULT
releaseall
end
@@ -379,9 +372,9 @@ Route110_TrickHouseEntrance_EventScript_269EEF:: @ 8269EEF
Route110_TrickHouseEntrance_EventScript_269F1B:: @ 8269F1B
giveitem_std ITEM_TIMER_BALL
compare VAR_RESULT, 1
- goto_eq Route110_TrickHouseEntrance_EventScript_26A023
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_26A023
compare VAR_RESULT, 0
- call_if 1, Route110_TrickHouseEntrance_EventScript_27205E
+ call_if_eq Route110_TrickHouseEntrance_EventScript_27205E
msgbox Route110_TrickHouseEntrance_Text_26AB00, MSGBOX_DEFAULT
releaseall
end
@@ -389,9 +382,9 @@ Route110_TrickHouseEntrance_EventScript_269F1B:: @ 8269F1B
Route110_TrickHouseEntrance_EventScript_269F47:: @ 8269F47
giveitem_std ITEM_HARD_STONE
compare VAR_RESULT, 1
- goto_eq Route110_TrickHouseEntrance_EventScript_26A023
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_26A023
compare VAR_RESULT, 0
- call_if 1, Route110_TrickHouseEntrance_EventScript_27205E
+ call_if_eq Route110_TrickHouseEntrance_EventScript_27205E
msgbox Route110_TrickHouseEntrance_Text_26AB00, MSGBOX_DEFAULT
releaseall
end
@@ -399,9 +392,9 @@ Route110_TrickHouseEntrance_EventScript_269F47:: @ 8269F47
Route110_TrickHouseEntrance_EventScript_269F73:: @ 8269F73
giveitem_std ITEM_SMOKE_BALL
compare VAR_RESULT, 1
- goto_eq Route110_TrickHouseEntrance_EventScript_26A023
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_26A023
compare VAR_RESULT, 0
- call_if 1, Route110_TrickHouseEntrance_EventScript_27205E
+ call_if_eq Route110_TrickHouseEntrance_EventScript_27205E
msgbox Route110_TrickHouseEntrance_Text_26AB00, MSGBOX_DEFAULT
releaseall
end
@@ -409,9 +402,9 @@ Route110_TrickHouseEntrance_EventScript_269F73:: @ 8269F73
Route110_TrickHouseEntrance_EventScript_269F9F:: @ 8269F9F
giveitem_std ITEM_TM12
compare VAR_RESULT, 1
- goto_eq Route110_TrickHouseEntrance_EventScript_26A023
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_26A023
compare VAR_RESULT, 0
- call_if 1, Route110_TrickHouseEntrance_EventScript_27205E
+ call_if_eq Route110_TrickHouseEntrance_EventScript_27205E
msgbox Route110_TrickHouseEntrance_Text_26AB00, MSGBOX_DEFAULT
releaseall
end
@@ -419,9 +412,9 @@ Route110_TrickHouseEntrance_EventScript_269F9F:: @ 8269F9F
Route110_TrickHouseEntrance_EventScript_269FCB:: @ 8269FCB
giveitem_std ITEM_MAGNET
compare VAR_RESULT, 1
- goto_eq Route110_TrickHouseEntrance_EventScript_26A023
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_26A023
compare VAR_RESULT, 0
- call_if 1, Route110_TrickHouseEntrance_EventScript_27205E
+ call_if_eq Route110_TrickHouseEntrance_EventScript_27205E
msgbox Route110_TrickHouseEntrance_Text_26AB00, MSGBOX_DEFAULT
releaseall
end
@@ -429,9 +422,9 @@ Route110_TrickHouseEntrance_EventScript_269FCB:: @ 8269FCB
Route110_TrickHouseEntrance_EventScript_269FF7:: @ 8269FF7
giveitem_std ITEM_PP_MAX
compare VAR_RESULT, 1
- goto_eq Route110_TrickHouseEntrance_EventScript_26A023
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_26A023
compare VAR_RESULT, 0
- call_if 1, Route110_TrickHouseEntrance_EventScript_27205E
+ call_if_eq Route110_TrickHouseEntrance_EventScript_27205E
msgbox Route110_TrickHouseEntrance_Text_26AB00, MSGBOX_DEFAULT
releaseall
end
@@ -450,9 +443,9 @@ Route110_TrickHouseEntrance_EventScript_26A039:: @ 826A039
msgbox Route110_TrickHouseEntrance_Text_26AB2C, MSGBOX_DEFAULT
call Route110_TrickHouseEntrance_EventScript_26A070
compare VAR_RESULT, 1
- goto_eq Route110_TrickHouseEntrance_EventScript_26A09A
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_26A09A
compare VAR_RESULT, 0
- call_if 1, Route110_TrickHouseEntrance_EventScript_272071
+ call_if_eq Route110_TrickHouseEntrance_EventScript_272071
msgbox Route110_TrickHouseEntrance_Text_26ABBD, MSGBOX_DEFAULT
releaseall
end
@@ -505,7 +498,7 @@ Route110_TrickHouseEntrance_EventScript_26A110:: @ 826A110
msgbox Route110_TrickHouseEntrance_Text_26A887, MSGBOX_YESNO
closemessage
compare VAR_RESULT, 1
- goto_eq Route110_TrickHouseEntrance_EventScript_26A126
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_26A126
releaseall
end
@@ -513,9 +506,9 @@ Route110_TrickHouseEntrance_EventScript_26A126:: @ 826A126
setmetatile 5, 1, 537, 0
special DrawWholeMapView
delay 20
- applymovement 255, Route110_TrickHouseEntrance_Movement_2725C9
+ applymovement EVENT_OBJ_ID_PLAYER, Route110_TrickHouseEntrance_Movement_2725C9
waitmovement 0
- applymovement 255, Route110_TrickHouseEntrance_Movement_26A1A7
+ applymovement EVENT_OBJ_ID_PLAYER, Route110_TrickHouseEntrance_Movement_26A1A7
waitmovement 0
switch VAR_0x4044
case 0, Route110_TrickHouseEntrance_EventScript_26A1A9
@@ -587,7 +580,7 @@ Route110_TrickHouseEntrance_EventScript_26A201:: @ 826A201
Route110_TrickHouseEntrance_EventScript_26A20B:: @ 826A20B
compare VAR_0x4044, 8
- goto_eq Route110_TrickHouseEntrance_EventScript_26A220
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_26A220
msgbox Route110_TrickHouseEntrance_Text_26A878, MSGBOX_DEFAULT
releaseall
end
@@ -612,7 +605,7 @@ Route110_TrickHouseEntrance_EventScript_26A22A:: @ 826A22A
Route110_TrickHouseEntrance_EventScript_26A289:: @ 826A289
compare VAR_0x40AB, 0
- goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_26A3D1
msgbox Route110_TrickHousePuzzle1_Text_26B98D, MSGBOX_DEFAULT
playse SE_PIN
setvar VAR_0x40AB, 2
@@ -623,7 +616,7 @@ Route110_TrickHouseEntrance_EventScript_26A289:: @ 826A289
Route110_TrickHouseEntrance_EventScript_26A2B2:: @ 826A2B2
compare VAR_0x40AC, 0
- goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_26A3D1
msgbox Route110_TrickHousePuzzle2_Text_26BCBA, MSGBOX_DEFAULT
playse SE_PIN
setvar VAR_0x40AC, 2
@@ -634,7 +627,7 @@ Route110_TrickHouseEntrance_EventScript_26A2B2:: @ 826A2B2
Route110_TrickHouseEntrance_EventScript_26A2DB:: @ 826A2DB
compare VAR_0x40AD, 0
- goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_26A3D1
msgbox Route110_TrickHousePuzzle3_Text_26C609, MSGBOX_DEFAULT
playse SE_PIN
setvar VAR_0x40AD, 2
@@ -645,7 +638,7 @@ Route110_TrickHouseEntrance_EventScript_26A2DB:: @ 826A2DB
Route110_TrickHouseEntrance_EventScript_26A304:: @ 826A304
compare VAR_0x40AE, 0
- goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_26A3D1
msgbox Route110_TrickHousePuzzle4_Text_26C8C3, MSGBOX_DEFAULT
playse SE_PIN
setvar VAR_0x40AE, 2
@@ -656,7 +649,7 @@ Route110_TrickHouseEntrance_EventScript_26A304:: @ 826A304
Route110_TrickHouseEntrance_EventScript_26A32D:: @ 826A32D
compare VAR_0x40AF, 0
- goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_26A3D1
msgbox Route110_TrickHousePuzzle5_Text_26D660, MSGBOX_DEFAULT
playse SE_PIN
setvar VAR_0x40AF, 2
@@ -667,7 +660,7 @@ Route110_TrickHouseEntrance_EventScript_26A32D:: @ 826A32D
Route110_TrickHouseEntrance_EventScript_26A356:: @ 826A356
compare VAR_0x40B0, 0
- goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_26A3D1
msgbox Route110_TrickHousePuzzle6_Text_26DE26, MSGBOX_DEFAULT
playse SE_PIN
setvar VAR_0x40B0, 2
@@ -678,7 +671,7 @@ Route110_TrickHouseEntrance_EventScript_26A356:: @ 826A356
Route110_TrickHouseEntrance_EventScript_26A37F:: @ 826A37F
compare VAR_0x40B1, 0
- goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_26A3D1
msgbox Route110_TrickHousePuzzle7_EventScript_26E413, MSGBOX_DEFAULT
playse SE_PIN
setvar VAR_0x40B1, 2
@@ -689,7 +682,7 @@ Route110_TrickHouseEntrance_EventScript_26A37F:: @ 826A37F
Route110_TrickHouseEntrance_EventScript_26A3A8:: @ 826A3A8
compare VAR_0x40B2, 0
- goto_eq Route110_TrickHouseEntrance_EventScript_26A3D1
+ goto_if_eq Route110_TrickHouseEntrance_EventScript_26A3D1
msgbox Route110_TrickHousePuzzle8_EventScript_26E864, MSGBOX_DEFAULT
playse SE_PIN
setvar VAR_0x40B2, 2
@@ -735,11 +728,11 @@ Route110_TrickHouseEntrance_EventScript_26A3F8:: @ 826A3F8
msgbox Route110_TrickHouseEntrance_Text_26A474, MSGBOX_DEFAULT
releaseall
compare VAR_0x4044, 0
- call_if 1, Route110_TrickHouseEntrance_EventScript_26A429
+ call_if_eq Route110_TrickHouseEntrance_EventScript_26A429
compare VAR_0x4044, 1
- call_if 1, Route110_TrickHouseEntrance_EventScript_26A439
+ call_if_eq Route110_TrickHouseEntrance_EventScript_26A439
compare VAR_0x4044, 2
- call_if 1, Route110_TrickHouseEntrance_EventScript_26A449
+ call_if_eq Route110_TrickHouseEntrance_EventScript_26A449
setvar VAR_0x40A5, 1
end
diff --git a/data/maps/Route110_TrickHousePuzzle1/scripts.inc b/data/maps/Route110_TrickHousePuzzle1/scripts.inc
index 036521ee4..b34a9d555 100644
--- a/data/maps/Route110_TrickHousePuzzle1/scripts.inc
+++ b/data/maps/Route110_TrickHousePuzzle1/scripts.inc
@@ -4,7 +4,7 @@ Route110_TrickHousePuzzle1_MapScripts:: @ 826B90F
Route110_TrickHousePuzzle1_MapScript1_26B915: @ 826B915
compare VAR_0x40AB, 2
- goto_eq Route110_TrickHousePuzzle1_EventScript_26B921
+ goto_if_eq Route110_TrickHousePuzzle1_EventScript_26B921
end
Route110_TrickHousePuzzle1_EventScript_26B921:: @ 826B921
@@ -14,7 +14,7 @@ Route110_TrickHousePuzzle1_EventScript_26B921:: @ 826B921
Route110_TrickHousePuzzle1_EventScript_26B92B:: @ 826B92B
lockall
compare VAR_0x40AB, 0
- goto_eq Route110_TrickHousePuzzle1_EventScript_26B93D
+ goto_if_eq Route110_TrickHousePuzzle1_EventScript_26B93D
goto Route110_TrickHousePuzzle1_EventScript_26A3DB
end
diff --git a/data/maps/Route110_TrickHousePuzzle2/scripts.inc b/data/maps/Route110_TrickHousePuzzle2/scripts.inc
index 60c7cdbce..560d10060 100644
--- a/data/maps/Route110_TrickHousePuzzle2/scripts.inc
+++ b/data/maps/Route110_TrickHousePuzzle2/scripts.inc
@@ -5,13 +5,13 @@ Route110_TrickHousePuzzle2_MapScripts:: @ 826BB73
Route110_TrickHousePuzzle2_MapScript1_26BB7E: @ 826BB7E
compare VAR_TEMP_1, 1
- call_if 1, Route110_TrickHousePuzzle2_EventScript_26BC29
+ call_if_eq Route110_TrickHousePuzzle2_EventScript_26BC29
compare VAR_TEMP_2, 1
- call_if 1, Route110_TrickHousePuzzle2_EventScript_26BC3C
+ call_if_eq Route110_TrickHousePuzzle2_EventScript_26BC3C
compare VAR_TEMP_3, 1
- call_if 1, Route110_TrickHousePuzzle2_EventScript_26BC4F
+ call_if_eq Route110_TrickHousePuzzle2_EventScript_26BC4F
compare VAR_TEMP_4, 1
- call_if 1, Route110_TrickHousePuzzle2_EventScript_26BC62
+ call_if_eq Route110_TrickHousePuzzle2_EventScript_26BC62
end
Route110_TrickHousePuzzle2_MapScript1_26BBAB: @ 826BBAB
@@ -24,7 +24,7 @@ Route110_TrickHousePuzzle2_MapScript1_26BBAB: @ 826BBAB
Route110_TrickHousePuzzle2_EventScript_26BBC0:: @ 826BBC0
lockall
compare VAR_0x40AC, 0
- goto_eq Route110_TrickHousePuzzle2_EventScript_26BBD2
+ goto_if_eq Route110_TrickHousePuzzle2_EventScript_26BBD2
goto Route110_TrickHousePuzzle2_EventScript_26A3DB
end
diff --git a/data/maps/Route110_TrickHousePuzzle3/scripts.inc b/data/maps/Route110_TrickHousePuzzle3/scripts.inc
index cadb6315a..b26c5473d 100644
--- a/data/maps/Route110_TrickHousePuzzle3/scripts.inc
+++ b/data/maps/Route110_TrickHousePuzzle3/scripts.inc
@@ -6,9 +6,9 @@ Route110_TrickHousePuzzle3_MapScripts:: @ 826BED8
Route110_TrickHousePuzzle3_MapScript1_26BEE3: @ 826BEE3
call Route110_TrickHousePuzzle3_EventScript_26BF1E
compare VAR_TEMP_9, 0
- call_if 1, Route110_TrickHousePuzzle3_EventScript_26BF97
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_26BF97
compare VAR_TEMP_9, 1
- call_if 1, Route110_TrickHousePuzzle3_EventScript_26C232
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_26C232
end
Route110_TrickHousePuzzle3_MapScript1_26BEFF: @ 826BEFF
@@ -26,13 +26,13 @@ Route110_TrickHousePuzzle3_EventScript_26BF1E:: @ 826BF1E
setmetatile 12, 5, 600, 0
setmetatile 8, 2, 600, 0
compare VAR_TEMP_8, 1
- call_if 1, Route110_TrickHousePuzzle3_EventScript_26BF6F
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_26BF6F
compare VAR_TEMP_8, 2
- call_if 1, Route110_TrickHousePuzzle3_EventScript_26BF79
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_26BF79
compare VAR_TEMP_8, 3
- call_if 1, Route110_TrickHousePuzzle3_EventScript_26BF83
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_26BF83
compare VAR_TEMP_8, 4
- call_if 1, Route110_TrickHousePuzzle3_EventScript_26BF8D
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_26BF8D
return
Route110_TrickHousePuzzle3_EventScript_26BF6F:: @ 826BF6F
@@ -242,13 +242,13 @@ Route110_TrickHousePuzzle3_EventScript_26C510:: @ 826C510
setvar VAR_TEMP_3, 0
setvar VAR_TEMP_4, 0
compare VAR_TEMP_8, 1
- call_if 1, Route110_TrickHousePuzzle3_EventScript_26C551
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_26C551
compare VAR_TEMP_8, 2
- call_if 1, Route110_TrickHousePuzzle3_EventScript_26C557
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_26C557
compare VAR_TEMP_8, 3
- call_if 1, Route110_TrickHousePuzzle3_EventScript_26C55D
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_26C55D
compare VAR_TEMP_8, 4
- call_if 1, Route110_TrickHousePuzzle3_EventScript_26C563
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_26C563
return
Route110_TrickHousePuzzle3_EventScript_26C551:: @ 826C551
@@ -269,14 +269,14 @@ Route110_TrickHousePuzzle3_EventScript_26C563:: @ 826C563
Route110_TrickHousePuzzle3_EventScript_26C569:: @ 826C569
compare VAR_TEMP_9, 1
- call_if 1, Route110_TrickHousePuzzle3_EventScript_26BF97
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_26BF97
compare VAR_TEMP_9, 0
- call_if 1, Route110_TrickHousePuzzle3_EventScript_26C232
+ call_if_eq Route110_TrickHousePuzzle3_EventScript_26C232
special DrawWholeMapView
compare VAR_TEMP_9, 1
- goto_eq Route110_TrickHousePuzzle3_EventScript_26C599
+ goto_if_eq Route110_TrickHousePuzzle3_EventScript_26C599
compare VAR_TEMP_9, 0
- goto_eq Route110_TrickHousePuzzle3_EventScript_26C5A0
+ goto_if_eq Route110_TrickHousePuzzle3_EventScript_26C5A0
end
Route110_TrickHousePuzzle3_EventScript_26C599:: @ 826C599
@@ -292,7 +292,7 @@ Route110_TrickHousePuzzle3_EventScript_26C5A0:: @ 826C5A0
Route110_TrickHousePuzzle3_EventScript_26C5A7:: @ 826C5A7
lockall
compare VAR_0x40AD, 0
- goto_eq Route110_TrickHousePuzzle3_EventScript_26C5B9
+ goto_if_eq Route110_TrickHousePuzzle3_EventScript_26C5B9
goto Route110_TrickHousePuzzle3_EventScript_26A3DB
end
diff --git a/data/maps/Route110_TrickHousePuzzle4/scripts.inc b/data/maps/Route110_TrickHousePuzzle4/scripts.inc
index 3d1004b1c..71bb32db8 100644
--- a/data/maps/Route110_TrickHousePuzzle4/scripts.inc
+++ b/data/maps/Route110_TrickHousePuzzle4/scripts.inc
@@ -4,7 +4,7 @@ Route110_TrickHousePuzzle4_MapScripts:: @ 826C860
Route110_TrickHousePuzzle4_EventScript_26C861:: @ 826C861
lockall
compare VAR_0x40AE, 0
- goto_eq Route110_TrickHousePuzzle4_EventScript_26C873
+ goto_if_eq Route110_TrickHousePuzzle4_EventScript_26C873
goto Route110_TrickHousePuzzle4_EventScript_26A3DB
end
diff --git a/data/maps/Route110_TrickHousePuzzle5/scripts.inc b/data/maps/Route110_TrickHousePuzzle5/scripts.inc
index 330b4fcd7..4c199a993 100644
--- a/data/maps/Route110_TrickHousePuzzle5/scripts.inc
+++ b/data/maps/Route110_TrickHousePuzzle5/scripts.inc
@@ -14,7 +14,7 @@ Route110_TrickHousePuzzle5_MapScript1_26CAF6: @ 826CAF6
Route110_TrickHousePuzzle5_EventScript_26CB15:: @ 826CB15
lockall
compare VAR_0x40AF, 0
- goto_eq Route110_TrickHousePuzzle5_EventScript_26CB27
+ goto_if_eq Route110_TrickHousePuzzle5_EventScript_26CB27
goto Route110_TrickHousePuzzle5_EventScript_26A3DB
end
@@ -28,7 +28,7 @@ Route110_TrickHousePuzzle5_EventScript_26CB32:: @ 826CB32
applymovement 1, Route110_TrickHousePuzzle5_Movement_27259E
waitmovement 0
compare VAR_TEMP_1, 1
- goto_eq Route110_TrickHousePuzzle5_EventScript_26D1AA
+ goto_if_eq Route110_TrickHousePuzzle5_EventScript_26D1AA
setvar VAR_TEMP_9, 0
goto Route110_TrickHousePuzzle5_EventScript_26CCEB
end
@@ -38,7 +38,7 @@ Route110_TrickHousePuzzle5_EventScript_26CB53:: @ 826CB53
applymovement 2, Route110_TrickHousePuzzle5_Movement_27259E
waitmovement 0
compare VAR_TEMP_2, 1
- goto_eq Route110_TrickHousePuzzle5_EventScript_26D1AA
+ goto_if_eq Route110_TrickHousePuzzle5_EventScript_26D1AA
setvar VAR_TEMP_9, 0
goto Route110_TrickHousePuzzle5_EventScript_26CD6A
end
@@ -48,7 +48,7 @@ Route110_TrickHousePuzzle5_EventScript_26CB74:: @ 826CB74
applymovement 3, Route110_TrickHousePuzzle5_Movement_27259E
waitmovement 0
compare VAR_TEMP_3, 1
- goto_eq Route110_TrickHousePuzzle5_EventScript_26D1AA
+ goto_if_eq Route110_TrickHousePuzzle5_EventScript_26D1AA
setvar VAR_TEMP_9, 0
goto Route110_TrickHousePuzzle5_EventScript_26CDF4
end
@@ -58,7 +58,7 @@ Route110_TrickHousePuzzle5_EventScript_26CB95:: @ 826CB95
applymovement 4, Route110_TrickHousePuzzle5_Movement_27259E
waitmovement 0
compare VAR_TEMP_4, 1
- goto_eq Route110_TrickHousePuzzle5_EventScript_26D1AA
+ goto_if_eq Route110_TrickHousePuzzle5_EventScript_26D1AA
setvar VAR_TEMP_9, 0
goto Route110_TrickHousePuzzle5_EventScript_26CE73
end
@@ -68,7 +68,7 @@ Route110_TrickHousePuzzle5_EventScript_26CBB6:: @ 826CBB6
applymovement 5, Route110_TrickHousePuzzle5_Movement_27259E
waitmovement 0
compare VAR_TEMP_5, 1
- goto_eq Route110_TrickHousePuzzle5_EventScript_26D1AA
+ goto_if_eq Route110_TrickHousePuzzle5_EventScript_26D1AA
setvar VAR_TEMP_9, 0
goto Route110_TrickHousePuzzle5_EventScript_26CEF2
end
@@ -220,13 +220,13 @@ Route110_TrickHousePuzzle5_EventScript_26CCEB:: @ 826CCEB
applymovement 1, Route110_TrickHousePuzzle5_Movement_27259A
waitmovement 0
compare VAR_TEMP_9, 1
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D1B4
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D1B4
compare VAR_TEMP_9, 2
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D1EC
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D1EC
compare VAR_TEMP_9, 3
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D224
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D224
compare VAR_TEMP_9, 4
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D25C
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D25C
msgbox Route110_TrickHousePuzzle5_Text_26D6CE, MSGBOX_DEFAULT
random 3
switch VAR_RESULT
@@ -244,15 +244,15 @@ Route110_TrickHousePuzzle5_EventScript_26CD6A:: @ 826CD6A
applymovement 2, Route110_TrickHousePuzzle5_Movement_27259A
waitmovement 0
compare VAR_TEMP_9, 1
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D2CC
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D2CC
compare VAR_TEMP_9, 2
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D304
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D304
compare VAR_TEMP_9, 3
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D33C
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D33C
compare VAR_TEMP_9, 4
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D374
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D374
compare VAR_TEMP_9, 5
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D3AC
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D3AC
msgbox Route110_TrickHousePuzzle5_Text_26D8EA, MSGBOX_DEFAULT
random 3
switch VAR_RESULT
@@ -270,13 +270,13 @@ Route110_TrickHousePuzzle5_EventScript_26CDF4:: @ 826CDF4
applymovement 3, Route110_TrickHousePuzzle5_Movement_27259A
waitmovement 0
compare VAR_TEMP_9, 1
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D1B4
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D1B4
compare VAR_TEMP_9, 2
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D1EC
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D1EC
compare VAR_TEMP_9, 3
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D224
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D224
compare VAR_TEMP_9, 4
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D25C
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D25C
msgbox Route110_TrickHousePuzzle5_Text_26DA1E, MSGBOX_DEFAULT
random 3
switch VAR_RESULT
@@ -294,13 +294,13 @@ Route110_TrickHousePuzzle5_EventScript_26CE73:: @ 826CE73
applymovement 4, Route110_TrickHousePuzzle5_Movement_27259A
waitmovement 0
compare VAR_TEMP_9, 1
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D1B4
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D1B4
compare VAR_TEMP_9, 2
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D1EC
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D1EC
compare VAR_TEMP_9, 3
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D224
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D224
compare VAR_TEMP_9, 4
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D25C
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D25C
msgbox Route110_TrickHousePuzzle5_Text_26DB4C, MSGBOX_DEFAULT
random 3
switch VAR_RESULT
@@ -476,132 +476,132 @@ Route110_TrickHousePuzzle5_EventScript_26D1AA:: @ 826D1AA
Route110_TrickHousePuzzle5_EventScript_26D1B4:: @ 826D1B4
compare VAR_TEMP_8, 1
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D3E4
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D3E4
compare VAR_TEMP_8, 2
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D3EF
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D3EF
compare VAR_TEMP_8, 3
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D3FA
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D3FA
compare VAR_TEMP_8, 4
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D405
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D405
compare VAR_TEMP_8, 5
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D410
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D410
return
Route110_TrickHousePuzzle5_EventScript_26D1EC:: @ 826D1EC
compare VAR_TEMP_8, 1
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D41B
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D41B
compare VAR_TEMP_8, 2
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D426
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D426
compare VAR_TEMP_8, 3
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D431
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D431
compare VAR_TEMP_8, 4
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D43C
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D43C
compare VAR_TEMP_8, 5
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D447
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D447
return
Route110_TrickHousePuzzle5_EventScript_26D224:: @ 826D224
compare VAR_TEMP_8, 1
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D452
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D452
compare VAR_TEMP_8, 2
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D45D
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D45D
compare VAR_TEMP_8, 3
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D468
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D468
compare VAR_TEMP_8, 4
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D473
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D473
compare VAR_TEMP_8, 5
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D47E
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D47E
return
Route110_TrickHousePuzzle5_EventScript_26D25C:: @ 826D25C
compare VAR_TEMP_8, 1
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D489
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D489
compare VAR_TEMP_8, 2
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D494
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D494
compare VAR_TEMP_8, 3
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D49F
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D49F
compare VAR_TEMP_8, 4
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4AA
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D4AA
compare VAR_TEMP_8, 5
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4B5
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D4B5
return
Route110_TrickHousePuzzle5_EventScript_26D294:: @ 826D294
compare VAR_TEMP_8, 1
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4C0
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D4C0
compare VAR_TEMP_8, 2
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4CB
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D4CB
compare VAR_TEMP_8, 3
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4D6
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D4D6
compare VAR_TEMP_8, 4
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4E1
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D4E1
compare VAR_TEMP_8, 5
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4EC
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D4EC
return
Route110_TrickHousePuzzle5_EventScript_26D2CC:: @ 826D2CC
compare VAR_TEMP_8, 1
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D4F7
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D4F7
compare VAR_TEMP_8, 2
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D502
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D502
compare VAR_TEMP_8, 3
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D50D
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D50D
compare VAR_TEMP_8, 4
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D518
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D518
compare VAR_TEMP_8, 5
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D523
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D523
return
Route110_TrickHousePuzzle5_EventScript_26D304:: @ 826D304
compare VAR_TEMP_8, 1
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D52E
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D52E
compare VAR_TEMP_8, 2
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D539
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D539
compare VAR_TEMP_8, 3
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D544
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D544
compare VAR_TEMP_8, 4
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D54F
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D54F
compare VAR_TEMP_8, 5
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D55A
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D55A
return
Route110_TrickHousePuzzle5_EventScript_26D33C:: @ 826D33C
compare VAR_TEMP_8, 1
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D565
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D565
compare VAR_TEMP_8, 2
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D570
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D570
compare VAR_TEMP_8, 3
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D57B
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D57B
compare VAR_TEMP_8, 4
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D586
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D586
compare VAR_TEMP_8, 5
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D591
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D591
return
Route110_TrickHousePuzzle5_EventScript_26D374:: @ 826D374
compare VAR_TEMP_8, 1
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D59C
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D59C
compare VAR_TEMP_8, 2
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5A7
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5A7
compare VAR_TEMP_8, 3
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5B2
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5B2
compare VAR_TEMP_8, 4
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5BD
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5BD
compare VAR_TEMP_8, 5
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5C8
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5C8
return
Route110_TrickHousePuzzle5_EventScript_26D3AC:: @ 826D3AC
compare VAR_TEMP_8, 1
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5D3
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5D3
compare VAR_TEMP_8, 2
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5DE
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5DE
compare VAR_TEMP_8, 3
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5E9
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5E9
compare VAR_TEMP_8, 4
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5F4
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5F4
compare VAR_TEMP_8, 5
- call_if 1, Route110_TrickHousePuzzle5_EventScript_26D5FF
+ call_if_eq Route110_TrickHousePuzzle5_EventScript_26D5FF
return
Route110_TrickHousePuzzle5_EventScript_26D3E4:: @ 826D3E4
diff --git a/data/maps/Route110_TrickHousePuzzle6/scripts.inc b/data/maps/Route110_TrickHousePuzzle6/scripts.inc
index 53c548c20..2cb784b50 100644
--- a/data/maps/Route110_TrickHousePuzzle6/scripts.inc
+++ b/data/maps/Route110_TrickHousePuzzle6/scripts.inc
@@ -18,7 +18,7 @@ Route110_TrickHousePuzzle6_EventScript_26DDC0:: @ 826DDC0
Route110_TrickHousePuzzle6_EventScript_26DDC4:: @ 826DDC4
lockall
compare VAR_0x40B0, 0
- goto_eq Route110_TrickHousePuzzle6_EventScript_26DDD6
+ goto_if_eq Route110_TrickHousePuzzle6_EventScript_26DDD6
goto Route110_TrickHousePuzzle6_EventScript_26A3DB
end
diff --git a/data/maps/Route110_TrickHousePuzzle7/scripts.inc b/data/maps/Route110_TrickHousePuzzle7/scripts.inc
index 4004c2e2c..76e8ac769 100644
--- a/data/maps/Route110_TrickHousePuzzle7/scripts.inc
+++ b/data/maps/Route110_TrickHousePuzzle7/scripts.inc
@@ -10,16 +10,11 @@ Route110_TrickHousePuzzle7_MapScript1_26E0A6: @ 826E0A6
end
Route110_TrickHousePuzzle7_EventScript_26E0AC:: @ 826E0AC
- checkflag FLAG_0x0C2
- call_if 1, Route110_TrickHousePuzzle7_EventScript_26E0DA
- checkflag FLAG_0x0C3
- call_if 1, Route110_TrickHousePuzzle7_EventScript_26E0ED
- checkflag FLAG_0x0C4
- call_if 1, Route110_TrickHousePuzzle7_EventScript_26E100
- checkflag FLAG_0x0C5
- call_if 1, Route110_TrickHousePuzzle7_EventScript_26E113
- checkflag FLAG_0x0C6
- call_if 1, Route110_TrickHousePuzzle7_EventScript_26E126
+ call_if_set FLAG_0x0C2, Route110_TrickHousePuzzle7_EventScript_26E0DA
+ call_if_set FLAG_0x0C3, Route110_TrickHousePuzzle7_EventScript_26E0ED
+ call_if_set FLAG_0x0C4, Route110_TrickHousePuzzle7_EventScript_26E100
+ call_if_set FLAG_0x0C5, Route110_TrickHousePuzzle7_EventScript_26E113
+ call_if_set FLAG_0x0C6, Route110_TrickHousePuzzle7_EventScript_26E126
return
Route110_TrickHousePuzzle7_EventScript_26E0DA:: @ 826E0DA
@@ -74,7 +69,7 @@ Route110_TrickHousePuzzle7_EventScript_26E185:: @ 826E185
Route110_TrickHousePuzzle7_MapScript1_26E198: @ 826E198
compare VAR_0x40B6, 1
- goto_eq Route110_TrickHousePuzzle7_EventScript_26E1B3
+ goto_if_eq Route110_TrickHousePuzzle7_EventScript_26E1B3
clearflag FLAG_0x0C2
clearflag FLAG_0x0C3
clearflag FLAG_0x0C4
@@ -87,7 +82,7 @@ Route110_TrickHousePuzzle7_EventScript_26E1B3:: @ 826E1B3
Route110_TrickHousePuzzle7_MapScript1_26E1B4: @ 826E1B4
compare VAR_0x40B6, 1
- call_if 1, Route110_TrickHousePuzzle7_EventScript_26E0AC
+ call_if_eq Route110_TrickHousePuzzle7_EventScript_26E0AC
end
Route110_TrickHousePuzzle7_MapScript2_26E1C0: @ 826E1C0
@@ -101,7 +96,7 @@ Route110_TrickHousePuzzle7_EventScript_26E1CA:: @ 826E1CA
Route110_TrickHousePuzzle7_EventScript_26E1D0:: @ 826E1D0
lockall
compare VAR_0x40B1, 0
- goto_eq Route110_TrickHousePuzzle7_EventScript_26E1E2
+ goto_if_eq Route110_TrickHousePuzzle7_EventScript_26E1E2
goto Route110_TrickHousePuzzle7_EventScript_26A3DB
end
@@ -121,76 +116,56 @@ Route110_TrickHousePuzzle7_EventScript_26E1ED:: @ 826E1ED
Route110_TrickHousePuzzle7_EventScript_26E1FE:: @ 826E1FE
lockall
delay 32
- checkflag FLAG_0x0C2
- call_if 0, Route110_TrickHousePuzzle7_EventScript_26E0DA
- checkflag FLAG_0x0C2
- call_if 1, Route110_TrickHousePuzzle7_EventScript_26E139
+ call_if_unset FLAG_0x0C2, Route110_TrickHousePuzzle7_EventScript_26E0DA
+ call_if_set FLAG_0x0C2, Route110_TrickHousePuzzle7_EventScript_26E139
special DrawWholeMapView
playse SE_TK_KASYA
- checkflag FLAG_0x0C2
- goto_if 0, Route110_TrickHousePuzzle7_EventScript_26E2E9
- checkflag FLAG_0x0C2
- goto_eq Route110_TrickHousePuzzle7_EventScript_26E2EE
+ goto_if_unset FLAG_0x0C2, Route110_TrickHousePuzzle7_EventScript_26E2E9
+ goto_if_set FLAG_0x0C2, Route110_TrickHousePuzzle7_EventScript_26E2EE
end
Route110_TrickHousePuzzle7_EventScript_26E22D:: @ 826E22D
lockall
delay 32
- checkflag FLAG_0x0C3
- call_if 0, Route110_TrickHousePuzzle7_EventScript_26E0ED
- checkflag FLAG_0x0C3
- call_if 1, Route110_TrickHousePuzzle7_EventScript_26E14C
+ call_if_unset FLAG_0x0C3, Route110_TrickHousePuzzle7_EventScript_26E0ED
+ call_if_set FLAG_0x0C3, Route110_TrickHousePuzzle7_EventScript_26E14C
special DrawWholeMapView
playse SE_TK_KASYA
- checkflag FLAG_0x0C3
- goto_if 0, Route110_TrickHousePuzzle7_EventScript_26E2F3
- checkflag FLAG_0x0C3
- goto_eq Route110_TrickHousePuzzle7_EventScript_26E2F8
+ goto_if_unset FLAG_0x0C3, Route110_TrickHousePuzzle7_EventScript_26E2F3
+ goto_if_set FLAG_0x0C3, Route110_TrickHousePuzzle7_EventScript_26E2F8
end
Route110_TrickHousePuzzle7_EventScript_26E25C:: @ 826E25C
lockall
delay 32
- checkflag FLAG_0x0C4
- call_if 0, Route110_TrickHousePuzzle7_EventScript_26E100
- checkflag FLAG_0x0C4
- call_if 1, Route110_TrickHousePuzzle7_EventScript_26E15F
+ call_if_unset FLAG_0x0C4, Route110_TrickHousePuzzle7_EventScript_26E100
+ call_if_set FLAG_0x0C4, Route110_TrickHousePuzzle7_EventScript_26E15F
special DrawWholeMapView
playse SE_TK_KASYA
- checkflag FLAG_0x0C4
- goto_if 0, Route110_TrickHousePuzzle7_EventScript_26E2FD
- checkflag FLAG_0x0C4
- goto_eq Route110_TrickHousePuzzle7_EventScript_26E302
+ goto_if_unset FLAG_0x0C4, Route110_TrickHousePuzzle7_EventScript_26E2FD
+ goto_if_set FLAG_0x0C4, Route110_TrickHousePuzzle7_EventScript_26E302
end
Route110_TrickHousePuzzle7_EventScript_26E28B:: @ 826E28B
lockall
delay 32
- checkflag FLAG_0x0C5
- call_if 0, Route110_TrickHousePuzzle7_EventScript_26E113
- checkflag FLAG_0x0C5
- call_if 1, Route110_TrickHousePuzzle7_EventScript_26E172
+ call_if_unset FLAG_0x0C5, Route110_TrickHousePuzzle7_EventScript_26E113
+ call_if_set FLAG_0x0C5, Route110_TrickHousePuzzle7_EventScript_26E172
special DrawWholeMapView
playse SE_TK_KASYA
- checkflag FLAG_0x0C5
- goto_if 0, Route110_TrickHousePuzzle7_EventScript_26E307
- checkflag FLAG_0x0C5
- goto_eq Route110_TrickHousePuzzle7_EventScript_26E30C
+ goto_if_unset FLAG_0x0C5, Route110_TrickHousePuzzle7_EventScript_26E307
+ goto_if_set FLAG_0x0C5, Route110_TrickHousePuzzle7_EventScript_26E30C
end
Route110_TrickHousePuzzle7_EventScript_26E2BA:: @ 826E2BA
lockall
delay 32
- checkflag FLAG_0x0C6
- call_if 0, Route110_TrickHousePuzzle7_EventScript_26E126
- checkflag FLAG_0x0C6
- call_if 1, Route110_TrickHousePuzzle7_EventScript_26E185
+ call_if_unset FLAG_0x0C6, Route110_TrickHousePuzzle7_EventScript_26E126
+ call_if_set FLAG_0x0C6, Route110_TrickHousePuzzle7_EventScript_26E185
special DrawWholeMapView
playse SE_TK_KASYA
- checkflag FLAG_0x0C6
- goto_if 0, Route110_TrickHousePuzzle7_EventScript_26E311
- checkflag FLAG_0x0C6
- goto_eq Route110_TrickHousePuzzle7_EventScript_26E316
+ goto_if_unset FLAG_0x0C6, Route110_TrickHousePuzzle7_EventScript_26E311
+ goto_if_set FLAG_0x0C6, Route110_TrickHousePuzzle7_EventScript_26E316
end
Route110_TrickHousePuzzle7_EventScript_26E2E9:: @ 826E2E9
diff --git a/data/maps/Route110_TrickHousePuzzle8/scripts.inc b/data/maps/Route110_TrickHousePuzzle8/scripts.inc
index 31aeb9e3a..7efb9f67b 100644
--- a/data/maps/Route110_TrickHousePuzzle8/scripts.inc
+++ b/data/maps/Route110_TrickHousePuzzle8/scripts.inc
@@ -4,7 +4,7 @@ Route110_TrickHousePuzzle8_MapScripts:: @ 826E801
Route110_TrickHousePuzzle8_EventScript_26E802:: @ 826E802
lockall
compare VAR_0x40B2, 0
- goto_eq Route110_TrickHousePuzzle8_EventScript_26E814
+ goto_if_eq Route110_TrickHousePuzzle8_EventScript_26E814
goto Route110_TrickHousePuzzle8_EventScript_26A3DB
end
diff --git a/data/maps/Route111/scripts.inc b/data/maps/Route111/scripts.inc
index 2be579ab6..98132b37f 100644
--- a/data/maps/Route111/scripts.inc
+++ b/data/maps/Route111/scripts.inc
@@ -6,10 +6,9 @@ Route111_MapScripts:: @ 81F0CA7
.byte 0
Route111_MapScript1_1F0CBC: @ 81F0CBC
- checkflag FLAG_0x0E4
- call_if 0, Route111_EventScript_1F0CD1
+ call_if_unset FLAG_0x0E4, Route111_EventScript_1F0CD1
compare VAR_0x40CB, 1
- call_if 1, Route111_EventScript_1F0CE4
+ call_if_eq Route111_EventScript_1F0CE4
end
Route111_EventScript_1F0CD1:: @ 81F0CD1
@@ -41,24 +40,23 @@ Route111_EventScript_1F0CE4:: @ 81F0CE4
Route111_MapScript1_1F0D87: @ 81F0D87
setvar VAR_0x40D6, 0
special sub_81BE79C
- checkflag FLAG_0x14E
- call_if 0, Route111_EventScript_1F0E3C
+ call_if_unset FLAG_0x14E, Route111_EventScript_1F0E3C
compare VAR_0x40CB, 1
- call_if 1, Route111_EventScript_1F0DC2
+ call_if_eq Route111_EventScript_1F0DC2
compare VAR_0x40CB, 2
- call_if 1, Route111_EventScript_1F0E40
+ call_if_eq Route111_EventScript_1F0E40
call Route111_EventScript_1F0DE6
call Route111_EventScript_28CCC7
checktrainerflag TRAINER_VICKY
- goto_if 0, Route111_EventScript_1F0E26
+ goto_if_lt Route111_EventScript_1F0E26
end
Route111_EventScript_1F0DC2:: @ 81F0DC2
checkplayergender
compare VAR_RESULT, 0
- goto_eq Route111_EventScript_1F0DDA
+ goto_if_eq Route111_EventScript_1F0DDA
compare VAR_RESULT, 1
- goto_eq Route111_EventScript_1F0DE0
+ goto_if_eq Route111_EventScript_1F0DE0
return
Route111_EventScript_1F0DDA:: @ 81F0DDA
@@ -72,18 +70,18 @@ Route111_EventScript_1F0DE0:: @ 81F0DE0
Route111_EventScript_1F0DE6:: @ 81F0DE6
getplayerxy VAR_TEMP_0, VAR_TEMP_1
compare VAR_TEMP_1, 34
- goto_if 0, Route111_EventScript_1F0E25
+ goto_if_lt Route111_EventScript_1F0E25
compare VAR_TEMP_1, 107
- goto_if 2, Route111_EventScript_1F0E25
+ goto_if_gt Route111_EventScript_1F0E25
compare VAR_TEMP_1, 72
- goto_if 2, Route111_EventScript_1F0E22
+ goto_if_gt Route111_EventScript_1F0E22
compare VAR_TEMP_0, 2000
- goto_if 2, Route111_EventScript_1F0E25
+ goto_if_gt Route111_EventScript_1F0E25
compare VAR_TEMP_0, 8
- goto_if 0, Route111_EventScript_1F0E25
+ goto_if_lt Route111_EventScript_1F0E25
Route111_EventScript_1F0E22:: @ 81F0E22
- setweather 8
+ setweather WEATHER_SANDSTORM
Route111_EventScript_1F0E25:: @ 81F0E25
return
@@ -111,7 +109,7 @@ Route111_MapScript2_1F0E46: @ 81F0E46
.2byte 0
Route111_EventScript_1F0E50:: @ 81F0E50
- hideobjectat 255, MAP_LITTLEROOT_TOWN
+ hideobjectat EVENT_OBJ_ID_PLAYER, MAP_LITTLEROOT_TOWN
end
Route111_MapScript2_1F0E56: @ 81F0E56
@@ -127,10 +125,10 @@ Route111_EventScript_1F0E60:: @ 81F0E60
addobject 45
special sub_81BE7F4
waitstate
- showobjectat 255, MAP_LITTLEROOT_TOWN
+ showobjectat EVENT_OBJ_ID_PLAYER, MAP_LITTLEROOT_TOWN
removeobject 45
delay 16
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
delay 16
special sub_81BEB54
waitstate
@@ -138,8 +136,7 @@ Route111_EventScript_1F0E60:: @ 81F0E60
waitstate
setvar VAR_0x40CB, 2
clearflag FLAG_HIDE_DESERT_UNDERPASS_FOSSIL
- checkflag FLAG_0x150
- goto_eq Route111_EventScript_1F0EA7
+ goto_if_set FLAG_0x150, Route111_EventScript_1F0EA7
msgbox Route111_Text_1F1C74, MSGBOX_DEFAULT
releaseall
end
@@ -163,12 +160,11 @@ Route111_EventScript_1F0EB9:: @ 81F0EB9
lock
faceplayer
dodailyevents
- checkflag FLAG_0x92C
- goto_eq Route111_EventScript_1F0EF4
+ goto_if_set FLAG_0x92C, Route111_EventScript_1F0EF4
msgbox Route111_Text_2A6EBD, MSGBOX_DEFAULT
giveitem_std ITEM_RAZZ_BERRY
compare VAR_RESULT, 0
- goto_eq Route111_EventScript_272054
+ goto_if_eq Route111_EventScript_272054
setflag FLAG_0x92C
special GetPlayerBigGuyGirlString
msgbox Route111_Text_2A6F3D, MSGBOX_DEFAULT
@@ -207,7 +203,7 @@ Route111_EventScript_1F0F22:: @ 81F0F22
Route111_EventScript_1F0F2E:: @ 81F0F2E
checkitem ITEM_GO_GOGGLES, 1
compare VAR_RESULT, 0
- goto_eq Route111_EventScript_1F0F45
+ goto_if_eq Route111_EventScript_1F0F45
setvar VAR_TEMP_3, 1
releaseall
end
@@ -216,33 +212,33 @@ Route111_EventScript_1F0F45:: @ 81F0F45
msgbox gUnknown_08272C5F, MSGBOX_DEFAULT
closemessage
compare VAR_0x8004, 0
- call_if 1, Route111_EventScript_1F0F7C
+ call_if_eq Route111_EventScript_1F0F7C
compare VAR_0x8004, 1
- call_if 1, Route111_EventScript_1F0F87
+ call_if_eq Route111_EventScript_1F0F87
compare VAR_0x8004, 2
- call_if 1, Route111_EventScript_1F0F92
+ call_if_eq Route111_EventScript_1F0F92
compare VAR_0x8004, 3
- call_if 1, Route111_EventScript_1F0F9D
+ call_if_eq Route111_EventScript_1F0F9D
releaseall
end
Route111_EventScript_1F0F7C:: @ 81F0F7C
- applymovement 255, Route111_Movement_1F0FA8
+ applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_1F0FA8
waitmovement 0
return
Route111_EventScript_1F0F87:: @ 81F0F87
- applymovement 255, Route111_Movement_1F0FAA
+ applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_1F0FAA
waitmovement 0
return
Route111_EventScript_1F0F92:: @ 81F0F92
- applymovement 255, Route111_Movement_1F0FAC
+ applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_1F0FAC
waitmovement 0
return
Route111_EventScript_1F0F9D:: @ 81F0F9D
- applymovement 255, Route111_Movement_1F0FAE
+ applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_1F0FAE
waitmovement 0
return
@@ -263,14 +259,14 @@ Route111_Movement_1F0FAE: @ 81F0FAE
step_end
Route111_EventScript_1F0FB0:: @ 81F0FB0
- setweather 2
+ setweather WEATHER_SUNNY
fadenewbgm MUS_DOORO_X1
doweather
setvar VAR_TEMP_3, 0
end
Route111_EventScript_1F0FBD:: @ 81F0FBD
- setweather 8
+ setweather WEATHER_SANDSTORM
fadenewbgm MUS_ASHROAD
doweather
end
@@ -281,7 +277,7 @@ Route111_EventScript_1F0FC5:: @ 81F0FC5
setflag FLAG_LANDMARK_WINSTRATE_FAMILY
msgbox Route111_Text_1F1475, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq Route111_EventScript_1F0FE7
+ goto_if_eq Route111_EventScript_1F0FE7
msgbox Route111_Text_1F14F5, MSGBOX_DEFAULT
release
end
@@ -298,7 +294,7 @@ Route111_EventScript_1F0FE7:: @ 81F0FE7
waitmovement 0
removeobject 1
call Route111_EventScript_1F1143
- applymovement 255, Route111_Movement_1F114F
+ applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_1F114F
waitmovement 0
call Route111_EventScript_1F113C
addobject 2
@@ -316,7 +312,7 @@ Route111_EventScript_1F0FE7:: @ 81F0FE7
waitmovement 0
removeobject 2
call Route111_EventScript_1F1143
- applymovement 255, Route111_Movement_1F114F
+ applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_1F114F
waitmovement 0
call Route111_EventScript_1F113C
addobject 3
@@ -334,7 +330,7 @@ Route111_EventScript_1F0FE7:: @ 81F0FE7
waitmovement 0
removeobject 3
call Route111_EventScript_1F1143
- applymovement 255, Route111_Movement_1F114F
+ applymovement EVENT_OBJ_ID_PLAYER, Route111_Movement_1F114F
waitmovement 0
call Route111_EventScript_1F113C
addobject 4
@@ -416,11 +412,10 @@ Route111_EventScript_1F119B:: @ 81F119B
lock
faceplayer
compare VAR_0x40CB, 3
- goto_eq Route111_EventScript_1F11C6
+ goto_if_eq Route111_EventScript_1F11C6
compare VAR_0x40CB, 2
- goto_eq Route111_EventScript_1F11D0
- checkflag FLAG_0x14E
- goto_eq Route111_EventScript_1F11DA
+ goto_if_eq Route111_EventScript_1F11D0
+ goto_if_set FLAG_0x14E, Route111_EventScript_1F11DA
msgbox Route111_Text_1F1A22, MSGBOX_DEFAULT
release
end
@@ -475,7 +470,7 @@ Route111_EventScript_1F1260:: @ 81F1260
trainerbattle_single TRAINER_DUSTY_1, Route111_Text_298B08, Route111_Text_298B53, Route111_EventScript_1F128C
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route111_EventScript_1F12AB
+ goto_if_eq Route111_EventScript_1F12AB
msgbox Route111_Text_298B9A, MSGBOX_DEFAULT
release
end
@@ -512,7 +507,7 @@ Route111_EventScript_1F1307:: @ 81F1307
trainerbattle_single TRAINER_WILTON_1, Route111_Text_298F79, Route111_Text_298FA9, Route111_EventScript_1F1333
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route111_EventScript_1F1352
+ goto_if_eq Route111_EventScript_1F1352
msgbox Route111_Text_298FD4, MSGBOX_DEFAULT
release
end
@@ -534,7 +529,7 @@ Route111_EventScript_1F1369:: @ 81F1369
trainerbattle_single TRAINER_BROOKE_1, Route111_Text_299143, Route111_Text_299193, Route111_EventScript_1F1395
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route111_EventScript_1F13B4
+ goto_if_eq Route111_EventScript_1F13B4
msgbox Route111_Text_2991C2, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route111_OldLadysRestStop/scripts.inc b/data/maps/Route111_OldLadysRestStop/scripts.inc
index f98e994b3..5a89f40ed 100644
--- a/data/maps/Route111_OldLadysRestStop/scripts.inc
+++ b/data/maps/Route111_OldLadysRestStop/scripts.inc
@@ -11,9 +11,9 @@ Route111_OldLadysRestStop_EventScript_22A920:: @ 822A920
faceplayer
msgbox Route111_OldLadysRestStop_Text_22A978, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq Route111_OldLadysRestStop_EventScript_22A941
+ goto_if_eq Route111_OldLadysRestStop_EventScript_22A941
compare VAR_RESULT, 0
- goto_eq Route111_OldLadysRestStop_EventScript_22A96E
+ goto_if_eq Route111_OldLadysRestStop_EventScript_22A96E
end
Route111_OldLadysRestStop_EventScript_22A941:: @ 822A941
@@ -22,9 +22,9 @@ Route111_OldLadysRestStop_EventScript_22A941:: @ 822A941
call Route111_OldLadysRestStop_EventScript_272083
msgbox Route111_OldLadysRestStop_Text_22AA16, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq Route111_OldLadysRestStop_EventScript_22A941
+ goto_if_eq Route111_OldLadysRestStop_EventScript_22A941
compare VAR_RESULT, 0
- goto_eq Route111_OldLadysRestStop_EventScript_22A96E
+ goto_if_eq Route111_OldLadysRestStop_EventScript_22A96E
end
Route111_OldLadysRestStop_EventScript_22A96E:: @ 822A96E
diff --git a/data/maps/Route111_WinstrateFamilysHouse/scripts.inc b/data/maps/Route111_WinstrateFamilysHouse/scripts.inc
index 8160d7623..cd862b7e3 100644
--- a/data/maps/Route111_WinstrateFamilysHouse/scripts.inc
+++ b/data/maps/Route111_WinstrateFamilysHouse/scripts.inc
@@ -13,12 +13,11 @@ Route111_WinstrateFamilysHouse_EventScript_22A4A2:: @ 822A4A2
lock
faceplayer
setvar VAR_0x8008, 3
- checkflag FLAG_0x115
- goto_eq Route111_WinstrateFamilysHouse_EventScript_22A4DA
+ goto_if_set FLAG_0x115, Route111_WinstrateFamilysHouse_EventScript_22A4DA
msgbox Route111_WinstrateFamilysHouse_Text_22A5F4, MSGBOX_DEFAULT
giveitem_std ITEM_MACHO_BRACE
compare VAR_RESULT, 0
- goto_eq Route111_WinstrateFamilysHouse_EventScript_272054
+ goto_if_eq Route111_WinstrateFamilysHouse_EventScript_272054
setflag FLAG_0x115
goto Route111_WinstrateFamilysHouse_EventScript_22A52C
end
@@ -40,8 +39,7 @@ Route111_WinstrateFamilysHouse_EventScript_22A4FD:: @ 822A4FD
lock
faceplayer
setvar VAR_0x8008, 4
- checkflag FLAG_TEMP_4
- goto_eq Route111_WinstrateFamilysHouse_EventScript_22A51E
+ goto_if_set FLAG_TEMP_4, Route111_WinstrateFamilysHouse_EventScript_22A51E
msgbox Route111_WinstrateFamilysHouse_Text_22A780, MSGBOX_DEFAULT
setflag FLAG_TEMP_4
goto Route111_WinstrateFamilysHouse_EventScript_22A52C
diff --git a/data/maps/Route112/scripts.inc b/data/maps/Route112/scripts.inc
index 1abcdb6b4..816e0aab0 100644
--- a/data/maps/Route112/scripts.inc
+++ b/data/maps/Route112/scripts.inc
@@ -69,7 +69,7 @@ Route112_EventScript_1F1E81:: @ 81F1E81
trainerbattle_single TRAINER_TRENT_1, Route112_Text_299815, Route112_Text_29987C, Route112_EventScript_1F1EAD
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route112_EventScript_1F1ECC
+ goto_if_eq Route112_EventScript_1F1ECC
msgbox Route112_Text_299896, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route112_CableCarStation/scripts.inc b/data/maps/Route112_CableCarStation/scripts.inc
index a7d3e8c7a..037d7ca05 100644
--- a/data/maps/Route112_CableCarStation/scripts.inc
+++ b/data/maps/Route112_CableCarStation/scripts.inc
@@ -6,7 +6,7 @@ Route112_CableCarStation_MapScripts:: @ 822AABE
Route112_CableCarStation_MapScript1_22AAC9: @ 822AAC9
setescapewarp MAP_ROUTE112, 255, 28, 28
compare VAR_0x40A3, 2
- call_if 1, Route112_CableCarStation_EventScript_22AADD
+ call_if_eq Route112_CableCarStation_EventScript_22AADD
end
Route112_CableCarStation_EventScript_22AADD:: @ 822AADD
@@ -20,7 +20,7 @@ Route112_CableCarStation_MapScript2_22AAE9: @ 822AAE9
Route112_CableCarStation_EventScript_22AAF3:: @ 822AAF3
lockall
- applymovement 255, Route112_CableCarStation_Movement_22AB80
+ applymovement EVENT_OBJ_ID_PLAYER, Route112_CableCarStation_Movement_22AB80
applymovement 1, Route112_CableCarStation_Movement_22AB76
waitmovement 0
setvar VAR_0x40A3, 0
@@ -34,16 +34,16 @@ Route112_CableCarStation_EventScript_22AB17:: @ 822AB17
faceplayer
msgbox Route112_CableCarStation_Text_22AB85, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq Route112_CableCarStation_EventScript_22AB38
+ goto_if_eq Route112_CableCarStation_EventScript_22AB38
compare VAR_RESULT, 0
- goto_eq Route112_CableCarStation_EventScript_22AB67
+ goto_if_eq Route112_CableCarStation_EventScript_22AB67
end
Route112_CableCarStation_EventScript_22AB38:: @ 822AB38
msgbox Route112_CableCarStation_Text_22ABC2, MSGBOX_DEFAULT
closemessage
applymovement 1, Route112_CableCarStation_Movement_22AB71
- applymovement 255, Route112_CableCarStation_Movement_22AB7B
+ applymovement EVENT_OBJ_ID_PLAYER, Route112_CableCarStation_Movement_22AB7B
waitmovement 0
setvar VAR_0x8004, 0
setvar VAR_0x40A3, 1
diff --git a/data/maps/Route113/scripts.inc b/data/maps/Route113/scripts.inc
index b9ece3b21..7668432ab 100644
--- a/data/maps/Route113/scripts.inc
+++ b/data/maps/Route113/scripts.inc
@@ -15,10 +15,10 @@ Route113_MapScript1_1F2161: @ 81F2161
Route113_EventScript_1F216A:: @ 81F216A
getplayerxy VAR_TEMP_0, VAR_TEMP_1
compare VAR_TEMP_0, 19
- goto_if 0, Route113_EventScript_1F2189
+ goto_if_lt Route113_EventScript_1F2189
compare VAR_TEMP_0, 84
- goto_if 2, Route113_EventScript_1F2189
- setweather 7
+ goto_if_gt Route113_EventScript_1F2189
+ setweather WEATHER_ASH
return
Route113_EventScript_1F2189:: @ 81F2189
@@ -62,7 +62,7 @@ Route113_EventScript_1F21EE:: @ 81F21EE
trainerbattle_single TRAINER_MADELINE_1, Route113_Text_299EA6, Route113_Text_299EF9, Route113_EventScript_1F221A
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route113_EventScript_1F2239
+ goto_if_eq Route113_EventScript_1F2239
msgbox Route113_Text_299F15, MSGBOX_DEFAULT
release
end
@@ -84,7 +84,7 @@ Route113_EventScript_1F2250:: @ 81F2250
trainerbattle_single TRAINER_LAO_1, Route113_Text_29A015, Route113_Text_29A04C, Route113_EventScript_1F227C
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route113_EventScript_1F229B
+ goto_if_eq Route113_EventScript_1F229B
msgbox Route113_Text_29A067, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route113_GlassWorkshop/scripts.inc b/data/maps/Route113_GlassWorkshop/scripts.inc
index c211b6a1c..959c27799 100644
--- a/data/maps/Route113_GlassWorkshop/scripts.inc
+++ b/data/maps/Route113_GlassWorkshop/scripts.inc
@@ -5,7 +5,7 @@ Route113_GlassWorkshop_MapScripts:: @ 826ED03
Route113_GlassWorkshop_MapScript1_26ED09: @ 826ED09
setflag FLAG_LANDMARK_GLASS_WORKSHOP
compare VAR_0x40BE, 1
- call_if 1, Route113_GlassWorkshop_EventScript_26ED18
+ call_if_eq Route113_GlassWorkshop_EventScript_26ED18
end
Route113_GlassWorkshop_EventScript_26ED18:: @ 826ED18
@@ -16,11 +16,11 @@ Route113_GlassWorkshop_EventScript_26ED1E:: @ 826ED1E
lock
faceplayer
compare VAR_0x40BE, 10
- goto_if 4, Route113_GlassWorkshop_EventScript_26F090
+ goto_if_ge Route113_GlassWorkshop_EventScript_26F090
compare VAR_0x40BE, 2
- goto_eq Route113_GlassWorkshop_EventScript_26ED6E
+ goto_if_eq Route113_GlassWorkshop_EventScript_26ED6E
compare VAR_0x40BE, 1
- goto_eq Route113_GlassWorkshop_EventScript_26ED64
+ goto_if_eq Route113_GlassWorkshop_EventScript_26ED64
msgbox Route113_GlassWorkshop_Text_26F19D, MSGBOX_DEFAULT
giveitem_std ITEM_SOOT_SACK
setvar VAR_0x40BE, 1
@@ -36,10 +36,10 @@ Route113_GlassWorkshop_EventScript_26ED64:: @ 826ED64
Route113_GlassWorkshop_EventScript_26ED6E:: @ 826ED6E
checkitem ITEM_SOOT_SACK, 1
compare VAR_RESULT, 0
- goto_eq Route113_GlassWorkshop_EventScript_26ED9D
+ goto_if_eq Route113_GlassWorkshop_EventScript_26ED9D
msgbox Route113_GlassWorkshop_Text_26F312, MSGBOX_DEFAULT
compare VAR_ASH_GATHER_COUNT, 250
- goto_if 0, Route113_GlassWorkshop_EventScript_26EFD6
+ goto_if_lt Route113_GlassWorkshop_EventScript_26EFD6
message Route113_GlassWorkshop_Text_26F40A
waitmessage
goto Route113_GlassWorkshop_EventScript_26EDA7
@@ -72,10 +72,10 @@ Route113_GlassWorkshop_EventScript_26EE1E:: @ 826EE1E
bufferitemname 0, VAR_0x8008
setvar VAR_0x800A, 250
compare VAR_ASH_GATHER_COUNT, 250
- goto_if 0, Route113_GlassWorkshop_EventScript_26EFEE
+ goto_if_lt Route113_GlassWorkshop_EventScript_26EFEE
msgbox Route113_GlassWorkshop_Text_26F480, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq Route113_GlassWorkshop_EventScript_26F003
+ goto_if_eq Route113_GlassWorkshop_EventScript_26F003
setvar VAR_0x40BE, 10
subvar VAR_ASH_GATHER_COUNT, 250
goto Route113_GlassWorkshop_EventScript_26F00F
@@ -86,10 +86,10 @@ Route113_GlassWorkshop_EventScript_26EE5A:: @ 826EE5A
bufferitemname 0, VAR_0x8008
setvar VAR_0x800A, 500
compare VAR_ASH_GATHER_COUNT, 500
- goto_if 0, Route113_GlassWorkshop_EventScript_26EFEE
+ goto_if_lt Route113_GlassWorkshop_EventScript_26EFEE
msgbox Route113_GlassWorkshop_Text_26F480, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq Route113_GlassWorkshop_EventScript_26F003
+ goto_if_eq Route113_GlassWorkshop_EventScript_26F003
setvar VAR_0x40BE, 11
subvar VAR_ASH_GATHER_COUNT, 500
goto Route113_GlassWorkshop_EventScript_26F00F
@@ -100,10 +100,10 @@ Route113_GlassWorkshop_EventScript_26EE96:: @ 826EE96
bufferitemname 0, VAR_0x8008
setvar VAR_0x800A, 500
compare VAR_ASH_GATHER_COUNT, 500
- goto_if 0, Route113_GlassWorkshop_EventScript_26EFEE
+ goto_if_lt Route113_GlassWorkshop_EventScript_26EFEE
msgbox Route113_GlassWorkshop_Text_26F480, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq Route113_GlassWorkshop_EventScript_26F003
+ goto_if_eq Route113_GlassWorkshop_EventScript_26F003
setvar VAR_0x40BE, 12
subvar VAR_ASH_GATHER_COUNT, 500
goto Route113_GlassWorkshop_EventScript_26F00F
@@ -114,10 +114,10 @@ Route113_GlassWorkshop_EventScript_26EED2:: @ 826EED2
bufferitemname 0, VAR_0x8008
setvar VAR_0x800A, 1000
compare VAR_ASH_GATHER_COUNT, 1000
- goto_if 0, Route113_GlassWorkshop_EventScript_26EFEE
+ goto_if_lt Route113_GlassWorkshop_EventScript_26EFEE
msgbox Route113_GlassWorkshop_Text_26F480, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq Route113_GlassWorkshop_EventScript_26F003
+ goto_if_eq Route113_GlassWorkshop_EventScript_26F003
setvar VAR_0x40BE, 13
subvar VAR_ASH_GATHER_COUNT, 1000
goto Route113_GlassWorkshop_EventScript_26F00F
@@ -128,10 +128,10 @@ Route113_GlassWorkshop_EventScript_26EF0E:: @ 826EF0E
bufferitemname 0, VAR_0x8008
setvar VAR_0x800A, 1000
compare VAR_ASH_GATHER_COUNT, 1000
- goto_if 0, Route113_GlassWorkshop_EventScript_26EFEE
+ goto_if_lt Route113_GlassWorkshop_EventScript_26EFEE
msgbox Route113_GlassWorkshop_Text_26F480, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq Route113_GlassWorkshop_EventScript_26F003
+ goto_if_eq Route113_GlassWorkshop_EventScript_26F003
setvar VAR_0x40BE, 14
subvar VAR_ASH_GATHER_COUNT, 1000
goto Route113_GlassWorkshop_EventScript_26F00F
@@ -143,10 +143,10 @@ Route113_GlassWorkshop_EventScript_26EF4A:: @ 826EF4A
bufferdecorationname 0, VAR_0x8008
setvar VAR_0x800A, 6000
compare VAR_ASH_GATHER_COUNT, 6000
- goto_if 0, Route113_GlassWorkshop_EventScript_26EFEE
+ goto_if_lt Route113_GlassWorkshop_EventScript_26EFEE
msgbox Route113_GlassWorkshop_Text_26F480, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq Route113_GlassWorkshop_EventScript_26F003
+ goto_if_eq Route113_GlassWorkshop_EventScript_26F003
setvar VAR_0x40BE, 15
subvar VAR_ASH_GATHER_COUNT, 6000
goto Route113_GlassWorkshop_EventScript_26F00F
@@ -158,10 +158,10 @@ Route113_GlassWorkshop_EventScript_26EF8B:: @ 826EF8B
bufferdecorationname 0, VAR_0x8008
setvar VAR_0x800A, 8000
compare VAR_ASH_GATHER_COUNT, 8000
- goto_if 0, Route113_GlassWorkshop_EventScript_26EFEE
+ goto_if_lt Route113_GlassWorkshop_EventScript_26EFEE
msgbox Route113_GlassWorkshop_Text_26F480, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq Route113_GlassWorkshop_EventScript_26F003
+ goto_if_eq Route113_GlassWorkshop_EventScript_26F003
setvar VAR_0x40BE, 16
subvar VAR_ASH_GATHER_COUNT, 8000
goto Route113_GlassWorkshop_EventScript_26F00F
@@ -203,9 +203,9 @@ Route113_GlassWorkshop_EventScript_26F00F:: @ 826F00F
fadescreen 0
msgbox Route113_GlassWorkshop_Text_26F688, MSGBOX_DEFAULT
compare VAR_0x8009, 0
- call_if 1, Route113_GlassWorkshop_EventScript_26F047
+ call_if_eq Route113_GlassWorkshop_EventScript_26F047
compare VAR_0x8009, 1
- call_if 1, Route113_GlassWorkshop_EventScript_26F05F
+ call_if_eq Route113_GlassWorkshop_EventScript_26F05F
setvar VAR_0x40BE, 2
release
end
@@ -213,13 +213,13 @@ Route113_GlassWorkshop_EventScript_26F00F:: @ 826F00F
Route113_GlassWorkshop_EventScript_26F047:: @ 826F047
giveitem_std VAR_0x8008
compare VAR_RESULT, 0
- goto_eq Route113_GlassWorkshop_EventScript_26F072
+ goto_if_eq Route113_GlassWorkshop_EventScript_26F072
return
Route113_GlassWorkshop_EventScript_26F05F:: @ 826F05F
givedecoration_std VAR_0x8008
compare VAR_RESULT, 0
- goto_eq Route113_GlassWorkshop_EventScript_26F081
+ goto_if_eq Route113_GlassWorkshop_EventScript_26F081
return
Route113_GlassWorkshop_EventScript_26F072:: @ 826F072
@@ -297,9 +297,9 @@ Route113_GlassWorkshop_EventScript_26F15B:: @ 826F15B
Route113_GlassWorkshop_EventScript_26F16F:: @ 826F16F
msgbox Route113_GlassWorkshop_Text_26F688, MSGBOX_DEFAULT
compare VAR_0x8009, 0
- call_if 1, Route113_GlassWorkshop_EventScript_26F047
+ call_if_eq Route113_GlassWorkshop_EventScript_26F047
compare VAR_0x8009, 1
- call_if 1, Route113_GlassWorkshop_EventScript_26F05F
+ call_if_eq Route113_GlassWorkshop_EventScript_26F05F
setvar VAR_0x40BE, 2
release
end
diff --git a/data/maps/Route114/scripts.inc b/data/maps/Route114/scripts.inc
index 6adf20870..b66b54910 100644
--- a/data/maps/Route114/scripts.inc
+++ b/data/maps/Route114/scripts.inc
@@ -6,18 +6,18 @@ Route114_MapScripts:: @ 81F252F
Route114_MapScript1_1F253F: @ 81F253F
compare VAR_0x4039, 1
- call_if 1, Route114_EventScript_273D13
+ call_if_eq Route114_EventScript_273D13
compare VAR_0x4037, 1
- call_if 1, Route114_EventScript_273D1B
+ call_if_eq Route114_EventScript_273D1B
compare VAR_0x4037, 2
- call_if 1, Route114_EventScript_273D1B
+ call_if_eq Route114_EventScript_273D1B
end
Route114_MapScript1_1F2561: @ 81F2561
compare VAR_0x4037, 1
- call_if 1, Route114_EventScript_273913
+ call_if_eq Route114_EventScript_273913
compare VAR_0x4037, 2
- call_if 1, Route114_EventScript_273926
+ call_if_eq Route114_EventScript_273926
end
Route114_MapScript2_1F2578: @ 81F2578
@@ -28,15 +28,14 @@ Route114_EventScript_1F2582:: @ 81F2582
lock
faceplayer
dodailyevents
- checkflag FLAG_0x92B
- goto_eq Route114_EventScript_1F25C7
+ goto_if_set FLAG_0x92B, 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_eq Route114_EventScript_272054
+ goto_if_eq Route114_EventScript_272054
setflag FLAG_0x92B
msgbox Route114_Text_2A7034, MSGBOX_DEFAULT
release
@@ -50,12 +49,11 @@ Route114_EventScript_1F25C7:: @ 81F25C7
Route114_EventScript_1F25D1:: @ 81F25D1
lock
faceplayer
- checkflag FLAG_0x0E7
- goto_eq Route114_EventScript_1F2608
+ goto_if_set FLAG_0x0E7, Route114_EventScript_1F2608
msgbox Route114_Text_1F2809, MSGBOX_DEFAULT
giveitem_std ITEM_TM05
compare VAR_RESULT, 0
- goto_eq Route114_EventScript_272054
+ goto_if_eq Route114_EventScript_272054
setflag FLAG_0x0E7
msgbox Route114_Text_1F2872, MSGBOX_DEFAULT
release
@@ -112,7 +110,7 @@ Route114_EventScript_1F269C:: @ 81F269C
trainerbattle_single TRAINER_STEVE_1, Route114_Text_29A943, Route114_Text_29A973, Route114_EventScript_1F26C8
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route114_EventScript_1F26E7
+ goto_if_eq Route114_EventScript_1F26E7
msgbox Route114_Text_29A981, MSGBOX_DEFAULT
release
end
@@ -134,7 +132,7 @@ Route114_EventScript_1F26FE:: @ 81F26FE
trainerbattle_single TRAINER_BERNIE_1, Route114_Text_29AADB, Route114_Text_29AB1A, Route114_EventScript_1F272A
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route114_EventScript_1F2749
+ goto_if_eq Route114_EventScript_1F2749
msgbox Route114_Text_29AB36, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route114_FossilManiacsHouse/scripts.inc b/data/maps/Route114_FossilManiacsHouse/scripts.inc
index f2e62b451..4985089c2 100644
--- a/data/maps/Route114_FossilManiacsHouse/scripts.inc
+++ b/data/maps/Route114_FossilManiacsHouse/scripts.inc
@@ -9,12 +9,11 @@ Route114_FossilManiacsHouse_MapScript1_22AD36: @ 822AD36
Route114_FossilManiacsHouse_EventScript_22AD3A:: @ 822AD3A
lock
faceplayer
- checkflag FLAG_0x105
- goto_eq Route114_FossilManiacsHouse_EventScript_22AD69
+ goto_if_set FLAG_0x105, Route114_FossilManiacsHouse_EventScript_22AD69
msgbox Route114_FossilManiacsHouse_Text_22AD85, MSGBOX_DEFAULT
giveitem_std ITEM_TM28
compare VAR_RESULT, 0
- goto_eq Route114_FossilManiacsHouse_EventScript_272054
+ goto_if_eq Route114_FossilManiacsHouse_EventScript_272054
setflag FLAG_0x105
release
end
diff --git a/data/maps/Route114_FossilManiacsTunnel/scripts.inc b/data/maps/Route114_FossilManiacsTunnel/scripts.inc
index 7b2a91810..850e970e3 100644
--- a/data/maps/Route114_FossilManiacsTunnel/scripts.inc
+++ b/data/maps/Route114_FossilManiacsTunnel/scripts.inc
@@ -4,8 +4,7 @@ Route114_FossilManiacsTunnel_MapScripts:: @ 822AF28
.byte 0
Route114_FossilManiacsTunnel_MapScript1_22AF33: @ 822AF33
- checkflag FLAG_SYS_GAME_CLEAR
- call_if 1, Route114_FossilManiacsTunnel_EventScript_22AF3D
+ call_if_set FLAG_SYS_GAME_CLEAR, Route114_FossilManiacsTunnel_EventScript_22AF3D
end
Route114_FossilManiacsTunnel_EventScript_22AF3D:: @ 822AF3D
@@ -14,8 +13,7 @@ Route114_FossilManiacsTunnel_EventScript_22AF3D:: @ 822AF3D
return
Route114_FossilManiacsTunnel_MapScript1_22AF49: @ 822AF49
- checkflag FLAG_SYS_GAME_CLEAR
- call_if 0, Route114_FossilManiacsTunnel_EventScript_22AF53
+ call_if_unset FLAG_SYS_GAME_CLEAR, Route114_FossilManiacsTunnel_EventScript_22AF53
end
Route114_FossilManiacsTunnel_EventScript_22AF53:: @ 822AF53
@@ -26,7 +24,7 @@ Route114_FossilManiacsTunnel_EventScript_22AF53:: @ 822AF53
Route114_FossilManiacsTunnel_EventScript_22AF66:: @ 822AF66
lockall
applymovement 1, Route114_FossilManiacsTunnel_Movement_2725A6
- applymovement 255, Route114_FossilManiacsTunnel_Movement_2725AA
+ applymovement EVENT_OBJ_ID_PLAYER, Route114_FossilManiacsTunnel_Movement_2725AA
waitmovement 0
msgbox Route114_FossilManiacsTunnel_Text_22B1F7, MSGBOX_DEFAULT
setvar VAR_0x40CC, 2
@@ -36,14 +34,13 @@ Route114_FossilManiacsTunnel_EventScript_22AF66:: @ 822AF66
Route114_FossilManiacsTunnel_EventScript_22AF87:: @ 822AF87
lock
faceplayer
- checkflag FLAG_0x10B
- goto_eq Route114_FossilManiacsTunnel_EventScript_22AFC6
+ goto_if_set FLAG_0x10B, Route114_FossilManiacsTunnel_EventScript_22AFC6
checkitem ITEM_ROOT_FOSSIL, 1
compare VAR_RESULT, 1
- goto_eq Route114_FossilManiacsTunnel_EventScript_22AFBC
+ goto_if_eq Route114_FossilManiacsTunnel_EventScript_22AFBC
checkitem ITEM_CLAW_FOSSIL, 1
compare VAR_RESULT, 1
- goto_eq Route114_FossilManiacsTunnel_EventScript_22AFBC
+ goto_if_eq Route114_FossilManiacsTunnel_EventScript_22AFBC
msgbox Route114_FossilManiacsTunnel_Text_22AFD0, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route114_LanettesHouse/scripts.inc b/data/maps/Route114_LanettesHouse/scripts.inc
index 0145ee945..984bca574 100644
--- a/data/maps/Route114_LanettesHouse/scripts.inc
+++ b/data/maps/Route114_LanettesHouse/scripts.inc
@@ -9,13 +9,12 @@ Route114_LanettesHouse_MapScript1_22B2CE: @ 822B2CE
Route114_LanettesHouse_EventScript_22B2D2:: @ 822B2D2
lock
faceplayer
- checkflag FLAG_0x083
- goto_eq Route114_LanettesHouse_EventScript_22B2FF
+ goto_if_set FLAG_0x083, Route114_LanettesHouse_EventScript_22B2FF
setflag FLAG_SYS_PC_LANETTE
msgbox Route114_LanettesHouse_Text_22B34E, MSGBOX_DEFAULT
givedecoration_std 99
compare VAR_RESULT, 0
- goto_eq Route114_LanettesHouse_EventScript_272067
+ goto_if_eq Route114_LanettesHouse_EventScript_272067
setflag FLAG_0x083
release
end
@@ -29,7 +28,7 @@ Route114_LanettesHouse_EventScript_22B309:: @ 822B309
lockall
msgbox Route114_LanettesHouse_Text_22B485, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq Route114_LanettesHouse_EventScript_22B327
+ goto_if_eq Route114_LanettesHouse_EventScript_22B327
msgbox Route114_LanettesHouse_Text_22B6E4, MSGBOX_DEFAULT
releaseall
end
@@ -37,7 +36,7 @@ Route114_LanettesHouse_EventScript_22B309:: @ 822B309
Route114_LanettesHouse_EventScript_22B327:: @ 822B327
msgbox Route114_LanettesHouse_Text_22B53C, MSGBOX_YESNO
compare VAR_RESULT, 1
- call_if 1, Route114_LanettesHouse_EventScript_22B33C
+ call_if_eq Route114_LanettesHouse_EventScript_22B33C
releaseall
end
diff --git a/data/maps/Route115/scripts.inc b/data/maps/Route115/scripts.inc
index 6c74a0d5a..560c360af 100644
--- a/data/maps/Route115/scripts.inc
+++ b/data/maps/Route115/scripts.inc
@@ -6,18 +6,18 @@ Route115_MapScripts:: @ 81F2920
Route115_MapScript1_1F2930: @ 81F2930
compare VAR_0x4037, 3
- call_if 1, Route115_EventScript_273939
+ call_if_eq Route115_EventScript_273939
compare VAR_0x4037, 4
- call_if 1, Route115_EventScript_27394C
+ call_if_eq Route115_EventScript_27394C
end
Route115_MapScript1_1F2947: @ 81F2947
compare VAR_0x4039, 1
- call_if 1, Route115_EventScript_273D13
+ call_if_eq Route115_EventScript_273D13
compare VAR_0x4037, 3
- call_if 1, Route115_EventScript_273D1B
+ call_if_eq Route115_EventScript_273D1B
compare VAR_0x4037, 4
- call_if 1, Route115_EventScript_273D1B
+ call_if_eq Route115_EventScript_273D1B
end
Route115_MapScript2_1F2969: @ 81F2969
@@ -40,7 +40,7 @@ Route115_EventScript_1F298E:: @ 81F298E
trainerbattle_single TRAINER_TIMOTHY_1, Route115_Text_29B1FA, Route115_Text_29B230, Route115_EventScript_1F29BA
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route115_EventScript_1F29D9
+ goto_if_eq Route115_EventScript_1F29D9
msgbox Route115_Text_29B258, MSGBOX_DEFAULT
release
end
@@ -67,7 +67,7 @@ Route115_EventScript_1F2A07:: @ 81F2A07
trainerbattle_single TRAINER_NOB_1, Route115_Text_29B449, Route115_Text_29B480, Route115_EventScript_1F2A33
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route115_EventScript_1F2A52
+ goto_if_eq Route115_EventScript_1F2A52
msgbox Route115_Text_29B49D, MSGBOX_DEFAULT
release
end
@@ -89,7 +89,7 @@ Route115_EventScript_1F2A69:: @ 81F2A69
trainerbattle_single TRAINER_CYNDY_1, Route115_Text_29B5EF, Route115_Text_29B62D, Route115_EventScript_1F2A95
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route115_EventScript_1F2AB4
+ goto_if_eq Route115_EventScript_1F2AB4
msgbox Route115_Text_29B647, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route116/scripts.inc b/data/maps/Route116/scripts.inc
index 2ad7ea58b..519bc0447 100644
--- a/data/maps/Route116/scripts.inc
+++ b/data/maps/Route116/scripts.inc
@@ -5,14 +5,13 @@ Route116_MapScripts:: @ 81F2C0C
.byte 0
Route116_MapScript1_1F2C1C: @ 81F2C1C
- checkflag FLAG_0x08F
- call_if 1, Route116_EventScript_1F2C47
+ call_if_set FLAG_0x08F, Route116_EventScript_1F2C47
compare VAR_0x4039, 1
- call_if 1, Route116_EventScript_273D13
+ call_if_eq Route116_EventScript_273D13
compare VAR_0x4037, 5
- call_if 1, Route116_EventScript_273D1B
+ call_if_eq Route116_EventScript_273D1B
compare VAR_0x4037, 6
- call_if 1, Route116_EventScript_273D1B
+ call_if_eq Route116_EventScript_273D1B
end
Route116_EventScript_1F2C47:: @ 81F2C47
@@ -21,9 +20,9 @@ Route116_EventScript_1F2C47:: @ 81F2C47
Route116_MapScript1_1F2C4F: @ 81F2C4F
compare VAR_0x4037, 5
- call_if 1, Route116_EventScript_27395F
+ call_if_eq Route116_EventScript_27395F
compare VAR_0x4037, 6
- call_if 1, Route116_EventScript_273972
+ call_if_eq Route116_EventScript_273972
end
Route116_MapScript2_1F2C66: @ 81F2C66
@@ -33,10 +32,8 @@ Route116_MapScript2_1F2C66: @ 81F2C66
Route116_EventScript_1F2C70:: @ 81F2C70
lock
faceplayer
- checkflag FLAG_0x08F
- goto_eq Route116_EventScript_1F2C8E
- checkflag FLAG_0x08E
- goto_eq Route116_EventScript_1F2C98
+ goto_if_set FLAG_0x08F, Route116_EventScript_1F2C8E
+ goto_if_set FLAG_0x08E, Route116_EventScript_1F2C98
msgbox Route116_Text_1F3140, MSGBOX_DEFAULT
release
end
@@ -54,8 +51,7 @@ Route116_EventScript_1F2C98:: @ 81F2C98
Route116_EventScript_1F2CA2:: @ 81F2CA2
lock
faceplayer
- checkflag FLAG_0x11F
- goto_eq Route116_EventScript_1F2D2B
+ goto_if_set FLAG_0x11F, Route116_EventScript_1F2D2B
msgbox Route116_Text_1F3317, MSGBOX_DEFAULT
goto Route116_EventScript_1F2CBB
end
@@ -64,17 +60,17 @@ Route116_EventScript_1F2CBB:: @ 81F2CBB
setflag FLAG_0x11F
giveitem_std ITEM_REPEAT_BALL
compare VAR_RESULT, 0
- goto_eq Route116_EventScript_1F2D39
+ goto_if_eq Route116_EventScript_1F2D39
msgbox Route116_Text_1F3521, MSGBOX_DEFAULT
closemessage
compare VAR_FACING, 2
- call_if 1, Route116_EventScript_1F2D15
+ call_if_eq Route116_EventScript_1F2D15
compare VAR_FACING, 1
- call_if 1, Route116_EventScript_1F2D15
+ call_if_eq Route116_EventScript_1F2D15
compare VAR_FACING, 3
- call_if 1, Route116_EventScript_1F2D15
+ call_if_eq Route116_EventScript_1F2D15
compare VAR_FACING, 4
- call_if 1, Route116_EventScript_1F2D20
+ call_if_eq Route116_EventScript_1F2D20
removeobject VAR_LAST_TALKED
clearflag FLAG_HIDE_RUSTBORO_CITY_DEVON_CORP_3F_EMPLOYEE
setflag FLAG_0x100
@@ -156,7 +152,7 @@ Route116_EventScript_1F2D84:: @ 81F2D84
Route116_EventScript_1F2D95:: @ 81F2D95
lockall
applymovement 11, Route116_Movement_2725A8
- applymovement 255, Route116_Movement_2725A4
+ applymovement EVENT_OBJ_ID_PLAYER, Route116_Movement_2725A4
waitmovement 0
msgbox Route116_Text_1F309D, MSGBOX_DEFAULT
setvar VAR_0x406F, 2
@@ -168,10 +164,10 @@ Route116_EventScript_1F2DB6:: @ 81F2DB6
faceplayer
checkitem ITEM_BLACK_GLASSES, 1
compare VAR_RESULT, 1
- goto_eq Route116_EventScript_1F2DF1
+ goto_if_eq Route116_EventScript_1F2DF1
specialvar VAR_RESULT, FoundBlackGlasses
compare VAR_RESULT, 1
- goto_eq Route116_EventScript_1F2DE2
+ goto_if_eq Route116_EventScript_1F2DE2
msgbox Route116_Text_1F3657, MSGBOX_DEFAULT
release
end
@@ -187,7 +183,7 @@ Route116_EventScript_1F2DF1:: @ 81F2DF1
msgbox Route116_Text_1F3688, MSGBOX_DEFAULT
specialvar VAR_RESULT, FoundBlackGlasses
compare VAR_RESULT, 1
- goto_eq Route116_EventScript_1F2E1B
+ goto_if_eq Route116_EventScript_1F2E1B
msgbox Route116_Text_1F375E, MSGBOX_DEFAULT
release
end
@@ -201,13 +197,13 @@ Route116_EventScript_1F2E1B:: @ 81F2E1B
Route116_EventScript_1F2E2A:: @ 81F2E2A
delay 20
compare VAR_FACING, 2
- call_if 1, Route116_EventScript_1F2E5E
+ call_if_eq Route116_EventScript_1F2E5E
compare VAR_FACING, 1
- call_if 1, Route116_EventScript_1F2E5E
+ call_if_eq Route116_EventScript_1F2E5E
compare VAR_FACING, 3
- call_if 1, Route116_EventScript_1F2E5E
+ call_if_eq Route116_EventScript_1F2E5E
compare VAR_FACING, 4
- call_if 1, Route116_EventScript_1F2E69
+ call_if_eq Route116_EventScript_1F2E69
removeobject VAR_LAST_TALKED
release
end
@@ -261,18 +257,17 @@ Route116_EventScript_1F2EB7:: @ 81F2EB7
trainerbattle_single TRAINER_JERRY_1, Route116_Text_29BD0C, Route116_Text_29BD66, Route116_EventScript_1F2EF8
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route116_EventScript_1F2F4E
+ goto_if_eq Route116_EventScript_1F2F4E
setvar VAR_0x8004, 273
specialvar VAR_RESULT, sub_813B4E0
compare VAR_RESULT, 0
- goto_eq Route116_EventScript_1F2F22
+ goto_if_eq Route116_EventScript_1F2F22
msgbox Route116_Text_29BD92, MSGBOX_DEFAULT
release
end
Route116_EventScript_1F2EF8:: @ 81F2EF8
- checkflag FLAG_HAS_MATCH_CALL
- goto_eq Route116_EventScript_1F2F03
+ goto_if_set FLAG_HAS_MATCH_CALL, Route116_EventScript_1F2F03
release
end
@@ -285,8 +280,7 @@ Route116_EventScript_1F2F03:: @ 81F2F03
end
Route116_EventScript_1F2F22:: @ 81F2F22
- checkflag FLAG_HAS_MATCH_CALL
- goto_eq Route116_EventScript_1F2F35
+ goto_if_set FLAG_HAS_MATCH_CALL, Route116_EventScript_1F2F35
msgbox Route116_Text_29BD92, MSGBOX_DEFAULT
release
end
@@ -316,18 +310,17 @@ Route116_EventScript_1F2F93:: @ 81F2F93
trainerbattle_single TRAINER_KAREN_1, Route116_Text_29BFC5, Route116_Text_29BFFA, Route116_EventScript_1F2FD4
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route116_EventScript_1F302A
+ goto_if_eq Route116_EventScript_1F302A
setvar VAR_0x8004, 280
specialvar VAR_RESULT, sub_813B4E0
compare VAR_RESULT, 0
- goto_eq Route116_EventScript_1F2FFE
+ goto_if_eq Route116_EventScript_1F2FFE
msgbox Route116_Text_29C010, MSGBOX_DEFAULT
release
end
Route116_EventScript_1F2FD4:: @ 81F2FD4
- checkflag FLAG_HAS_MATCH_CALL
- goto_eq Route116_EventScript_1F2FDF
+ goto_if_set FLAG_HAS_MATCH_CALL, Route116_EventScript_1F2FDF
release
end
@@ -340,8 +333,7 @@ Route116_EventScript_1F2FDF:: @ 81F2FDF
end
Route116_EventScript_1F2FFE:: @ 81F2FFE
- checkflag FLAG_HAS_MATCH_CALL
- goto_eq Route116_EventScript_1F3011
+ goto_if_set FLAG_HAS_MATCH_CALL, Route116_EventScript_1F3011
msgbox Route116_Text_29C010, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route116_TunnelersRestHouse/scripts.inc b/data/maps/Route116_TunnelersRestHouse/scripts.inc
index af5a96675..89ccdce8d 100644
--- a/data/maps/Route116_TunnelersRestHouse/scripts.inc
+++ b/data/maps/Route116_TunnelersRestHouse/scripts.inc
@@ -17,8 +17,7 @@ Route116_TunnelersRestHouse_EventScript_22B863:: @ 822B863
Route116_TunnelersRestHouse_EventScript_22B86C:: @ 822B86C
lock
faceplayer
- checkflag FLAG_RUSTURF_TUNNEL_OPENED
- goto_eq Route116_TunnelersRestHouse_EventScript_22B881
+ goto_if_set FLAG_RUSTURF_TUNNEL_OPENED, Route116_TunnelersRestHouse_EventScript_22B881
msgbox Route116_TunnelersRestHouse_Text_22BAAF, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route117/scripts.inc b/data/maps/Route117/scripts.inc
index 1dbc7167e..4a51c17d8 100644
--- a/data/maps/Route117/scripts.inc
+++ b/data/maps/Route117/scripts.inc
@@ -7,8 +7,7 @@ Route117_MapScript1_1F3983: @ 81F3983
end
Route117_EventScript_1F3989:: @ 81F3989
- checkflag FLAG_PENDING_DAYCARE_EGG
- goto_if 0, Route117_EventScript_1F3999
+ goto_if_unset FLAG_PENDING_DAYCARE_EGG, Route117_EventScript_1F3999
setobjectxyperm 3, 47, 6
Route117_EventScript_1F3999:: @ 81F3999
@@ -42,7 +41,7 @@ Route117_EventScript_1F39D0:: @ 81F39D0
trainerbattle_single TRAINER_ISAAC_1, Route117_Text_29C43F, Route117_Text_29C47A, Route117_EventScript_1F39FC
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route117_EventScript_1F3A1B
+ goto_if_eq Route117_EventScript_1F3A1B
msgbox Route117_Text_29C498, MSGBOX_DEFAULT
release
end
@@ -64,7 +63,7 @@ Route117_EventScript_1F3A32:: @ 81F3A32
trainerbattle_single TRAINER_LYDIA_1, Route117_Text_29C612, Route117_Text_29C659, Route117_EventScript_1F3A5E
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route117_EventScript_1F3A7D
+ goto_if_eq Route117_EventScript_1F3A7D
msgbox Route117_Text_29C679, MSGBOX_DEFAULT
release
end
@@ -86,7 +85,7 @@ Route117_EventScript_1F3A94:: @ 81F3A94
trainerbattle_single TRAINER_DYLAN_1, Route117_Text_29C7A5, Route117_Text_29C7EB, Route117_EventScript_1F3AC0
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route117_EventScript_1F3ADF
+ goto_if_eq Route117_EventScript_1F3ADF
msgbox Route117_Text_29C800, MSGBOX_DEFAULT
release
end
@@ -108,7 +107,7 @@ Route117_EventScript_1F3AF6:: @ 81F3AF6
trainerbattle_single TRAINER_MARIA_1, Route117_Text_29C955, Route117_Text_29C9A6, Route117_EventScript_1F3B22
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route117_EventScript_1F3B41
+ goto_if_eq Route117_EventScript_1F3B41
msgbox Route117_Text_29C9D0, MSGBOX_DEFAULT
release
end
@@ -135,7 +134,7 @@ Route117_EventScript_1F3B6F:: @ 81F3B6F
trainerbattle_double TRAINER_ANNA_AND_MEG_1, Route117_Text_29CC4A, Route117_Text_29CC8E, Route117_Text_29CD61, Route117_EventScript_1F3B9F
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route117_EventScript_1F3BB8
+ goto_if_eq Route117_EventScript_1F3BB8
msgbox Route117_Text_29CCCB, MSGBOX_DEFAULT
release
end
@@ -155,7 +154,7 @@ Route117_EventScript_1F3BD3:: @ 81F3BD3
trainerbattle_double TRAINER_ANNA_AND_MEG_1, Route117_Text_29CD9D, Route117_Text_29CDE9, Route117_Text_29CE52, Route117_EventScript_1F3C03
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route117_EventScript_1F3C1C
+ goto_if_eq Route117_EventScript_1F3C1C
msgbox Route117_Text_29CE17, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route118/scripts.inc b/data/maps/Route118/scripts.inc
index 8d1cf48e4..91067e786 100644
--- a/data/maps/Route118/scripts.inc
+++ b/data/maps/Route118/scripts.inc
@@ -7,18 +7,18 @@ Route118_MapScripts:: @ 81F3DBC
Route118_MapScript1_1F3DCC: @ 81F3DCC
call Route118_EventScript_28CCC7
compare VAR_0x4039, 1
- call_if 1, Route118_EventScript_273D13
+ call_if_eq Route118_EventScript_273D13
compare VAR_0x4037, 7
- call_if 1, Route118_EventScript_273D1B
+ call_if_eq Route118_EventScript_273D1B
compare VAR_0x4037, 8
- call_if 1, Route118_EventScript_273D1B
+ call_if_eq Route118_EventScript_273D1B
end
Route118_MapScript1_1F3DF3: @ 81F3DF3
compare VAR_0x4037, 7
- call_if 1, Route118_EventScript_273985
+ call_if_eq Route118_EventScript_273985
compare VAR_0x4037, 8
- call_if 1, Route118_EventScript_273998
+ call_if_eq Route118_EventScript_273998
end
Route118_MapScript2_1F3E0A: @ 81F3E0A
@@ -28,13 +28,12 @@ Route118_MapScript2_1F3E0A: @ 81F3E0A
Route118_EventScript_1F3E14:: @ 81F3E14
lock
faceplayer
- checkflag FLAG_0x0E3
- goto_eq Route118_EventScript_1F3E69
+ goto_if_set FLAG_0x0E3, Route118_EventScript_1F3E69
msgbox Route118_Text_1F427B, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq Route118_EventScript_1F3E3E
+ goto_if_eq Route118_EventScript_1F3E3E
compare VAR_RESULT, 0
- goto_eq Route118_EventScript_1F3E5F
+ goto_if_eq Route118_EventScript_1F3E5F
end
Route118_EventScript_1F3E3E:: @ 81F3E3E
@@ -70,7 +69,7 @@ Route118_EventScript_1F3E85:: @ 81F3E85
Route118_EventScript_1F3E8E:: @ 81F3E8E
lockall
setvar VAR_0x8008, 0
- applymovement 255, Route118_Movement_2725B2
+ applymovement EVENT_OBJ_ID_PLAYER, Route118_Movement_2725B2
waitmovement 0
applymovement 19, Route118_Movement_1F3F61
waitmovement 0
@@ -80,7 +79,7 @@ Route118_EventScript_1F3E8E:: @ 81F3E8E
Route118_EventScript_1F3EAE:: @ 81F3EAE
lockall
setvar VAR_0x8008, 1
- applymovement 255, Route118_Movement_2725B2
+ applymovement EVENT_OBJ_ID_PLAYER, Route118_Movement_2725B2
waitmovement 0
goto Route118_EventScript_1F3EE4
end
@@ -88,7 +87,7 @@ Route118_EventScript_1F3EAE:: @ 81F3EAE
Route118_EventScript_1F3EC4:: @ 81F3EC4
lockall
setvar VAR_0x8008, 2
- applymovement 255, Route118_Movement_2725B2
+ applymovement EVENT_OBJ_ID_PLAYER, Route118_Movement_2725B2
waitmovement 0
applymovement 19, Route118_Movement_1F3F63
waitmovement 0
@@ -103,30 +102,30 @@ Route118_EventScript_1F3EE4:: @ 81F3EE4
msgbox Route118_Text_1F40BE, MSGBOX_DEFAULT
closemessage
compare VAR_0x8008, 0
- call_if 1, Route118_EventScript_1F3F28
+ call_if_eq Route118_EventScript_1F3F28
compare VAR_0x8008, 1
- call_if 1, Route118_EventScript_1F3F3A
+ call_if_eq Route118_EventScript_1F3F3A
compare VAR_0x8008, 2
- call_if 1, Route118_EventScript_1F3F4C
+ call_if_eq Route118_EventScript_1F3F4C
setvar VAR_0x4071, 1
removeobject 19
releaseall
end
Route118_EventScript_1F3F28:: @ 81F3F28
- applymovement 255, Route118_Movement_1F3F5E
+ applymovement EVENT_OBJ_ID_PLAYER, Route118_Movement_1F3F5E
applymovement 19, Route118_Movement_1F3F69
waitmovement 0
return
Route118_EventScript_1F3F3A:: @ 81F3F3A
- applymovement 255, Route118_Movement_1F3F5E
+ applymovement EVENT_OBJ_ID_PLAYER, Route118_Movement_1F3F5E
applymovement 19, Route118_Movement_1F3F74
waitmovement 0
return
Route118_EventScript_1F3F4C:: @ 81F3F4C
- applymovement 255, Route118_Movement_1F3F5E
+ applymovement EVENT_OBJ_ID_PLAYER, Route118_Movement_1F3F5E
applymovement 19, Route118_Movement_1F3F7E
waitmovement 0
return
@@ -190,7 +189,7 @@ Route118_EventScript_1F3F87:: @ 81F3F87
trainerbattle_single TRAINER_ROSE_1, Route118_Text_29D290, Route118_Text_29D2D8, Route118_EventScript_1F3FB3
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route118_EventScript_1F3FD2
+ goto_if_eq Route118_EventScript_1F3FD2
msgbox Route118_Text_29D2FA, MSGBOX_DEFAULT
release
end
@@ -222,7 +221,7 @@ Route118_EventScript_1F4017:: @ 81F4017
trainerbattle_single TRAINER_DALTON_1, Route118_Text_29D6AF, Route118_Text_29D6CD, Route118_EventScript_1F4043
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route118_EventScript_1F4062
+ goto_if_eq Route118_EventScript_1F4062
msgbox Route118_Text_29D6D8, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route119/scripts.inc b/data/maps/Route119/scripts.inc
index fd1d127d1..229db6da5 100644
--- a/data/maps/Route119/scripts.inc
+++ b/data/maps/Route119/scripts.inc
@@ -4,14 +4,13 @@ Route119_MapScripts:: @ 81F4424
.byte 0
Route119_MapScript1_1F442F: @ 81F442F
- checkflag FLAG_SYS_CTRL_OBJ_DELETE
- call_if 1, Route119_EventScript_1F4439
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, Route119_EventScript_1F4439
end
Route119_EventScript_1F4439:: @ 81F4439
specialvar VAR_RESULT, GetBattleOutcome
compare VAR_RESULT, 7
- goto_if 5, Route119_EventScript_27374E
+ goto_if_ne Route119_EventScript_27374E
removeobject VAR_LAST_TALKED
return
@@ -19,7 +18,7 @@ Route119_MapScript1_1F444D: @ 81F444D
call Route119_EventScript_271ED7
call Route119_EventScript_271EFB
compare VAR_WEATHER_INSTITUTE_STATE, 1
- call_if 1, Route119_EventScript_1F4466
+ call_if_eq Route119_EventScript_1F4466
special SetRoute119Weather
end
@@ -44,29 +43,29 @@ Route119_EventScript_1F4488:: @ 81F4488
addobject 25
checkplayergender
compare VAR_RESULT, 0
- call_if 1, Route119_EventScript_1F4501
+ call_if_eq Route119_EventScript_1F4501
compare VAR_RESULT, 1
- call_if 1, Route119_EventScript_1F4506
+ call_if_eq Route119_EventScript_1F4506
delay 65
compare VAR_TEMP_1, 1
- call_if 1, Route119_EventScript_1F46C6
+ call_if_eq Route119_EventScript_1F46C6
compare VAR_TEMP_1, 2
- call_if 1, Route119_EventScript_1F46D1
- applymovement 255, Route119_Movement_2725AA
+ call_if_eq Route119_EventScript_1F46D1
+ applymovement EVENT_OBJ_ID_PLAYER, Route119_Movement_2725AA
waitmovement 0
delay 30
compare VAR_TEMP_1, 1
- call_if 1, Route119_EventScript_1F4700
+ call_if_eq Route119_EventScript_1F4700
compare VAR_TEMP_1, 2
- call_if 1, Route119_EventScript_1F470F
+ call_if_eq Route119_EventScript_1F470F
removeobject 25
addobject 16
delay 30
checkplayergender
compare VAR_RESULT, 0
- goto_eq Route119_EventScript_1F450B
+ goto_if_eq Route119_EventScript_1F450B
compare VAR_RESULT, 1
- goto_eq Route119_EventScript_1F4585
+ goto_if_eq Route119_EventScript_1F4585
releaseall
end
@@ -146,25 +145,25 @@ Route119_EventScript_1F45FF:: @ 81F45FF
Route119_EventScript_1F460F:: @ 81F460F
closemessage
compare VAR_TEMP_1, 1
- call_if 1, Route119_EventScript_1F4700
+ call_if_eq Route119_EventScript_1F4700
compare VAR_TEMP_1, 2
- call_if 1, Route119_EventScript_1F470F
+ call_if_eq Route119_EventScript_1F470F
removeobject 16
addobject 25
delay 30
compare VAR_TEMP_1, 1
- call_if 1, Route119_EventScript_1F46DC
+ call_if_eq Route119_EventScript_1F46DC
compare VAR_TEMP_1, 2
- call_if 1, Route119_EventScript_1F46EE
+ call_if_eq Route119_EventScript_1F46EE
removeobject 25
setvar VAR_0x4072, 1
savebgm MUS_DUMMY
fadedefaultbgm
delay 60
compare VAR_TEMP_1, 1
- call_if 1, Route119_EventScript_1F46A0
+ call_if_eq Route119_EventScript_1F46A0
compare VAR_TEMP_1, 2
- call_if 1, Route119_EventScript_1F46A8
+ call_if_eq Route119_EventScript_1F46A8
addobject 43
applymovement 43, Route119_Movement_1F4752
waitmovement 0
@@ -172,9 +171,9 @@ Route119_EventScript_1F460F:: @ 81F460F
msgbox Route119_Text_1F4E60, MSGBOX_DEFAULT
closemessage
compare VAR_TEMP_1, 1
- call_if 1, Route119_EventScript_1F46B0
+ call_if_eq Route119_EventScript_1F46B0
compare VAR_TEMP_1, 2
- call_if 1, Route119_EventScript_1F46BB
+ call_if_eq Route119_EventScript_1F46BB
removeobject 43
releaseall
end
@@ -208,13 +207,13 @@ Route119_EventScript_1F46D1:: @ 81F46D1
return
Route119_EventScript_1F46DC:: @ 81F46DC
- applymovement 255, Route119_Movement_1F471E
+ applymovement EVENT_OBJ_ID_PLAYER, Route119_Movement_1F471E
applymovement 25, Route119_Movement_1F473D
waitmovement 0
return
Route119_EventScript_1F46EE:: @ 81F46EE
- applymovement 255, Route119_Movement_1F4723
+ applymovement EVENT_OBJ_ID_PLAYER, Route119_Movement_1F4723
applymovement 25, Route119_Movement_1F4747
waitmovement 0
return
@@ -370,7 +369,7 @@ Route119_EventScript_1F4810:: @ 81F4810
trainerbattle_single TRAINER_JACKSON_1, Route119_Text_29DC4C, Route119_Text_29DC9F, Route119_EventScript_1F483C
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route119_EventScript_1F485B
+ goto_if_eq Route119_EventScript_1F485B
msgbox Route119_Text_29DCC6, MSGBOX_DEFAULT
release
end
@@ -392,7 +391,7 @@ Route119_EventScript_1F4872:: @ 81F4872
trainerbattle_single TRAINER_CATHERINE_1, Route119_Text_29DE0F, Route119_Text_29DE5D, Route119_EventScript_1F489E
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route119_EventScript_1F48BD
+ goto_if_eq Route119_EventScript_1F48BD
msgbox Route119_Text_29DE88, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route119_WeatherInstitute_1F/scripts.inc b/data/maps/Route119_WeatherInstitute_1F/scripts.inc
index 3b36baf91..b0426ea2e 100644
--- a/data/maps/Route119_WeatherInstitute_1F/scripts.inc
+++ b/data/maps/Route119_WeatherInstitute_1F/scripts.inc
@@ -4,7 +4,7 @@ Route119_WeatherInstitute_1F_MapScripts:: @ 826FA86
Route119_WeatherInstitute_1F_MapScript1_26FA8C: @ 826FA8C
compare VAR_WEATHER_INSTITUTE_STATE, 0
- call_if 1, Route119_WeatherInstitute_1F_EventScript_26FA98
+ call_if_eq Route119_WeatherInstitute_1F_EventScript_26FA98
end
Route119_WeatherInstitute_1F_EventScript_26FA98:: @ 826FA98
@@ -17,7 +17,7 @@ Route119_WeatherInstitute_1F_EventScript_26FAA4:: @ 826FAA4
faceplayer
special GetPlayerBigGuyGirlString
compare VAR_WEATHER_INSTITUTE_STATE, 0
- goto_eq Route119_WeatherInstitute_1F_EventScript_26FABE
+ goto_if_eq Route119_WeatherInstitute_1F_EventScript_26FABE
msgbox Route119_WeatherInstitute_1F_Text_26FCE5, MSGBOX_DEFAULT
release
end
@@ -30,15 +30,12 @@ Route119_WeatherInstitute_1F_EventScript_26FABE:: @ 826FABE
Route119_WeatherInstitute_1F_EventScript_26FAC8:: @ 826FAC8
lock
faceplayer
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, Route119_WeatherInstitute_1F_EventScript_26FB05
+ goto_if_unset FLAG_SYS_GAME_CLEAR, Route119_WeatherInstitute_1F_EventScript_26FB05
setvar VAR_0x8004, 0
- checkflag FLAG_0x1BE
- call_if 1, Route119_WeatherInstitute_1F_EventScript_26FAFF
- checkflag FLAG_0x1BF
- call_if 1, Route119_WeatherInstitute_1F_EventScript_26FAFF
+ call_if_set FLAG_0x1BE, Route119_WeatherInstitute_1F_EventScript_26FAFF
+ call_if_set FLAG_0x1BF, Route119_WeatherInstitute_1F_EventScript_26FAFF
compare VAR_0x8004, 2
- goto_eq Route119_WeatherInstitute_1F_EventScript_26FB05
+ goto_if_eq Route119_WeatherInstitute_1F_EventScript_26FB05
msgbox Route119_WeatherInstitute_1F_Text_26FDE8, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route119_WeatherInstitute_2F/scripts.inc b/data/maps/Route119_WeatherInstitute_2F/scripts.inc
index 35dd538df..6d54e62ad 100644
--- a/data/maps/Route119_WeatherInstitute_2F/scripts.inc
+++ b/data/maps/Route119_WeatherInstitute_2F/scripts.inc
@@ -4,11 +4,10 @@ Route119_WeatherInstitute_2F_MapScripts:: @ 826FF1E
Route119_WeatherInstitute_2F_MapScript1_26FF24: @ 826FF24
compare VAR_WEATHER_INSTITUTE_STATE, 0
- call_if 1, Route119_WeatherInstitute_2F_EventScript_26FF44
+ call_if_eq Route119_WeatherInstitute_2F_EventScript_26FF44
compare VAR_WEATHER_INSTITUTE_STATE, 1
- call_if 1, Route119_WeatherInstitute_2F_EventScript_26FF50
- checkflag FLAG_SYS_GAME_CLEAR
- call_if 1, Route119_WeatherInstitute_2F_EventScript_26FF5C
+ call_if_eq Route119_WeatherInstitute_2F_EventScript_26FF50
+ call_if_set FLAG_SYS_GAME_CLEAR, Route119_WeatherInstitute_2F_EventScript_26FF5C
end
Route119_WeatherInstitute_2F_EventScript_26FF44:: @ 826FF44
@@ -51,7 +50,7 @@ Route119_WeatherInstitute_2F_EventScript_26FFC8:: @ 826FFC8
closemessage
addobject 7
applymovement 7, Route119_WeatherInstitute_2F_Movement_270170
- applymovement 255, Route119_WeatherInstitute_2F_Movement_27017C
+ applymovement EVENT_OBJ_ID_PLAYER, Route119_WeatherInstitute_2F_Movement_27017C
waitmovement 0
msgbox Route119_WeatherInstitute_2F_Text_270568, MSGBOX_DEFAULT
closemessage
@@ -73,7 +72,7 @@ Route119_WeatherInstitute_2F_EventScript_26FFC8:: @ 826FFC8
removeobject 3
removeobject 8
removeobject 7
- applymovement 255, Route119_WeatherInstitute_2F_Movement_270184
+ applymovement EVENT_OBJ_ID_PLAYER, Route119_WeatherInstitute_2F_Movement_270184
waitmovement 0
fadescreen 0
applymovement 5, Route119_WeatherInstitute_2F_Movement_270187
@@ -87,9 +86,9 @@ Route119_WeatherInstitute_2F_EventScript_27004D:: @ 827004D
setvar VAR_TEMP_1, 385
givemon SPECIES_CASTFORM, 25, ITEM_MYSTIC_WATER, 0x0, 0x0, 0
compare VAR_RESULT, 0
- goto_eq Route119_WeatherInstitute_2F_EventScript_270085
+ goto_if_eq Route119_WeatherInstitute_2F_EventScript_270085
compare VAR_RESULT, 1
- goto_eq Route119_WeatherInstitute_2F_EventScript_2700AD
+ goto_if_eq Route119_WeatherInstitute_2F_EventScript_2700AD
goto Route119_WeatherInstitute_2F_EventScript_273811
end
@@ -97,7 +96,7 @@ Route119_WeatherInstitute_2F_EventScript_270085:: @ 8270085
call Route119_WeatherInstitute_2F_EventScript_2700DB
msgbox gUnknown_08273374, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq Route119_WeatherInstitute_2F_EventScript_2700EA
+ goto_if_eq Route119_WeatherInstitute_2F_EventScript_2700EA
call Route119_WeatherInstitute_2F_EventScript_27378B
call Route119_WeatherInstitute_2F_EventScript_2723DD
goto Route119_WeatherInstitute_2F_EventScript_2700EA
@@ -107,7 +106,7 @@ Route119_WeatherInstitute_2F_EventScript_2700AD:: @ 82700AD
call Route119_WeatherInstitute_2F_EventScript_2700DB
msgbox gUnknown_08273374, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq Route119_WeatherInstitute_2F_EventScript_2700D0
+ goto_if_eq Route119_WeatherInstitute_2F_EventScript_2700D0
call Route119_WeatherInstitute_2F_EventScript_273797
goto Route119_WeatherInstitute_2F_EventScript_2700D0
end
@@ -132,25 +131,21 @@ Route119_WeatherInstitute_2F_EventScript_2700EA:: @ 82700EA
end
Route119_WeatherInstitute_2F_EventScript_2700F7:: @ 82700F7
- checkflag FLAG_SYS_GAME_CLEAR
- goto_eq Route119_WeatherInstitute_2F_EventScript_27010A
+ goto_if_set FLAG_SYS_GAME_CLEAR, Route119_WeatherInstitute_2F_EventScript_27010A
msgbox Route119_WeatherInstitute_2F_Text_27077E, MSGBOX_DEFAULT
release
end
Route119_WeatherInstitute_2F_EventScript_27010A:: @ 827010A
setvar VAR_0x8004, 0
- checkflag FLAG_0x1BE
- call_if 1, Route119_WeatherInstitute_2F_EventScript_270160
- checkflag FLAG_0x1BF
- call_if 1, Route119_WeatherInstitute_2F_EventScript_270160
+ call_if_set FLAG_0x1BE, Route119_WeatherInstitute_2F_EventScript_270160
+ call_if_set FLAG_0x1BF, Route119_WeatherInstitute_2F_EventScript_270160
compare VAR_0x8004, 2
- goto_eq Route119_WeatherInstitute_2F_EventScript_270166
- checkflag FLAG_TEMP_2
- call_if 0, Route119_WeatherInstitute_2F_EventScript_270159
+ goto_if_eq Route119_WeatherInstitute_2F_EventScript_270166
+ call_if_unset FLAG_TEMP_2, Route119_WeatherInstitute_2F_EventScript_270159
specialvar VAR_RESULT, sub_813B374
compare VAR_RESULT, 1
- goto_eq Route119_WeatherInstitute_2F_EventScript_27014F
+ goto_if_eq Route119_WeatherInstitute_2F_EventScript_27014F
msgbox Route119_WeatherInstitute_2F_Text_2707F1, MSGBOX_DEFAULT
release
end
@@ -212,8 +207,7 @@ Route119_WeatherInstitute_2F_Movement_270187: @ 8270187
Route119_WeatherInstitute_2F_EventScript_27018B:: @ 827018B
lock
faceplayer
- checkflag FLAG_0x097
- goto_eq Route119_WeatherInstitute_2F_EventScript_2700F7
+ goto_if_set FLAG_0x097, Route119_WeatherInstitute_2F_EventScript_2700F7
goto Route119_WeatherInstitute_2F_EventScript_27004D
end
diff --git a/data/maps/Route120/scripts.inc b/data/maps/Route120/scripts.inc
index ba16b1a2f..cde0fbbd3 100644
--- a/data/maps/Route120/scripts.inc
+++ b/data/maps/Route120/scripts.inc
@@ -5,29 +5,28 @@ Route120_MapScripts:: @ 81F53EC
.byte 0
Route120_MapScript1_1F53FC: @ 81F53FC
- checkflag FLAG_SYS_CTRL_OBJ_DELETE
- call_if 1, Route120_EventScript_1F5406
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, Route120_EventScript_1F5406
end
Route120_EventScript_1F5406:: @ 81F5406
compare VAR_0x8009, 0
- call_if 1, Route120_EventScript_1F5449
+ call_if_eq Route120_EventScript_1F5449
compare VAR_0x8009, 1
- call_if 1, Route120_EventScript_1F5460
+ call_if_eq Route120_EventScript_1F5460
compare VAR_0x8009, 2
- call_if 1, Route120_EventScript_1F5460
+ call_if_eq Route120_EventScript_1F5460
compare VAR_0x8009, 3
- call_if 1, Route120_EventScript_1F5460
+ call_if_eq Route120_EventScript_1F5460
compare VAR_0x8009, 4
- call_if 1, Route120_EventScript_1F5460
+ call_if_eq Route120_EventScript_1F5460
compare VAR_0x8009, 5
- call_if 1, Route120_EventScript_1F5460
+ call_if_eq Route120_EventScript_1F5460
return
Route120_EventScript_1F5449:: @ 81F5449
specialvar VAR_RESULT, GetBattleOutcome
compare VAR_RESULT, 7
- goto_if 5, Route120_EventScript_27374E
+ goto_if_ne Route120_EventScript_27374E
removeobject 30
removeobject 36
return
@@ -35,17 +34,14 @@ Route120_EventScript_1F5449:: @ 81F5449
Route120_EventScript_1F5460:: @ 81F5460
specialvar VAR_RESULT, GetBattleOutcome
compare VAR_RESULT, 7
- goto_if 5, Route120_EventScript_27374E
+ goto_if_ne Route120_EventScript_27374E
removeobject VAR_LAST_TALKED
return
Route120_MapScript1_1F5474: @ 81F5474
- checkflag FLAG_0x0E4
- call_if 0, Route120_EventScript_1F5490
- checkflag FLAG_0x11D
- call_if 1, Route120_EventScript_1F54A3
- checkflag FLAG_0x11D
- call_if 0, Route120_EventScript_1F54C8
+ call_if_unset FLAG_0x0E4, Route120_EventScript_1F5490
+ call_if_set FLAG_0x11D, Route120_EventScript_1F54A3
+ call_if_unset FLAG_0x11D, Route120_EventScript_1F54C8
end
Route120_EventScript_1F5490:: @ 81F5490
@@ -72,44 +68,43 @@ Route120_MapScript1_1F54CD: @ 81F54CD
Route120_EventScript_1F54D8:: @ 81F54D8
getplayerxy VAR_TEMP_0, VAR_TEMP_1
compare VAR_TEMP_1, 14
- goto_if 3, Route120_EventScript_1F5503
+ goto_if_le Route120_EventScript_1F5503
compare VAR_TEMP_1, 60
- goto_if 3, Route120_EventScript_1F5507
+ goto_if_le Route120_EventScript_1F5507
compare VAR_TEMP_1, 61
- goto_if 4, Route120_EventScript_1F54FF
+ goto_if_ge Route120_EventScript_1F54FF
return
Route120_EventScript_1F54FF:: @ 81F54FF
- setweather 1
+ setweather WEATHER_CLOUDS
return
Route120_EventScript_1F5503:: @ 81F5503
- setweather 2
+ setweather WEATHER_SUNNY
return
Route120_EventScript_1F5507:: @ 81F5507
compare VAR_TEMP_0, 7
- goto_if 3, Route120_EventScript_1F5523
+ goto_if_le Route120_EventScript_1F5523
compare VAR_TEMP_0, 19
- goto_if 3, Route120_EventScript_1F5503
+ goto_if_le Route120_EventScript_1F5503
goto Route120_EventScript_1F5523
end
Route120_EventScript_1F5523:: @ 81F5523
- setweather 3
+ setweather WEATHER_RAIN_LIGHT
return
Route120_EventScript_1F5527:: @ 81F5527
lock
faceplayer
dodailyevents
- checkflag FLAG_0x92E
- goto_eq Route120_EventScript_1F5625
+ goto_if_set FLAG_0x92E, Route120_EventScript_1F5625
msgbox Route120_Text_2A70C7, MSGBOX_YESNO
compare VAR_RESULT, 1
- call_if 1, Route120_EventScript_1F562F
+ call_if_eq Route120_EventScript_1F562F
compare VAR_RESULT, 0
- call_if 1, Route120_EventScript_1F5638
+ call_if_eq Route120_EventScript_1F5638
specialvar VAR_RESULT, GetPlayerTrainerIdOnesDigit
switch VAR_RESULT
case 0, Route120_EventScript_1F55CA
@@ -152,7 +147,7 @@ Route120_EventScript_1F55F6:: @ 81F55F6
Route120_EventScript_1F5601:: @ 81F5601
giveitem_std VAR_0x8004
compare VAR_RESULT, 0
- goto_eq Route120_EventScript_272054
+ goto_if_eq Route120_EventScript_272054
setflag FLAG_0x92E
msgbox Route120_Text_2A71D5, MSGBOX_DEFAULT
release
@@ -174,11 +169,10 @@ Route120_EventScript_1F5638:: @ 81F5638
Route120_EventScript_1F5641:: @ 81F5641
lock
faceplayer
- checkflag FLAG_0x122
- goto_eq Route120_EventScript_1F5672
+ goto_if_set FLAG_0x122, Route120_EventScript_1F5672
msgbox Route120_Text_1F5998, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq Route120_EventScript_1F5665
+ goto_if_eq Route120_EventScript_1F5665
goto Route120_EventScript_1F568B
end
@@ -191,7 +185,7 @@ Route120_EventScript_1F5665:: @ 81F5665
Route120_EventScript_1F5672:: @ 81F5672
msgbox Route120_Text_1F5ADE, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq Route120_EventScript_1F5665
+ goto_if_eq Route120_EventScript_1F5665
goto Route120_EventScript_1F568B
end
@@ -199,9 +193,9 @@ Route120_EventScript_1F568B:: @ 81F568B
msgbox Route120_Text_1F5B0F, MSGBOX_DEFAULT
closemessage
compare VAR_FACING, 2
- call_if 1, Route120_EventScript_1F57A3
+ call_if_eq Route120_EventScript_1F57A3
compare VAR_FACING, 3
- call_if 1, Route120_EventScript_1F57AE
+ call_if_eq Route120_EventScript_1F57AE
applymovement 31, Route120_Movement_2725A4
waitmovement 0
delay 20
@@ -222,11 +216,11 @@ Route120_EventScript_1F568B:: @ 81F568B
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
compare VAR_RESULT, 1
- goto_eq Route120_EventScript_1F571C
+ goto_if_eq Route120_EventScript_1F571C
compare VAR_RESULT, 4
- goto_eq Route120_EventScript_1F571C
+ goto_if_eq Route120_EventScript_1F571C
compare VAR_RESULT, 5
- goto_eq Route120_EventScript_1F571C
+ goto_if_eq Route120_EventScript_1F571C
goto Route120_EventScript_1F572C
end
@@ -240,7 +234,7 @@ Route120_EventScript_1F571C:: @ 81F571C
Route120_EventScript_1F572C:: @ 81F572C
applymovement 31, Route120_Movement_2725AA
- applymovement 255, Route120_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, Route120_Movement_2725A6
waitmovement 0
msgbox Route120_Text_1F5BAF, MSGBOX_DEFAULT
giveitem_std ITEM_DEVON_SCOPE
@@ -264,12 +258,12 @@ Route120_EventScript_1F572C:: @ 81F572C
end
Route120_EventScript_1F57A3:: @ 81F57A3
- applymovement 255, Route120_Movement_2725A4
+ applymovement EVENT_OBJ_ID_PLAYER, Route120_Movement_2725A4
waitmovement 0
return
Route120_EventScript_1F57AE:: @ 81F57AE
- applymovement 255, Route120_Movement_1F57B9
+ applymovement EVENT_OBJ_ID_PLAYER, Route120_Movement_1F57B9
waitmovement 0
return
@@ -299,7 +293,7 @@ Route120_EventScript_1F57EE:: @ 81F57EE
trainerbattle_single TRAINER_ROBERT_1, Route120_Text_29E6E3, Route120_Text_29E70A, Route120_EventScript_1F581A
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route120_EventScript_1F5839
+ goto_if_eq Route120_EventScript_1F5839
msgbox Route120_Text_29E726, MSGBOX_DEFAULT
release
end
@@ -331,7 +325,7 @@ Route120_EventScript_1F587E:: @ 81F587E
trainerbattle_single TRAINER_JEFFREY_1, Route120_Text_29E9D7, Route120_Text_29E9FF, Route120_EventScript_1F58AA
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route120_EventScript_1F58C9
+ goto_if_eq Route120_EventScript_1F58C9
msgbox Route120_Text_29EA08, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route121/scripts.inc b/data/maps/Route121/scripts.inc
index 2d65779e7..ee361d30c 100644
--- a/data/maps/Route121/scripts.inc
+++ b/data/maps/Route121/scripts.inc
@@ -74,7 +74,7 @@ Route121_EventScript_1F5E8B:: @ 81F5E8B
trainerbattle_single TRAINER_WALTER_1, Route121_Text_29F199, Route121_Text_29F20D, Route121_EventScript_1F5EB7
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route121_EventScript_1F5ED6
+ goto_if_eq Route121_EventScript_1F5ED6
msgbox Route121_Text_29F21E, MSGBOX_DEFAULT
release
end
@@ -111,7 +111,7 @@ Route121_EventScript_1F5F3A:: @ 81F5F3A
trainerbattle_single TRAINER_JESSICA_1, Route121_Text_29F612, Route121_Text_29F641, Route121_EventScript_1F5F66
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route121_EventScript_1F5F85
+ goto_if_eq Route121_EventScript_1F5F85
msgbox Route121_Text_29F66F, MSGBOX_DEFAULT
release
end
@@ -153,7 +153,7 @@ Route121_EventScript_1F5FF8:: @ 81F5FF8
trainerbattle_single TRAINER_CRISTIN_1, Route121_Text_29F770, Route121_Text_29F7C1, Route121_EventScript_1F6024
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route121_EventScript_1F6043
+ goto_if_eq Route121_EventScript_1F6043
msgbox Route121_Text_29F7D4, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route121_SafariZoneEntrance/scripts.inc b/data/maps/Route121_SafariZoneEntrance/scripts.inc
index 12fa8112e..4a26d8075 100644
--- a/data/maps/Route121_SafariZoneEntrance/scripts.inc
+++ b/data/maps/Route121_SafariZoneEntrance/scripts.inc
@@ -8,7 +8,7 @@ Route121_SafariZoneEntrance_MapScript2_22BBC1: @ 822BBC1
Route121_SafariZoneEntrance_EventScript_22BBCB:: @ 822BBCB
lockall
- applymovement 255, Route121_SafariZoneEntrance_Movement_22BBDD
+ applymovement EVENT_OBJ_ID_PLAYER, Route121_SafariZoneEntrance_Movement_22BBDD
waitmovement 0
setvar VAR_0x40A4, 0
releaseall
@@ -34,7 +34,7 @@ Route121_SafariZoneEntrance_EventScript_22BBEF:: @ 822BBEF
faceplayer
msgbox Route121_SafariZoneEntrance_Text_2A4E46, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq Route121_SafariZoneEntrance_EventScript_22BC0E
+ goto_if_eq Route121_SafariZoneEntrance_EventScript_22BC0E
msgbox Route121_SafariZoneEntrance_Text_2A4E7E, MSGBOX_DEFAULT
release
end
@@ -46,12 +46,12 @@ Route121_SafariZoneEntrance_EventScript_22BC0E:: @ 822BC0E
Route121_SafariZoneEntrance_EventScript_22BC18:: @ 822BC18
lockall
- applymovement 255, Route121_SafariZoneEntrance_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, Route121_SafariZoneEntrance_Movement_2725A6
waitmovement 0
showmoneybox 0, 0, 0
msgbox Route121_SafariZoneEntrance_Text_2A4F74, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq Route121_SafariZoneEntrance_EventScript_22BC48
+ goto_if_eq Route121_SafariZoneEntrance_EventScript_22BC48
msgbox Route121_SafariZoneEntrance_Text_2A4FD7, MSGBOX_DEFAULT
goto Route121_SafariZoneEntrance_EventScript_22BD06
end
@@ -59,11 +59,11 @@ Route121_SafariZoneEntrance_EventScript_22BC18:: @ 822BC18
Route121_SafariZoneEntrance_EventScript_22BC48:: @ 822BC48
checkitem ITEM_POKEBLOCK_CASE, 1
compare VAR_RESULT, 0
- goto_eq Route121_SafariZoneEntrance_EventScript_22BCEA
+ goto_if_eq Route121_SafariZoneEntrance_EventScript_22BCEA
call Route121_SafariZoneEntrance_EventScript_22BCBF
checkmoney 0x1f4, 0
compare VAR_RESULT, 0
- goto_eq Route121_SafariZoneEntrance_EventScript_22BCF8
+ goto_if_eq Route121_SafariZoneEntrance_EventScript_22BCF8
playse SE_REGI
msgbox Route121_SafariZoneEntrance_Text_2A501B, MSGBOX_DEFAULT
takemoney 0x1f4, 0
@@ -78,7 +78,7 @@ Route121_SafariZoneEntrance_EventScript_22BC48:: @ 822BC48
hidemoneybox
nop
nop
- applymovement 255, Route121_SafariZoneEntrance_Movement_22BD18
+ applymovement EVENT_OBJ_ID_PLAYER, Route121_SafariZoneEntrance_Movement_22BD18
waitmovement 0
special EnterSafariMode
setvar VAR_0x40A4, 2
@@ -90,10 +90,10 @@ Route121_SafariZoneEntrance_EventScript_22BC48:: @ 822BC48
Route121_SafariZoneEntrance_EventScript_22BCBF:: @ 822BCBF
getpartysize
compare VAR_RESULT, 6
- goto_if 5, Route121_SafariZoneEntrance_EventScript_22BCE9
+ goto_if_ne Route121_SafariZoneEntrance_EventScript_22BCE9
specialvar VAR_RESULT, ScriptCheckFreePokemonStorageSpace
compare VAR_RESULT, 1
- goto_eq Route121_SafariZoneEntrance_EventScript_22BCE9
+ goto_if_eq Route121_SafariZoneEntrance_EventScript_22BCE9
msgbox Route121_SafariZoneEntrance_Text_2A50E5, MSGBOX_DEFAULT
goto Route121_SafariZoneEntrance_EventScript_22BD06
end
@@ -116,7 +116,7 @@ Route121_SafariZoneEntrance_EventScript_22BD06:: @ 822BD06
hidemoneybox
nop
nop
- applymovement 255, Route121_SafariZoneEntrance_Movement_22BD16
+ applymovement EVENT_OBJ_ID_PLAYER, Route121_SafariZoneEntrance_Movement_22BD16
waitmovement 0
releaseall
end
diff --git a/data/maps/Route123/scripts.inc b/data/maps/Route123/scripts.inc
index f2484af83..d56a543da 100644
--- a/data/maps/Route123/scripts.inc
+++ b/data/maps/Route123/scripts.inc
@@ -9,16 +9,15 @@ Route123_MapScript1_1F614D: @ 81F614D
Route123_EventScript_1F6151:: @ 81F6151
lock
faceplayer
- checkflag FLAG_0x0E8
- goto_eq Route123_EventScript_1F61A0
+ goto_if_set FLAG_0x0E8, Route123_EventScript_1F61A0
msgbox Route123_Text_1F641E, MSGBOX_DEFAULT
special IsGrassTypeInParty
compare VAR_RESULT, 0
- goto_eq Route123_EventScript_1F619E
+ goto_if_eq Route123_EventScript_1F619E
msgbox Route123_Text_1F645D, MSGBOX_DEFAULT
giveitem_std ITEM_TM19
compare VAR_RESULT, 0
- goto_eq Route123_EventScript_272054
+ goto_if_eq Route123_EventScript_272054
setflag FLAG_0x0E8
msgbox Route123_Text_1F64CF, MSGBOX_DEFAULT
release
@@ -64,7 +63,7 @@ Route123_EventScript_1F620A:: @ 81F620A
trainerbattle_single TRAINER_CAMERON_1, Route123_Text_29FDBA, Route123_Text_29FE1E, Route123_EventScript_1F6236
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route123_EventScript_1F6255
+ goto_if_eq Route123_EventScript_1F6255
msgbox Route123_Text_29FE2A, MSGBOX_DEFAULT
release
end
@@ -86,7 +85,7 @@ Route123_EventScript_1F626C:: @ 81F626C
trainerbattle_single TRAINER_JACKI_1, Route123_Text_29FF61, Route123_Text_29FFD8, Route123_EventScript_1F6298
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route123_EventScript_1F62B7
+ goto_if_eq Route123_EventScript_1F62B7
msgbox Route123_Text_29FFE5, MSGBOX_DEFAULT
release
end
@@ -158,7 +157,7 @@ Route123_EventScript_1F63BC:: @ 81F63BC
trainerbattle_single TRAINER_FERNANDO_1, Route123_Text_2A0323, Route123_Text_2A035C, Route123_EventScript_1F63E8
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route123_EventScript_1F6407
+ goto_if_eq Route123_EventScript_1F6407
msgbox Route123_Text_2A0389, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route123_BerryMastersHouse/scripts.inc b/data/maps/Route123_BerryMastersHouse/scripts.inc
index 3ab35b195..a10bf7664 100644
--- a/data/maps/Route123_BerryMastersHouse/scripts.inc
+++ b/data/maps/Route123_BerryMastersHouse/scripts.inc
@@ -10,15 +10,14 @@ Route123_BerryMastersHouse_EventScript_26F845:: @ 826F845
lock
faceplayer
dodailyevents
- checkflag FLAG_0x92D
- goto_eq Route123_BerryMastersHouse_EventScript_26F8B6
+ goto_if_set FLAG_0x92D, 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_eq Route123_BerryMastersHouse_EventScript_272054
+ goto_if_eq Route123_BerryMastersHouse_EventScript_272054
setflag FLAG_0x92D
msgbox Route123_BerryMastersHouse_Text_2A7428, MSGBOX_DEFAULT
random 10
@@ -26,7 +25,7 @@ Route123_BerryMastersHouse_EventScript_26F845:: @ 826F845
addvar VAR_RESULT, 133
giveitem_std VAR_RESULT
compare VAR_RESULT, 0
- goto_eq Route123_BerryMastersHouse_EventScript_272054
+ goto_if_eq Route123_BerryMastersHouse_EventScript_272054
msgbox Route123_BerryMastersHouse_Text_2A7445, MSGBOX_DEFAULT
release
end
@@ -40,17 +39,16 @@ Route123_BerryMastersHouse_EventScript_26F8C0:: @ 826F8C0
lock
faceplayer
dodailyevents
- checkflag FLAG_0x931
- goto_eq Route123_BerryMastersHouse_EventScript_26FA6F
+ goto_if_set FLAG_0x931, Route123_BerryMastersHouse_EventScript_26FA6F
msgbox Route123_BerryMastersHouse_Text_2A74E6, MSGBOX_DEFAULT
setvar VAR_0x8004, 13
call Route123_BerryMastersHouse_EventScript_271E7C
lock
faceplayer
compare VAR_RESULT, 1
- goto_eq Route123_BerryMastersHouse_EventScript_26F909
+ goto_if_eq Route123_BerryMastersHouse_EventScript_26F909
compare VAR_RESULT, 0
- goto_eq Route123_BerryMastersHouse_EventScript_26F8F7
+ goto_if_eq Route123_BerryMastersHouse_EventScript_26F8F7
end
Route123_BerryMastersHouse_EventScript_26F8F7:: @ 826F8F7
@@ -61,17 +59,17 @@ Route123_BerryMastersHouse_EventScript_26F8F7:: @ 826F8F7
Route123_BerryMastersHouse_EventScript_26F909:: @ 826F909
compare VAR_0x8004, 0
- goto_eq Route123_BerryMastersHouse_EventScript_26F94C
+ goto_if_eq Route123_BerryMastersHouse_EventScript_26F94C
compare VAR_0x8004, 1
- goto_eq Route123_BerryMastersHouse_EventScript_26F97A
+ goto_if_eq Route123_BerryMastersHouse_EventScript_26F97A
compare VAR_0x8004, 2
- goto_eq Route123_BerryMastersHouse_EventScript_26F9AB
+ goto_if_eq Route123_BerryMastersHouse_EventScript_26F9AB
compare VAR_0x8004, 3
- goto_eq Route123_BerryMastersHouse_EventScript_26F9DC
+ goto_if_eq Route123_BerryMastersHouse_EventScript_26F9DC
compare VAR_0x8004, 4
- goto_eq Route123_BerryMastersHouse_EventScript_26FA0D
+ goto_if_eq Route123_BerryMastersHouse_EventScript_26FA0D
compare VAR_0x8004, 5
- goto_eq Route123_BerryMastersHouse_EventScript_26FA3E
+ goto_if_eq Route123_BerryMastersHouse_EventScript_26FA3E
end
Route123_BerryMastersHouse_EventScript_26F94C:: @ 826F94C
@@ -80,62 +78,57 @@ Route123_BerryMastersHouse_EventScript_26F94C:: @ 826F94C
addvar VAR_RESULT, 133
giveitem_std VAR_RESULT
compare VAR_RESULT, 0
- goto_eq Route123_BerryMastersHouse_EventScript_272054
+ goto_if_eq Route123_BerryMastersHouse_EventScript_272054
goto Route123_BerryMastersHouse_EventScript_26FA79
release
end
Route123_BerryMastersHouse_EventScript_26F97A:: @ 826F97A
- checkflag FLAG_0x0F8
- goto_eq Route123_BerryMastersHouse_EventScript_26F94C
+ goto_if_set FLAG_0x0F8, Route123_BerryMastersHouse_EventScript_26F94C
msgbox Route123_BerryMastersHouse_Text_2A7583, MSGBOX_DEFAULT
giveitem_std ITEM_SPELON_BERRY
compare VAR_RESULT, 0
- goto_eq Route123_BerryMastersHouse_EventScript_272054
+ goto_if_eq Route123_BerryMastersHouse_EventScript_272054
setflag FLAG_0x0F8
goto Route123_BerryMastersHouse_EventScript_26FA79
end
Route123_BerryMastersHouse_EventScript_26F9AB:: @ 826F9AB
- checkflag FLAG_0x0F9
- goto_eq Route123_BerryMastersHouse_EventScript_26F94C
+ goto_if_set FLAG_0x0F9, Route123_BerryMastersHouse_EventScript_26F94C
msgbox Route123_BerryMastersHouse_Text_2A7583, MSGBOX_DEFAULT
giveitem_std ITEM_PAMTRE_BERRY
compare VAR_RESULT, 0
- goto_eq Route123_BerryMastersHouse_EventScript_272054
+ goto_if_eq Route123_BerryMastersHouse_EventScript_272054
setflag FLAG_0x0F9
goto Route123_BerryMastersHouse_EventScript_26FA79
end
Route123_BerryMastersHouse_EventScript_26F9DC:: @ 826F9DC
- checkflag FLAG_0x0FA
- goto_eq Route123_BerryMastersHouse_EventScript_26F94C
+ goto_if_set FLAG_0x0FA, Route123_BerryMastersHouse_EventScript_26F94C
msgbox Route123_BerryMastersHouse_Text_2A7583, MSGBOX_DEFAULT
giveitem_std ITEM_WATMEL_BERRY
compare VAR_RESULT, 0
- goto_eq Route123_BerryMastersHouse_EventScript_272054
+ goto_if_eq Route123_BerryMastersHouse_EventScript_272054
setflag FLAG_0x0FA
goto Route123_BerryMastersHouse_EventScript_26FA79
end
Route123_BerryMastersHouse_EventScript_26FA0D:: @ 826FA0D
- checkflag FLAG_0x0FB
- goto_eq Route123_BerryMastersHouse_EventScript_26F94C
+ goto_if_set FLAG_0x0FB, Route123_BerryMastersHouse_EventScript_26F94C
msgbox Route123_BerryMastersHouse_Text_2A7583, MSGBOX_DEFAULT
giveitem_std ITEM_DURIN_BERRY
compare VAR_RESULT, 0
- goto_eq Route123_BerryMastersHouse_EventScript_272054
+ goto_if_eq Route123_BerryMastersHouse_EventScript_272054
setflag FLAG_0x0FB
goto Route123_BerryMastersHouse_EventScript_26FA79
end
Route123_BerryMastersHouse_EventScript_26FA3E:: @ 826FA3E
- checkflag FLAG_0x0FC
- goto_eq Route123_BerryMastersHouse_EventScript_26F94C
+ goto_if_set FLAG_0x0FC, Route123_BerryMastersHouse_EventScript_26F94C
msgbox Route123_BerryMastersHouse_Text_2A7583, MSGBOX_DEFAULT
giveitem_std ITEM_BELUE_BERRY
compare VAR_RESULT, 0
- goto_eq Route123_BerryMastersHouse_EventScript_272054
+ goto_if_eq Route123_BerryMastersHouse_EventScript_272054
setflag FLAG_0x0FC
goto Route123_BerryMastersHouse_EventScript_26FA79
end
diff --git a/data/maps/Route124/scripts.inc b/data/maps/Route124/scripts.inc
index b7c40b034..97aa6f4be 100644
--- a/data/maps/Route124/scripts.inc
+++ b/data/maps/Route124/scripts.inc
@@ -3,8 +3,7 @@ Route124_MapScripts:: @ 81F656C
.byte 0
Route124_MapScript1_1F6572: @ 81F6572
- checkflag FLAG_SYS_WEATHER_CTRL
- call_if 1, Route124_EventScript_27207A
+ call_if_set FLAG_SYS_WEATHER_CTRL, Route124_EventScript_27207A
end
Route124_EventScript_1F657C:: @ 81F657C
@@ -25,7 +24,7 @@ Route124_EventScript_1F65B3:: @ 81F65B3
trainerbattle_single TRAINER_JENNY_1, Route124_Text_2A0B37, Route124_Text_2A0B7C, Route124_EventScript_1F65DF
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route124_EventScript_1F65FE
+ goto_if_eq Route124_EventScript_1F65FE
msgbox Route124_Text_2A0B9A, MSGBOX_DEFAULT
release
end
@@ -57,7 +56,7 @@ Route124_EventScript_1F6643:: @ 81F6643
trainerbattle_double TRAINER_LILA_AND_ROY_1, Route124_Text_2A0E87, Route124_Text_2A0EFE, Route124_Text_2A0F8C, Route124_EventScript_1F6673
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route124_EventScript_1F668C
+ goto_if_eq Route124_EventScript_1F668C
msgbox Route124_Text_2A0F3A, MSGBOX_DEFAULT
release
end
@@ -77,7 +76,7 @@ Route124_EventScript_1F66A7:: @ 81F66A7
trainerbattle_double TRAINER_LILA_AND_ROY_1, Route124_Text_2A0FD1, Route124_Text_2A1012, Route124_Text_2A10E5, Route124_EventScript_1F66D7
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route124_EventScript_1F66F0
+ goto_if_eq Route124_EventScript_1F66F0
msgbox Route124_Text_2A103E, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc b/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc
index 8ac5ccf43..4fa64e6b9 100644
--- a/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc
+++ b/data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc
@@ -9,8 +9,7 @@ Route124_DivingTreasureHuntersHouse_MapScript1_270A2E: @ 8270A2E
Route124_DivingTreasureHuntersHouse_EventScript_270A32:: @ 8270A32
lock
faceplayer
- checkflag FLAG_0x0D9
- goto_eq Route124_DivingTreasureHuntersHouse_EventScript_270A4E
+ goto_if_set FLAG_0x0D9, Route124_DivingTreasureHuntersHouse_EventScript_270A4E
msgbox Route124_DivingTreasureHuntersHouse_Text_270F6C, MSGBOX_DEFAULT
setflag FLAG_0x0D9
goto Route124_DivingTreasureHuntersHouse_EventScript_270A5C
@@ -24,7 +23,7 @@ Route124_DivingTreasureHuntersHouse_EventScript_270A4E:: @ 8270A4E
Route124_DivingTreasureHuntersHouse_EventScript_270A5C:: @ 8270A5C
call Route124_DivingTreasureHuntersHouse_EventScript_270A72
compare VAR_TEMP_1, 0
- goto_eq Route124_DivingTreasureHuntersHouse_EventScript_270F57
+ goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270F57
goto Route124_DivingTreasureHuntersHouse_EventScript_270AD0
end
@@ -32,16 +31,16 @@ Route124_DivingTreasureHuntersHouse_EventScript_270A72:: @ 8270A72
setvar VAR_TEMP_1, 0
checkitem ITEM_RED_SHARD, 1
compare VAR_RESULT, 1
- call_if 1, Route124_DivingTreasureHuntersHouse_EventScript_270AB8
+ call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270AB8
checkitem ITEM_YELLOW_SHARD, 1
compare VAR_RESULT, 1
- call_if 1, Route124_DivingTreasureHuntersHouse_EventScript_270ABE
+ call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270ABE
checkitem ITEM_BLUE_SHARD, 1
compare VAR_RESULT, 1
- call_if 1, Route124_DivingTreasureHuntersHouse_EventScript_270AC4
+ call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270AC4
checkitem ITEM_GREEN_SHARD, 1
compare VAR_RESULT, 1
- call_if 1, Route124_DivingTreasureHuntersHouse_EventScript_270ACA
+ call_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270ACA
return
Route124_DivingTreasureHuntersHouse_EventScript_270AB8:: @ 8270AB8
@@ -248,13 +247,13 @@ Route124_DivingTreasureHuntersHouse_EventScript_270EC0:: @ 8270EC0
bufferitemname 1, VAR_0x8009
msgbox Route124_DivingTreasureHuntersHouse_Text_271132, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq Route124_DivingTreasureHuntersHouse_EventScript_270F4D
+ goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270F4D
checkitemspace VAR_0x8009, 1
compare VAR_RESULT, 1
- goto_eq Route124_DivingTreasureHuntersHouse_EventScript_270F01
+ goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270F01
checkitem VAR_0x8008, 2
compare VAR_RESULT, 0
- goto_eq Route124_DivingTreasureHuntersHouse_EventScript_270F01
+ goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270F01
goto Route124_DivingTreasureHuntersHouse_EventScript_270F43
end
@@ -264,10 +263,10 @@ Route124_DivingTreasureHuntersHouse_EventScript_270F01:: @ 8270F01
msgbox Route124_DivingTreasureHuntersHouse_Text_271158, MSGBOX_DEFAULT
call Route124_DivingTreasureHuntersHouse_EventScript_270A72
compare VAR_TEMP_1, 0
- goto_eq Route124_DivingTreasureHuntersHouse_EventScript_270F61
+ goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270F61
msgbox Route124_DivingTreasureHuntersHouse_Text_27117B, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq Route124_DivingTreasureHuntersHouse_EventScript_270ADE
+ goto_if_eq Route124_DivingTreasureHuntersHouse_EventScript_270ADE
goto Route124_DivingTreasureHuntersHouse_EventScript_270F4D
end
diff --git a/data/maps/Route125/scripts.inc b/data/maps/Route125/scripts.inc
index 528eda704..e5ad32697 100644
--- a/data/maps/Route125/scripts.inc
+++ b/data/maps/Route125/scripts.inc
@@ -5,21 +5,20 @@ Route125_MapScripts:: @ 81F6748
.byte 0
Route125_MapScript1_1F6758: @ 81F6758
- checkflag FLAG_SYS_WEATHER_CTRL
- call_if 1, Route125_EventScript_27207A
+ call_if_set FLAG_SYS_WEATHER_CTRL, Route125_EventScript_27207A
compare VAR_0x4039, 1
- call_if 1, Route125_EventScript_273D13
+ call_if_eq Route125_EventScript_273D13
compare VAR_0x4037, 11
- call_if 1, Route125_EventScript_273D17
+ call_if_eq Route125_EventScript_273D17
compare VAR_0x4037, 12
- call_if 1, Route125_EventScript_273D17
+ call_if_eq Route125_EventScript_273D17
end
Route125_MapScript1_1F6783: @ 81F6783
compare VAR_0x4037, 11
- call_if 1, Route125_EventScript_273A85
+ call_if_eq Route125_EventScript_273A85
compare VAR_0x4037, 12
- call_if 1, Route125_EventScript_273AF2
+ call_if_eq Route125_EventScript_273AF2
end
Route125_MapScript2_1F679A: @ 81F679A
@@ -50,7 +49,7 @@ Route125_EventScript_1F6800:: @ 81F6800
trainerbattle_single TRAINER_ERNEST_1, Route125_Text_2A16FC, Route125_Text_2A173A, Route125_EventScript_1F682C
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route125_EventScript_1F684B
+ goto_if_eq Route125_EventScript_1F684B
msgbox Route125_Text_2A1755, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route126/scripts.inc b/data/maps/Route126/scripts.inc
index 0be11144a..4fa47e0bb 100644
--- a/data/maps/Route126/scripts.inc
+++ b/data/maps/Route126/scripts.inc
@@ -3,8 +3,7 @@ Route126_MapScripts:: @ 81F68C6
.byte 0
Route126_MapScript1_1F68CC: @ 81F68CC
- checkflag FLAG_SYS_WEATHER_CTRL
- call_if 1, Route126_EventScript_27207A
+ call_if_set FLAG_SYS_WEATHER_CTRL, Route126_EventScript_27207A
end
Route126_EventScript_1F68D6:: @ 81F68D6
@@ -46,7 +45,7 @@ Route126_EventScript_1F6977:: @ 81F6977
trainerbattle_single TRAINER_PABLO_1, Route126_Text_2A1EA5, Route126_Text_2A1EE3, Route126_EventScript_1F69A3
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route126_EventScript_1F69C2
+ goto_if_eq Route126_EventScript_1F69C2
msgbox Route126_Text_2A1F10, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route127/scripts.inc b/data/maps/Route127/scripts.inc
index f9c3290b9..28f20bfb3 100644
--- a/data/maps/Route127/scripts.inc
+++ b/data/maps/Route127/scripts.inc
@@ -5,21 +5,20 @@ Route127_MapScripts:: @ 81F69D9
.byte 0
Route127_MapScript1_1F69E9: @ 81F69E9
- checkflag FLAG_SYS_WEATHER_CTRL
- call_if 1, Route127_EventScript_27207A
+ call_if_set FLAG_SYS_WEATHER_CTRL, Route127_EventScript_27207A
compare VAR_0x4039, 1
- call_if 1, Route127_EventScript_273D13
+ call_if_eq Route127_EventScript_273D13
compare VAR_0x4037, 13
- call_if 1, Route127_EventScript_273D17
+ call_if_eq Route127_EventScript_273D17
compare VAR_0x4037, 14
- call_if 1, Route127_EventScript_273D17
+ call_if_eq Route127_EventScript_273D17
end
Route127_MapScript1_1F6A14: @ 81F6A14
compare VAR_0x4037, 13
- call_if 1, Route127_EventScript_273B5F
+ call_if_eq Route127_EventScript_273B5F
compare VAR_0x4037, 14
- call_if 1, Route127_EventScript_273BCC
+ call_if_eq Route127_EventScript_273BCC
end
Route127_MapScript2_1F6A2B: @ 81F6A2B
@@ -65,7 +64,7 @@ Route127_EventScript_1F6AD6:: @ 81F6AD6
trainerbattle_single TRAINER_KOJI_1, Route127_Text_2A264D, Route127_Text_2A2685, Route127_EventScript_1F6B02
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route127_EventScript_1F6B21
+ goto_if_eq Route127_EventScript_1F6B21
msgbox Route127_Text_2A26AC, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route128/scripts.inc b/data/maps/Route128/scripts.inc
index 2443051f5..bb4f8d150 100644
--- a/data/maps/Route128/scripts.inc
+++ b/data/maps/Route128/scripts.inc
@@ -4,8 +4,7 @@ Route128_MapScripts:: @ 81F6B38
.byte 0
Route128_MapScript1_1F6B43: @ 81F6B43
- checkflag FLAG_SYS_WEATHER_CTRL
- call_if 1, Route128_EventScript_27207A
+ call_if_set FLAG_SYS_WEATHER_CTRL, Route128_EventScript_27207A
end
Route128_MapScript2_1F6B4D: @ 81F6B4D
@@ -31,12 +30,12 @@ Route128_EventScript_1F6B57:: @ 81F6B57
closemessage
applymovement 5, Route128_Movement_1F6CBB
waitmovement 0
- applymovement 255, Route128_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, Route128_Movement_2725A6
waitmovement 0
msgbox Route128_Text_1F6F1E, MSGBOX_DEFAULT
closemessage
applymovement 4, Route128_Movement_1F6C96
- applymovement 255, Route128_Movement_2725A4
+ applymovement EVENT_OBJ_ID_PLAYER, Route128_Movement_2725A4
applymovement 5, Route128_Movement_1F6CA8
waitmovement 0
msgbox Route128_Text_1F704F, MSGBOX_DEFAULT
@@ -54,12 +53,12 @@ Route128_EventScript_1F6B57:: @ 81F6B57
addobject 3
applymovement 3, Route128_Movement_1F6C87
waitmovement 0
- applymovement 255, Route128_Movement_2725A8
+ applymovement EVENT_OBJ_ID_PLAYER, Route128_Movement_2725A8
waitmovement 0
msgbox Route128_Text_1F70C9, MSGBOX_DEFAULT
closemessage
applymovement 3, Route128_Movement_1F6C85
- applymovement 255, Route128_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, Route128_Movement_2725A6
waitmovement 0
msgbox Route128_Text_1F70EA, MSGBOX_DEFAULT
applymovement 3, Route128_Movement_2725AA
@@ -179,7 +178,7 @@ Route128_EventScript_1F6CBE:: @ 81F6CBE
trainerbattle_single TRAINER_ISAIAH_1, Route128_Text_2A287F, Route128_Text_2A28AB, Route128_EventScript_1F6CEA
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route128_EventScript_1F6D09
+ goto_if_eq Route128_EventScript_1F6D09
msgbox Route128_Text_2A28D7, MSGBOX_DEFAULT
release
end
@@ -201,7 +200,7 @@ Route128_EventScript_1F6D20:: @ 81F6D20
trainerbattle_single TRAINER_KATELYN_1, Route128_Text_2A2A1F, Route128_Text_2A2A94, Route128_EventScript_1F6D4C
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq Route128_EventScript_1F6D6B
+ goto_if_eq Route128_EventScript_1F6D6B
msgbox Route128_Text_2A2AB7, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/Route129/scripts.inc b/data/maps/Route129/scripts.inc
index b58e9ddd4..177dc626a 100644
--- a/data/maps/Route129/scripts.inc
+++ b/data/maps/Route129/scripts.inc
@@ -6,25 +6,24 @@ Route129_MapScripts:: @ 81F7284
Route129_MapScript1_1F7294: @ 81F7294
compare VAR_0x4037, 15
- call_if 1, Route129_EventScript_273C39
+ call_if_eq Route129_EventScript_273C39
compare VAR_0x4037, 16
- call_if 1, Route129_EventScript_273CA6
+ call_if_eq Route129_EventScript_273CA6
end
Route129_MapScript1_1F72AB: @ 81F72AB
compare VAR_0x4039, 1
- call_if 1, Route129_EventScript_273D13
+ call_if_eq Route129_EventScript_273D13
compare VAR_0x405E, 4
- call_if 4, Route129_EventScript_1F72D8
+ call_if_ge Route129_EventScript_1F72D8
compare VAR_0x4037, 15
- call_if 1, Route129_EventScript_273D17
+ call_if_eq Route129_EventScript_273D17
compare VAR_0x4037, 16
- call_if 1, Route129_EventScript_273D17
+ call_if_eq Route129_EventScript_273D17
end
Route129_EventScript_1F72D8:: @ 81F72D8
- checkflag FLAG_SYS_WEATHER_CTRL
- call_if 1, Route129_EventScript_27207A
+ call_if_set FLAG_SYS_WEATHER_CTRL, Route129_EventScript_27207A
return
Route129_MapScript2_1F72E2: @ 81F72E2
diff --git a/data/maps/Route130/scripts.inc b/data/maps/Route130/scripts.inc
index 6698837d2..5c7696eb7 100644
--- a/data/maps/Route130/scripts.inc
+++ b/data/maps/Route130/scripts.inc
@@ -4,10 +4,10 @@ Route130_MapScripts:: @ 81F735F
Route130_MapScript1_1F7365: @ 81F7365
compare VAR_0x405E, 4
- call_if 4, Route130_EventScript_1F73B5
+ call_if_ge Route130_EventScript_1F73B5
specialvar VAR_RESULT, IsMirageIslandPresent
compare VAR_RESULT, 1
- goto_eq Route130_EventScript_1F73B1
+ goto_if_eq Route130_EventScript_1F73B1
setflag FLAG_TEMP_11
setflag FLAG_TEMP_12
setflag FLAG_TEMP_13
@@ -31,8 +31,7 @@ Route130_EventScript_1F73B1:: @ 81F73B1
end
Route130_EventScript_1F73B5:: @ 81F73B5
- checkflag FLAG_SYS_WEATHER_CTRL
- call_if 1, Route130_EventScript_27207A
+ call_if_set FLAG_SYS_WEATHER_CTRL, Route130_EventScript_27207A
return
Route130_EventScript_1F73BF:: @ 81F73BF
diff --git a/data/maps/Route131/scripts.inc b/data/maps/Route131/scripts.inc
index 618d17fdb..da36f4001 100644
--- a/data/maps/Route131/scripts.inc
+++ b/data/maps/Route131/scripts.inc
@@ -4,7 +4,7 @@ Route131_MapScripts:: @ 81F7404
Route131_MapScript1_1F740A: @ 81F740A
compare VAR_0x405E, 4
- call_if 4, Route131_EventScript_1F741F
+ call_if_ge Route131_EventScript_1F741F
call Route131_EventScript_1F741B
end
@@ -13,8 +13,7 @@ Route131_EventScript_1F741B:: @ 81F741B
return
Route131_EventScript_1F741F:: @ 81F741F
- checkflag FLAG_SYS_WEATHER_CTRL
- call_if 1, Route131_EventScript_27207A
+ call_if_set FLAG_SYS_WEATHER_CTRL, Route131_EventScript_27207A
return
Route131_EventScript_1F7429:: @ 81F7429
diff --git a/data/maps/RustboroCity/scripts.inc b/data/maps/RustboroCity/scripts.inc
index 147c51177..941f73161 100644
--- a/data/maps/RustboroCity/scripts.inc
+++ b/data/maps/RustboroCity/scripts.inc
@@ -7,15 +7,15 @@ RustboroCity_MapScript1_1E06C8: @ 81E06C8
setflag FLAG_VISITED_RUSTBORO_CITY
call RustboroCity_EventScript_271ED7
compare VAR_0x405A, 6
- call_if 1, RustboroCity_EventScript_1E0707
+ call_if_eq RustboroCity_EventScript_1E0707
getplayerxy VAR_TEMP_0, VAR_TEMP_1
compare VAR_0x405A, 6
- goto_eq RustboroCity_EventScript_1E06EC
+ goto_if_eq RustboroCity_EventScript_1E06EC
end
RustboroCity_EventScript_1E06EC:: @ 81E06EC
compare VAR_TEMP_0, 11
- goto_eq RustboroCity_EventScript_1E06FF
+ goto_if_eq RustboroCity_EventScript_1E06FF
setobjectxyperm 15, 12, 15
end
@@ -34,7 +34,7 @@ RustboroCity_MapScript2_1E070B: @ 81E070B
RustboroCity_EventScript_1E0715:: @ 81E0715
lockall
setvar VAR_0x4063, 1
- applymovement 255, RustboroCity_Movement_1E0850
+ applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_1E0850
waitmovement 0
playse SE_KAIDAN
delay 10
@@ -46,7 +46,7 @@ RustboroCity_EventScript_1E0715:: @ 81E0715
waitmovement 0
applymovement 15, RustboroCity_Movement_27259A
waitmovement 0
- applymovement 255, RustboroCity_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6
waitmovement 0
applymovement 15, RustboroCity_Movement_1E084E
waitmovement 0
@@ -134,8 +134,7 @@ RustboroCity_Movement_1E085D: @ 81E085D
RustboroCity_EventScript_1E085F:: @ 81E085F
lock
faceplayer
- checkflag FLAG_0x08E
- goto_eq RustboroCity_EventScript_1E0874
+ goto_if_set FLAG_0x08E, RustboroCity_EventScript_1E0874
msgbox RustboroCity_Text_1E123F, MSGBOX_DEFAULT
release
end
@@ -159,8 +158,7 @@ RustboroCity_EventScript_1E088A:: @ 81E088A
RustboroCity_EventScript_1E0893:: @ 81E0893
lock
faceplayer
- checkflag FLAG_BADGE01_GET
- goto_eq RustboroCity_EventScript_1E08A8
+ goto_if_set FLAG_BADGE01_GET, RustboroCity_EventScript_1E08A8
msgbox RustboroCity_Text_1E130D, MSGBOX_DEFAULT
release
end
@@ -173,8 +171,7 @@ RustboroCity_EventScript_1E08A8:: @ 81E08A8
RustboroCity_EventScript_1E08B2:: @ 81E08B2
lock
faceplayer
- checkflag FLAG_0x0BC
- goto_eq RustboroCity_EventScript_1E08C7
+ goto_if_set FLAG_0x0BC, RustboroCity_EventScript_1E08C7
msgbox RustboroCity_Text_1E1520, MSGBOX_DEFAULT
release
end
@@ -347,7 +344,7 @@ RustboroCity_EventScript_1E0A6E:: @ 81E0A6E
RustboroCity_EventScript_1E0A79:: @ 81E0A79
applymovement 9, RustboroCity_Movement_1E0AD5
waitmovement 0
- applymovement 255, RustboroCity_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6
waitmovement 0
return
@@ -451,8 +448,7 @@ RustboroCity_Movement_1E0AD5: @ 81E0AD5
RustboroCity_EventScript_1E0ADD:: @ 81E0ADD
lock
faceplayer
- checkflag FLAG_0x08F
- goto_eq RustboroCity_EventScript_1E0AF2
+ goto_if_set FLAG_0x08F, RustboroCity_EventScript_1E0AF2
msgbox RustboroCity_Text_1E1904, MSGBOX_DEFAULT
release
end
@@ -489,13 +485,13 @@ RustboroCity_EventScript_1E0B22:: @ 81E0B22
RustboroCity_EventScript_1E0B2E:: @ 81E0B2E
compare VAR_TEMP_1, 0
- call_if 1, RustboroCity_EventScript_1E0B6F
+ call_if_eq RustboroCity_EventScript_1E0B6F
compare VAR_TEMP_1, 1
- call_if 1, RustboroCity_EventScript_1E0B9B
+ call_if_eq RustboroCity_EventScript_1E0B9B
compare VAR_TEMP_1, 2
- call_if 1, RustboroCity_EventScript_1E0BC7
+ call_if_eq RustboroCity_EventScript_1E0BC7
compare VAR_TEMP_1, 3
- call_if 1, RustboroCity_EventScript_1E0BF3
+ call_if_eq RustboroCity_EventScript_1E0BF3
setflag FLAG_0x09F
setvar VAR_0x405A, 3
moveobjectoffscreen 9
@@ -511,7 +507,7 @@ RustboroCity_EventScript_1E0B6F:: @ 81E0B6F
waitmovement 0
applymovement 9, RustboroCity_Movement_27259A
waitmovement 0
- applymovement 255, RustboroCity_Movement_2725AA
+ applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725AA
waitmovement 0
return
@@ -523,7 +519,7 @@ RustboroCity_EventScript_1E0B9B:: @ 81E0B9B
waitmovement 0
applymovement 9, RustboroCity_Movement_27259A
waitmovement 0
- applymovement 255, RustboroCity_Movement_2725AC
+ applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725AC
waitmovement 0
return
@@ -535,7 +531,7 @@ RustboroCity_EventScript_1E0BC7:: @ 81E0BC7
waitmovement 0
applymovement 9, RustboroCity_Movement_27259A
waitmovement 0
- applymovement 255, RustboroCity_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6
waitmovement 0
return
@@ -549,7 +545,7 @@ RustboroCity_EventScript_1E0BF3:: @ 81E0BF3
waitmovement 0
applymovement 9, RustboroCity_Movement_1E0C29
waitmovement 0
- applymovement 255, RustboroCity_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6
waitmovement 0
return
@@ -583,19 +579,19 @@ RustboroCity_EventScript_1E0C4F:: @ 81E0C4F
RustboroCity_EventScript_1E0C5B:: @ 81E0C5B
compare VAR_TEMP_1, 0
- call_if 1, RustboroCity_EventScript_1E0CDC
+ call_if_eq RustboroCity_EventScript_1E0CDC
compare VAR_TEMP_1, 1
- call_if 1, RustboroCity_EventScript_1E0D08
+ call_if_eq RustboroCity_EventScript_1E0D08
compare VAR_TEMP_1, 2
- call_if 1, RustboroCity_EventScript_1E0D34
+ call_if_eq RustboroCity_EventScript_1E0D34
compare VAR_TEMP_1, 3
- call_if 1, RustboroCity_EventScript_1E0D60
+ call_if_eq RustboroCity_EventScript_1E0D60
compare VAR_TEMP_1, 4
- call_if 1, RustboroCity_EventScript_1E0D96
+ call_if_eq RustboroCity_EventScript_1E0D96
msgbox RustboroCity_Text_1E194D, MSGBOX_DEFAULT
giveitem_std ITEM_GREAT_BALL
compare VAR_RESULT, 0
- call_if 1, RustboroCity_EventScript_1E0CD3
+ call_if_eq RustboroCity_EventScript_1E0CD3
msgbox RustboroCity_Text_1E1A21, MSGBOX_DEFAULT
closemessage
setflag FLAG_0x090
@@ -619,7 +615,7 @@ RustboroCity_EventScript_1E0CDC:: @ 81E0CDC
waitmovement 0
applymovement 9, RustboroCity_Movement_27259A
waitmovement 0
- applymovement 255, RustboroCity_Movement_2725AA
+ applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725AA
waitmovement 0
return
@@ -631,7 +627,7 @@ RustboroCity_EventScript_1E0D08:: @ 81E0D08
waitmovement 0
applymovement 9, RustboroCity_Movement_27259A
waitmovement 0
- applymovement 255, RustboroCity_Movement_2725AE
+ applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725AE
waitmovement 0
return
@@ -643,7 +639,7 @@ RustboroCity_EventScript_1E0D34:: @ 81E0D34
waitmovement 0
applymovement 9, RustboroCity_Movement_27259A
waitmovement 0
- applymovement 255, RustboroCity_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6
waitmovement 0
return
@@ -657,7 +653,7 @@ RustboroCity_EventScript_1E0D60:: @ 81E0D60
waitmovement 0
applymovement 9, RustboroCity_Movement_1E0C29
waitmovement 0
- applymovement 255, RustboroCity_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6
waitmovement 0
return
@@ -673,8 +669,7 @@ RustboroCity_EventScript_1E0D96:: @ 81E0D96
RustboroCity_EventScript_1E0DB8:: @ 81E0DB8
lockall
- checkflag FLAG_0x120
- call_if 0, RustboroCity_EventScript_1E0DD1
+ call_if_unset FLAG_0x120, RustboroCity_EventScript_1E0DD1
applymovement 14, RustboroCity_Movement_27259E
waitmovement 0
goto RustboroCity_EventScript_1E0FF3
@@ -683,9 +678,9 @@ Route104_EventScript_1E0DD1:: @ 81E0DD1
RustboroCity_EventScript_1E0DD1:: @ 81E0DD1
checkplayergender
compare VAR_RESULT, 0
- goto_eq RustboroCity_EventScript_1E0DE9
+ goto_if_eq RustboroCity_EventScript_1E0DE9
compare VAR_RESULT, 1
- goto_eq RustboroCity_EventScript_1E0DEE
+ goto_if_eq RustboroCity_EventScript_1E0DEE
return
RustboroCity_EventScript_1E0DE9:: @ 81E0DE9
@@ -708,7 +703,7 @@ RustboroCity_EventScript_1E0DF3:: @ 81E0DF3
waitmovement 0
applymovement 14, RustboroCity_Movement_1E120E
waitmovement 0
- applymovement 255, RustboroCity_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6
waitmovement 0
goto RustboroCity_EventScript_1E0FF3
@@ -724,7 +719,7 @@ RustboroCity_EventScript_1E0E33:: @ 81E0E33
waitmovement 0
applymovement 14, RustboroCity_Movement_1E1215
waitmovement 0
- applymovement 255, RustboroCity_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6
waitmovement 0
goto RustboroCity_EventScript_1E0FF3
@@ -740,7 +735,7 @@ RustboroCity_EventScript_1E0E73:: @ 81E0E73
waitmovement 0
applymovement 14, RustboroCity_Movement_1E121B
waitmovement 0
- applymovement 255, RustboroCity_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6
waitmovement 0
goto RustboroCity_EventScript_1E0FF3
@@ -756,7 +751,7 @@ RustboroCity_EventScript_1E0EB3:: @ 81E0EB3
waitmovement 0
applymovement 14, RustboroCity_Movement_1E1220
waitmovement 0
- applymovement 255, RustboroCity_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6
waitmovement 0
goto RustboroCity_EventScript_1E0FF3
@@ -772,7 +767,7 @@ RustboroCity_EventScript_1E0EF3:: @ 81E0EF3
waitmovement 0
applymovement 14, RustboroCity_Movement_1E1224
waitmovement 0
- applymovement 255, RustboroCity_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6
waitmovement 0
goto RustboroCity_EventScript_1E0FF3
@@ -788,7 +783,7 @@ RustboroCity_EventScript_1E0F33:: @ 81E0F33
waitmovement 0
applymovement 14, RustboroCity_Movement_1E1227
waitmovement 0
- applymovement 255, RustboroCity_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6
waitmovement 0
goto RustboroCity_EventScript_1E0FF3
@@ -804,7 +799,7 @@ RustboroCity_EventScript_1E0F73:: @ 81E0F73
waitmovement 0
applymovement 14, RustboroCity_Movement_1E122B
waitmovement 0
- applymovement 255, RustboroCity_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6
waitmovement 0
goto RustboroCity_EventScript_1E0FF3
@@ -820,23 +815,21 @@ RustboroCity_EventScript_1E0FB3:: @ 81E0FB3
waitmovement 0
applymovement 14, RustboroCity_Movement_1E1230
waitmovement 0
- applymovement 255, RustboroCity_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_Movement_2725A6
waitmovement 0
goto RustboroCity_EventScript_1E0FF3
RustboroCity_EventScript_1E0FF3:: @ 81E0FF3
checkplayergender
compare VAR_RESULT, 0
- goto_eq RustboroCity_EventScript_1E100B
+ goto_if_eq RustboroCity_EventScript_1E100B
compare VAR_RESULT, 1
- goto_eq RustboroCity_EventScript_1E1114
+ goto_if_eq RustboroCity_EventScript_1E1114
end
RustboroCity_EventScript_1E100B:: @ 81E100B
- checkflag FLAG_0x0D3
- goto_eq RustboroCity_EventScript_1E10C1
- checkflag FLAG_0x120
- goto_eq RustboroCity_EventScript_1E1070
+ goto_if_set FLAG_0x0D3, RustboroCity_EventScript_1E10C1
+ goto_if_set FLAG_0x120, RustboroCity_EventScript_1E1070
setflag FLAG_0x120
msgbox RustboroCity_Text_1E1A49, MSGBOX_DEFAULT
closemessage
@@ -852,7 +845,7 @@ RustboroCity_EventScript_1E100B:: @ 81E100B
setvar VAR_0x8008, 0
msgbox RustboroCity_Text_1E1AFA, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq RustboroCity_EventScript_1E1092
+ goto_if_eq RustboroCity_EventScript_1E1092
msgbox RustboroCity_Text_1E1BD3, MSGBOX_DEFAULT
call RustboroCity_EventScript_1E10D6
releaseall
@@ -862,7 +855,7 @@ RustboroCity_EventScript_1E1070:: @ 81E1070
setvar VAR_0x8008, 1
msgbox RustboroCity_Text_1E1C48, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq RustboroCity_EventScript_1E1092
+ goto_if_eq RustboroCity_EventScript_1E1092
msgbox RustboroCity_Text_1E1BD3, MSGBOX_DEFAULT
releaseall
end
@@ -878,7 +871,7 @@ RustboroCity_EventScript_1E1092:: @ 81E1092
RustboroCity_EventScript_1E10C1:: @ 81E10C1
msgbox RustboroCity_Text_1E1CE7, MSGBOX_DEFAULT
compare VAR_0x8008, 0
- call_if 1, RustboroCity_EventScript_1E10D6
+ call_if_eq RustboroCity_EventScript_1E10D6
releaseall
end
@@ -906,10 +899,8 @@ RustboroCity_EventScript_1E1101:: @ 81E1101
end
RustboroCity_EventScript_1E1114:: @ 81E1114
- checkflag FLAG_0x0D3
- goto_eq RustboroCity_EventScript_1E11C0
- checkflag FLAG_0x120
- goto_eq RustboroCity_EventScript_1E1174
+ goto_if_set FLAG_0x0D3, RustboroCity_EventScript_1E11C0
+ goto_if_set FLAG_0x120, RustboroCity_EventScript_1E1174
setflag FLAG_0x120
msgbox RustboroCity_Text_1E1D7D, MSGBOX_DEFAULT
closemessage
@@ -924,7 +915,7 @@ RustboroCity_EventScript_1E1114:: @ 81E1114
setvar VAR_0x4063, 2
msgbox RustboroCity_Text_1E1E34, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq RustboroCity_EventScript_1E1191
+ goto_if_eq RustboroCity_EventScript_1E1191
msgbox RustboroCity_Text_1E1F2F, MSGBOX_DEFAULT
call RustboroCity_EventScript_1E10D6
releaseall
@@ -933,7 +924,7 @@ RustboroCity_EventScript_1E1114:: @ 81E1114
RustboroCity_EventScript_1E1174:: @ 81E1174
msgbox RustboroCity_Text_1E1F76, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq RustboroCity_EventScript_1E1191
+ goto_if_eq RustboroCity_EventScript_1E1191
msgbox RustboroCity_Text_1E1F2F, MSGBOX_DEFAULT
releaseall
end
@@ -949,7 +940,7 @@ RustboroCity_EventScript_1E1191:: @ 81E1191
RustboroCity_EventScript_1E11C0:: @ 81E11C0
msgbox RustboroCity_Text_1E2002, MSGBOX_DEFAULT
compare VAR_0x8008, 0
- call_if 1, RustboroCity_EventScript_1E10D6
+ call_if_eq RustboroCity_EventScript_1E10D6
releaseall
end
diff --git a/data/maps/RustboroCity_CuttersHouse/scripts.inc b/data/maps/RustboroCity_CuttersHouse/scripts.inc
index 1ed908952..b73744094 100644
--- a/data/maps/RustboroCity_CuttersHouse/scripts.inc
+++ b/data/maps/RustboroCity_CuttersHouse/scripts.inc
@@ -4,8 +4,7 @@ RustboroCity_CuttersHouse_MapScripts:: @ 8215BD3
RustboroCity_CuttersHouse_EventScript_215BD4:: @ 8215BD4
lock
faceplayer
- checkflag FLAG_0x089
- goto_eq RustboroCity_CuttersHouse_EventScript_215C00
+ goto_if_set FLAG_0x089, RustboroCity_CuttersHouse_EventScript_215C00
msgbox RustboroCity_CuttersHouse_Text_215C13, MSGBOX_DEFAULT
giveitem_std ITEM_HM01
setflag FLAG_0x089
diff --git a/data/maps/RustboroCity_DevonCorp_1F/scripts.inc b/data/maps/RustboroCity_DevonCorp_1F/scripts.inc
index e8314ba04..bbfd1bd53 100644
--- a/data/maps/RustboroCity_DevonCorp_1F/scripts.inc
+++ b/data/maps/RustboroCity_DevonCorp_1F/scripts.inc
@@ -3,8 +3,7 @@ RustboroCity_DevonCorp_1F_MapScripts:: @ 8211245
.byte 0
RustboroCity_DevonCorp_1F_MapScript1_21124B: @ 821124B
- checkflag FLAG_0x090
- call_if 0, RustboroCity_DevonCorp_1F_EventScript_211255
+ call_if_unset FLAG_0x090, RustboroCity_DevonCorp_1F_EventScript_211255
end
RustboroCity_DevonCorp_1F_EventScript_211255:: @ 8211255
@@ -15,10 +14,8 @@ RustboroCity_DevonCorp_1F_EventScript_211255:: @ 8211255
RustboroCity_DevonCorp_1F_EventScript_211261:: @ 8211261
lock
faceplayer
- checkflag FLAG_0x090
- goto_eq RustboroCity_DevonCorp_1F_EventScript_211289
- checkflag FLAG_0x08E
- goto_eq RustboroCity_DevonCorp_1F_EventScript_21127F
+ goto_if_set FLAG_0x090, RustboroCity_DevonCorp_1F_EventScript_211289
+ goto_if_set FLAG_0x08E, RustboroCity_DevonCorp_1F_EventScript_21127F
msgbox RustboroCity_DevonCorp_1F_Text_2113D1, MSGBOX_DEFAULT
release
end
@@ -36,12 +33,9 @@ RustboroCity_DevonCorp_1F_EventScript_211289:: @ 8211289
RustboroCity_DevonCorp_1F_EventScript_211293:: @ 8211293
lock
faceplayer
- checkflag FLAG_0x090
- goto_eq RustboroCity_DevonCorp_1F_EventScript_2112BA
- checkflag FLAG_0x08F
- goto_eq RustboroCity_DevonCorp_1F_EventScript_2112C4
- checkflag FLAG_0x08E
- goto_eq RustboroCity_DevonCorp_1F_EventScript_2112C4
+ goto_if_set FLAG_0x090, RustboroCity_DevonCorp_1F_EventScript_2112BA
+ goto_if_set FLAG_0x08F, RustboroCity_DevonCorp_1F_EventScript_2112C4
+ goto_if_set FLAG_0x08E, RustboroCity_DevonCorp_1F_EventScript_2112C4
msgbox RustboroCity_DevonCorp_1F_Text_21151B, MSGBOX_DEFAULT
release
end
@@ -59,12 +53,9 @@ RustboroCity_DevonCorp_1F_EventScript_2112C4:: @ 82112C4
RustboroCity_DevonCorp_1F_EventScript_2112CE:: @ 82112CE
lock
faceplayer
- checkflag FLAG_0x090
- goto_eq RustboroCity_DevonCorp_1F_EventScript_2112F5
- checkflag FLAG_0x08F
- goto_eq RustboroCity_DevonCorp_1F_EventScript_2112FF
- checkflag FLAG_0x08E
- goto_eq RustboroCity_DevonCorp_1F_EventScript_2112FF
+ goto_if_set FLAG_0x090, RustboroCity_DevonCorp_1F_EventScript_2112F5
+ goto_if_set FLAG_0x08F, RustboroCity_DevonCorp_1F_EventScript_2112FF
+ goto_if_set FLAG_0x08E, RustboroCity_DevonCorp_1F_EventScript_2112FF
msgbox RustboroCity_DevonCorp_1F_Text_21131B, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/RustboroCity_DevonCorp_2F/scripts.inc b/data/maps/RustboroCity_DevonCorp_2F/scripts.inc
index fc8dd5f79..8ce86352d 100644
--- a/data/maps/RustboroCity_DevonCorp_2F/scripts.inc
+++ b/data/maps/RustboroCity_DevonCorp_2F/scripts.inc
@@ -4,7 +4,7 @@ RustboroCity_DevonCorp_2F_MapScripts:: @ 8211857
RustboroCity_DevonCorp_2F_MapScript1_21185D: @ 821185D
compare VAR_0x40C4, 1
- call_if 1, RustboroCity_DevonCorp_2F_EventScript_211869
+ call_if_eq RustboroCity_DevonCorp_2F_EventScript_211869
end
RustboroCity_DevonCorp_2F_EventScript_211869:: @ 8211869
@@ -15,7 +15,7 @@ RustboroCity_DevonCorp_2F_EventScript_21186F:: @ 821186F
lock
faceplayer
compare VAR_0x40C4, 1
- call_if 1, RustboroCity_DevonCorp_2F_EventScript_211869
+ call_if_eq RustboroCity_DevonCorp_2F_EventScript_211869
msgbox RustboroCity_DevonCorp_2F_Text_211BFB, MSGBOX_DEFAULT
release
end
@@ -24,9 +24,8 @@ RustboroCity_DevonCorp_2F_EventScript_211886:: @ 8211886
lock
faceplayer
compare VAR_0x40C4, 1
- call_if 1, RustboroCity_DevonCorp_2F_EventScript_211869
- checkflag FLAG_0x11F
- goto_eq RustboroCity_DevonCorp_2F_EventScript_2118A6
+ call_if_eq RustboroCity_DevonCorp_2F_EventScript_211869
+ goto_if_set FLAG_0x11F, RustboroCity_DevonCorp_2F_EventScript_2118A6
msgbox RustboroCity_DevonCorp_2F_Text_211C50, MSGBOX_DEFAULT
release
end
@@ -40,9 +39,8 @@ RustboroCity_DevonCorp_2F_EventScript_2118B0:: @ 82118B0
lock
faceplayer
compare VAR_0x40C4, 1
- call_if 1, RustboroCity_DevonCorp_2F_EventScript_211869
- checkflag FLAG_0x0BC
- goto_eq RustboroCity_DevonCorp_2F_EventScript_2118D0
+ call_if_eq RustboroCity_DevonCorp_2F_EventScript_211869
+ goto_if_set FLAG_0x0BC, RustboroCity_DevonCorp_2F_EventScript_2118D0
msgbox RustboroCity_DevonCorp_2F_Text_211D9F, MSGBOX_DEFAULT
release
end
@@ -56,7 +54,7 @@ RustboroCity_DevonCorp_2F_EventScript_2118DA:: @ 82118DA
lock
faceplayer
compare VAR_0x40C4, 1
- call_if 1, RustboroCity_DevonCorp_2F_EventScript_211869
+ call_if_eq RustboroCity_DevonCorp_2F_EventScript_211869
msgbox RustboroCity_DevonCorp_2F_Text_211EE0, MSGBOX_DEFAULT
release
end
@@ -65,16 +63,16 @@ RustboroCity_DevonCorp_2F_EventScript_2118F1:: @ 82118F1
lock
faceplayer
compare VAR_0x40C4, 2
- goto_eq RustboroCity_DevonCorp_2F_EventScript_211A03
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211A03
compare VAR_0x40C4, 1
- goto_eq RustboroCity_DevonCorp_2F_EventScript_2119F9
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_2119F9
msgbox RustboroCity_DevonCorp_2F_Text_211F48, MSGBOX_DEFAULT
checkitem ITEM_ROOT_FOSSIL, 1
compare VAR_RESULT, 1
- goto_eq RustboroCity_DevonCorp_2F_EventScript_211933
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211933
checkitem ITEM_CLAW_FOSSIL, 1
compare VAR_RESULT, 1
- goto_eq RustboroCity_DevonCorp_2F_EventScript_211991
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211991
release
end
@@ -87,10 +85,10 @@ RustboroCity_DevonCorp_2F_EventScript_211933:: @ 8211933
waitmovement 0
msgbox RustboroCity_DevonCorp_2F_Text_211FA6, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq RustboroCity_DevonCorp_2F_EventScript_2119EF
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_2119EF
checkitem ITEM_CLAW_FOSSIL, 1
compare VAR_RESULT, 1
- goto_eq RustboroCity_DevonCorp_2F_EventScript_211B84
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211B84
goto RustboroCity_DevonCorp_2F_EventScript_211974
end
@@ -112,10 +110,10 @@ RustboroCity_DevonCorp_2F_EventScript_211991:: @ 8211991
waitmovement 0
msgbox RustboroCity_DevonCorp_2F_Text_211FA6, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq RustboroCity_DevonCorp_2F_EventScript_2119EF
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_2119EF
checkitem ITEM_ROOT_FOSSIL, 1
compare VAR_RESULT, 1
- goto_eq RustboroCity_DevonCorp_2F_EventScript_211B84
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211B84
goto RustboroCity_DevonCorp_2F_EventScript_2119D2
end
@@ -140,9 +138,9 @@ RustboroCity_DevonCorp_2F_EventScript_2119F9:: @ 82119F9
RustboroCity_DevonCorp_2F_EventScript_211A03:: @ 8211A03
compare VAR_0x40C5, 1
- goto_eq RustboroCity_DevonCorp_2F_EventScript_211A1A
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211A1A
compare VAR_0x40C5, 2
- goto_eq RustboroCity_DevonCorp_2F_EventScript_211A2C
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211A2C
end
RustboroCity_DevonCorp_2F_EventScript_211A1A:: @ 8211A1A
@@ -161,9 +159,9 @@ RustboroCity_DevonCorp_2F_EventScript_211A3E:: @ 8211A3E
setvar VAR_TEMP_1, 388
givemon SPECIES_LILEEP, 20, ITEM_NONE, 0x0, 0x0, 0
compare VAR_RESULT, 0
- goto_eq RustboroCity_DevonCorp_2F_EventScript_211A6E
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211A6E
compare VAR_RESULT, 1
- goto_eq RustboroCity_DevonCorp_2F_EventScript_211A96
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211A96
goto RustboroCity_DevonCorp_2F_EventScript_273811
end
@@ -171,7 +169,7 @@ RustboroCity_DevonCorp_2F_EventScript_211A6E:: @ 8211A6E
call RustboroCity_DevonCorp_2F_EventScript_211AC4
msgbox gUnknown_08273374, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq RustboroCity_DevonCorp_2F_EventScript_211AD7
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211AD7
call RustboroCity_DevonCorp_2F_EventScript_27378B
call RustboroCity_DevonCorp_2F_EventScript_2723DD
goto RustboroCity_DevonCorp_2F_EventScript_211AD7
@@ -181,7 +179,7 @@ RustboroCity_DevonCorp_2F_EventScript_211A96:: @ 8211A96
call RustboroCity_DevonCorp_2F_EventScript_211AC4
msgbox gUnknown_08273374, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq RustboroCity_DevonCorp_2F_EventScript_211AB9
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211AB9
call RustboroCity_DevonCorp_2F_EventScript_273797
goto RustboroCity_DevonCorp_2F_EventScript_211AB9
end
@@ -210,9 +208,9 @@ RustboroCity_DevonCorp_2F_EventScript_211AE1:: @ 8211AE1
setvar VAR_TEMP_1, 390
givemon SPECIES_ANORITH, 20, ITEM_NONE, 0x0, 0x0, 0
compare VAR_RESULT, 0
- goto_eq RustboroCity_DevonCorp_2F_EventScript_211B11
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211B11
compare VAR_RESULT, 1
- goto_eq RustboroCity_DevonCorp_2F_EventScript_211B39
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211B39
goto RustboroCity_DevonCorp_2F_EventScript_273811
end
@@ -220,7 +218,7 @@ RustboroCity_DevonCorp_2F_EventScript_211B11:: @ 8211B11
call RustboroCity_DevonCorp_2F_EventScript_211B67
msgbox gUnknown_08273374, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq RustboroCity_DevonCorp_2F_EventScript_211B7A
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211B7A
call RustboroCity_DevonCorp_2F_EventScript_27378B
call RustboroCity_DevonCorp_2F_EventScript_2723DD
goto RustboroCity_DevonCorp_2F_EventScript_211B7A
@@ -230,7 +228,7 @@ RustboroCity_DevonCorp_2F_EventScript_211B39:: @ 8211B39
call RustboroCity_DevonCorp_2F_EventScript_211B67
msgbox gUnknown_08273374, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq RustboroCity_DevonCorp_2F_EventScript_211B5C
+ goto_if_eq RustboroCity_DevonCorp_2F_EventScript_211B5C
call RustboroCity_DevonCorp_2F_EventScript_273797
goto RustboroCity_DevonCorp_2F_EventScript_211B5C
end
@@ -282,9 +280,9 @@ RustboroCity_DevonCorp_2F_EventScript_211BCF:: @ 8211BCF
lock
faceplayer
compare VAR_0x40C4, 1
- call_if 1, RustboroCity_DevonCorp_2F_EventScript_211869
+ call_if_eq RustboroCity_DevonCorp_2F_EventScript_211869
compare VAR_0x405A, 6
- goto_if 4, RustboroCity_DevonCorp_2F_EventScript_211BF1
+ goto_if_ge RustboroCity_DevonCorp_2F_EventScript_211BF1
msgbox RustboroCity_DevonCorp_2F_Text_212338, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/RustboroCity_DevonCorp_3F/scripts.inc b/data/maps/RustboroCity_DevonCorp_3F/scripts.inc
index dc170677a..0e21b4c38 100644
--- a/data/maps/RustboroCity_DevonCorp_3F/scripts.inc
+++ b/data/maps/RustboroCity_DevonCorp_3F/scripts.inc
@@ -6,7 +6,7 @@ RustboroCity_DevonCorp_3F_MapScripts:: @ 821242D
RustboroCity_DevonCorp_3F_MapScript1_21243D: @ 821243D
compare VAR_0x408F, 0
- call_if 1, RustboroCity_DevonCorp_3F_EventScript_212449
+ call_if_eq RustboroCity_DevonCorp_3F_EventScript_212449
end
RustboroCity_DevonCorp_3F_EventScript_212449:: @ 8212449
@@ -19,7 +19,7 @@ RustboroCity_DevonCorp_3F_MapScript2_212455: @ 8212455
.2byte 0
RustboroCity_DevonCorp_3F_EventScript_21245F:: @ 821245F
- turnobject 255, 4
+ turnobject EVENT_OBJ_ID_PLAYER, 4
end
RustboroCity_DevonCorp_3F_MapScript2_212464: @ 8212464
@@ -39,13 +39,13 @@ RustboroCity_DevonCorp_3F_EventScript_21246E:: @ 821246E
closemessage
playbgm MUS_TSURETEK, 0
applymovement 2, RustboroCity_DevonCorp_3F_Movement_212534
- applymovement 255, RustboroCity_DevonCorp_3F_Movement_212558
+ applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_DevonCorp_3F_Movement_212558
waitmovement 0
msgbox RustboroCity_DevonCorp_3F_Text_212E2F, MSGBOX_DEFAULT
closemessage
fadedefaultbgm
applymovement 2, RustboroCity_DevonCorp_3F_Movement_212543
- applymovement 255, RustboroCity_DevonCorp_3F_Movement_212566
+ applymovement EVENT_OBJ_ID_PLAYER, RustboroCity_DevonCorp_3F_Movement_212566
waitmovement 0
msgbox RustboroCity_DevonCorp_3F_Text_212609, MSGBOX_DEFAULT
giveitem_std ITEM_LETTER
@@ -150,10 +150,8 @@ RustboroCity_DevonCorp_3F_Movement_212566: @ 8212566
RustboroCity_DevonCorp_3F_EventScript_21256C:: @ 821256C
lock
faceplayer
- checkflag FLAG_0x110
- goto_eq RustboroCity_DevonCorp_3F_EventScript_2125CC
- checkflag FLAG_0x0BD
- goto_eq RustboroCity_DevonCorp_3F_EventScript_212595
+ goto_if_set FLAG_0x110, RustboroCity_DevonCorp_3F_EventScript_2125CC
+ goto_if_set FLAG_0x0BD, RustboroCity_DevonCorp_3F_EventScript_212595
msgbox RustboroCity_DevonCorp_3F_Text_212A09, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, RustboroCity_DevonCorp_3F_Movement_2725A2
@@ -165,7 +163,7 @@ RustboroCity_DevonCorp_3F_EventScript_212595:: @ 8212595
msgbox RustboroCity_DevonCorp_3F_Text_212A29, MSGBOX_DEFAULT
giveitem_std ITEM_EXP_SHARE
compare VAR_RESULT, 0
- goto_eq RustboroCity_DevonCorp_3F_EventScript_272054
+ goto_if_eq RustboroCity_DevonCorp_3F_EventScript_272054
setflag FLAG_0x110
msgbox RustboroCity_DevonCorp_3F_Text_212A9E, MSGBOX_DEFAULT
closemessage
@@ -185,8 +183,7 @@ RustboroCity_DevonCorp_3F_EventScript_2125CC:: @ 82125CC
RustboroCity_DevonCorp_3F_EventScript_2125E1:: @ 82125E1
lock
faceplayer
- checkflag FLAG_0x100
- goto_eq RustboroCity_DevonCorp_3F_EventScript_2125F6
+ goto_if_set FLAG_0x100, RustboroCity_DevonCorp_3F_EventScript_2125F6
msgbox RustboroCity_DevonCorp_3F_Text_212E41, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/RustboroCity_Flat1_2F/scripts.inc b/data/maps/RustboroCity_Flat1_2F/scripts.inc
index ae0bfcd8e..7798e72e6 100644
--- a/data/maps/RustboroCity_Flat1_2F/scripts.inc
+++ b/data/maps/RustboroCity_Flat1_2F/scripts.inc
@@ -6,35 +6,35 @@ RustboroCity_Flat1_2F_EventScript_21513A:: @ 821513A
faceplayer
specialvar VAR_RESULT, TryBufferWaldaPhrase
compare VAR_RESULT, 0
- goto_eq RustboroCity_Flat1_2F_EventScript_21518D
+ goto_if_eq RustboroCity_Flat1_2F_EventScript_21518D
compare VAR_RESULT, 1
- goto_eq RustboroCity_Flat1_2F_EventScript_2151AD
+ goto_if_eq RustboroCity_Flat1_2F_EventScript_2151AD
RustboroCity_Flat1_2F_EventScript_215157:: @ 8215157
special DoWaldaNamingScreen
waitstate
compare VAR_0x8004, 1
- goto_eq RustboroCity_Flat1_2F_EventScript_2151D7
+ goto_if_eq RustboroCity_Flat1_2F_EventScript_2151D7
compare VAR_0x8004, 2
- goto_eq RustboroCity_Flat1_2F_EventScript_2151E1
+ goto_if_eq RustboroCity_Flat1_2F_EventScript_2151E1
specialvar VAR_RESULT, TryGetWallpaperWithWaldaPhrase
compare VAR_RESULT, 1
- goto_eq RustboroCity_Flat1_2F_EventScript_2151F8
+ goto_if_eq RustboroCity_Flat1_2F_EventScript_2151F8
compare VAR_RESULT, 0
- goto_eq RustboroCity_Flat1_2F_EventScript_215221
+ goto_if_eq RustboroCity_Flat1_2F_EventScript_215221
end
RustboroCity_Flat1_2F_EventScript_21518D:: @ 821518D
msgbox RustboroCity_Flat1_2F_Text_2152FA, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq RustboroCity_Flat1_2F_EventScript_2151CD
+ 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_eq RustboroCity_Flat1_2F_EventScript_2151CD
+ goto_if_eq RustboroCity_Flat1_2F_EventScript_2151CD
msgbox RustboroCity_Flat1_2F_Text_2154AD, MSGBOX_DEFAULT
goto RustboroCity_Flat1_2F_EventScript_215157
diff --git a/data/maps/RustboroCity_Flat2_2F/scripts.inc b/data/maps/RustboroCity_Flat2_2F/scripts.inc
index d07babf0c..e08d599ac 100644
--- a/data/maps/RustboroCity_Flat2_2F/scripts.inc
+++ b/data/maps/RustboroCity_Flat2_2F/scripts.inc
@@ -8,12 +8,11 @@ RustboroCity_Flat2_2F_EventScript_215FD8:: @ 8215FD8
RustboroCity_Flat2_2F_EventScript_215FE1:: @ 8215FE1
lock
faceplayer
- checkflag FLAG_0x0D5
- goto_eq RustboroCity_Flat2_2F_EventScript_216010
+ goto_if_set FLAG_0x0D5, RustboroCity_Flat2_2F_EventScript_216010
msgbox RustboroCity_Flat2_2F_Text_21605A, MSGBOX_DEFAULT
giveitem_std ITEM_PREMIER_BALL
compare VAR_RESULT, 0
- goto_eq RustboroCity_Flat2_2F_EventScript_272054
+ goto_if_eq RustboroCity_Flat2_2F_EventScript_272054
setflag FLAG_0x0D5
release
end
diff --git a/data/maps/RustboroCity_Gym/scripts.inc b/data/maps/RustboroCity_Gym/scripts.inc
index 6f161d048..170ae4324 100644
--- a/data/maps/RustboroCity_Gym/scripts.inc
+++ b/data/maps/RustboroCity_Gym/scripts.inc
@@ -5,9 +5,8 @@ RustboroCity_Gym_EventScript_212F31:: @ 8212F31
trainerbattle_single TRAINER_ROXANNE_1, RustboroCity_Gym_Text_21362A, RustboroCity_Gym_Text_21370B, RustboroCity_Gym_EventScript_212F66, NO_MUSIC
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq RustboroCity_Gym_EventScript_212FC8
- checkflag FLAG_0x0A5
- goto_if 0, RustboroCity_Gym_EventScript_212FA4
+ goto_if_eq RustboroCity_Gym_EventScript_212FC8
+ goto_if_unset FLAG_0x0A5, RustboroCity_Gym_EventScript_212FA4
msgbox RustboroCity_Gym_Text_2139A7, MSGBOX_DEFAULT
release
end
@@ -24,14 +23,14 @@ RustboroCity_Gym_EventScript_212F66:: @ 8212F66
setvar VAR_0x8008, 1
call RustboroCity_Gym_EventScript_271F43
compare VAR_0x4085, 6
- call_if 1, RustboroCity_Gym_EventScript_271E84
+ call_if_eq RustboroCity_Gym_EventScript_271E84
goto RustboroCity_Gym_EventScript_212FA4
end
RustboroCity_Gym_EventScript_212FA4:: @ 8212FA4
giveitem_std ITEM_TM39
compare VAR_RESULT, 0
- goto_eq RustboroCity_Gym_EventScript_272054
+ goto_if_eq RustboroCity_Gym_EventScript_272054
setflag FLAG_0x0A5
msgbox RustboroCity_Gym_Text_2138B1, MSGBOX_DEFAULT
release
@@ -60,8 +59,7 @@ RustboroCity_Gym_EventScript_213011:: @ 8213011
RustboroCity_Gym_EventScript_213028:: @ 8213028
lock
faceplayer
- checkflag FLAG_0x4F0
- goto_eq RustboroCity_Gym_EventScript_21303D
+ goto_if_set FLAG_0x4F0, RustboroCity_Gym_EventScript_21303D
msgbox RustboroCity_Gym_Text_21309D, MSGBOX_DEFAULT
release
end
@@ -73,15 +71,13 @@ RustboroCity_Gym_EventScript_21303D:: @ 821303D
RustboroCity_Gym_EventScript_213047:: @ 8213047
lockall
- checkflag FLAG_BADGE01_GET
- goto_eq RustboroCity_Gym_EventScript_213067
+ goto_if_set FLAG_BADGE01_GET, RustboroCity_Gym_EventScript_213067
goto RustboroCity_Gym_EventScript_213071
end
RustboroCity_Gym_EventScript_213057:: @ 8213057
lockall
- checkflag FLAG_BADGE01_GET
- goto_eq RustboroCity_Gym_EventScript_213067
+ goto_if_set FLAG_BADGE01_GET, RustboroCity_Gym_EventScript_213067
goto RustboroCity_Gym_EventScript_213071
end
diff --git a/data/maps/RustboroCity_House1/scripts.inc b/data/maps/RustboroCity_House1/scripts.inc
index 8bc43c0c2..26a406675 100644
--- a/data/maps/RustboroCity_House1/scripts.inc
+++ b/data/maps/RustboroCity_House1/scripts.inc
@@ -4,25 +4,24 @@ RustboroCity_House1_MapScripts:: @ 821593E
RustboroCity_House1_EventScript_21593F:: @ 821593F
lock
faceplayer
- checkflag FLAG_0x099
- goto_eq RustboroCity_House1_EventScript_2159D5
+ goto_if_set FLAG_0x099, RustboroCity_House1_EventScript_2159D5
setvar VAR_0x8008, 0
copyvar VAR_0x8004, VAR_0x8008
specialvar VAR_RESULT, sub_807E73C
copyvar VAR_0x8009, VAR_RESULT
msgbox RustboroCity_House1_Text_2159E8, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq RustboroCity_House1_EventScript_2159BD
+ goto_if_eq RustboroCity_House1_EventScript_2159BD
special sub_81B94B0
waitstate
copyvar VAR_0x800A, VAR_0x8004
compare VAR_0x8004, 255
- goto_eq RustboroCity_House1_EventScript_2159BD
+ goto_if_eq RustboroCity_House1_EventScript_2159BD
copyvar VAR_0x8005, VAR_0x800A
specialvar VAR_RESULT, sub_807E9D4
copyvar VAR_0x800B, VAR_RESULT
compare VAR_RESULT, VAR_0x8009
- goto_if 5, RustboroCity_House1_EventScript_2159C7
+ goto_if_ne RustboroCity_House1_EventScript_2159C7
copyvar VAR_0x8004, VAR_0x8008
copyvar VAR_0x8005, VAR_0x800A
special sub_807EA10
diff --git a/data/maps/RustboroCity_Mart/scripts.inc b/data/maps/RustboroCity_Mart/scripts.inc
index 17406b0ac..78492e962 100644
--- a/data/maps/RustboroCity_Mart/scripts.inc
+++ b/data/maps/RustboroCity_Mart/scripts.inc
@@ -6,10 +6,8 @@ RustboroCity_Mart_EventScript_214F06:: @ 8214F06
faceplayer
message gUnknown_08272A21
waitmessage
- checkflag FLAG_0x11F
- goto_if 0, RustboroCity_Mart_EventScript_214F21
- checkflag FLAG_0x11F
- goto_eq RustboroCity_Mart_EventScript_214F48
+ goto_if_unset FLAG_0x11F, RustboroCity_Mart_EventScript_214F21
+ goto_if_set FLAG_0x11F, RustboroCity_Mart_EventScript_214F48
end
RustboroCity_Mart_EventScript_214F21:: @ 8214F21
diff --git a/data/maps/RustboroCity_PokemonSchool/scripts.inc b/data/maps/RustboroCity_PokemonSchool/scripts.inc
index 330afd30c..2bba066b2 100644
--- a/data/maps/RustboroCity_PokemonSchool/scripts.inc
+++ b/data/maps/RustboroCity_PokemonSchool/scripts.inc
@@ -77,16 +77,15 @@ RustboroCity_PokemonSchool_EventScript_213F8C:: @ 8213F8C
RustboroCity_PokemonSchool_EventScript_213F95:: @ 8213F95
lock
faceplayer
- checkflag FLAG_0x113
- goto_eq RustboroCity_PokemonSchool_EventScript_213FFB
+ goto_if_set FLAG_0x113, RustboroCity_PokemonSchool_EventScript_213FFB
compare VAR_FACING, 4
- call_if 1, RustboroCity_PokemonSchool_EventScript_213FE5
+ call_if_eq RustboroCity_PokemonSchool_EventScript_213FE5
compare VAR_FACING, 3
- call_if 1, RustboroCity_PokemonSchool_EventScript_213FF0
+ call_if_eq RustboroCity_PokemonSchool_EventScript_213FF0
msgbox RustboroCity_PokemonSchool_Text_214433, MSGBOX_DEFAULT
giveitem_std ITEM_QUICK_CLAW
compare VAR_RESULT, 0
- goto_eq RustboroCity_PokemonSchool_EventScript_272054
+ goto_if_eq RustboroCity_PokemonSchool_EventScript_272054
closemessage
applymovement VAR_LAST_TALKED, RustboroCity_PokemonSchool_Movement_2725AA
waitmovement 0
@@ -167,12 +166,9 @@ RustboroCity_PokemonSchool_Movement_214027: @ 8214027
RustboroCity_PokemonSchool_EventScript_214040:: @ 8214040
lock
faceplayer
- checkflag FLAG_0x1CB
- goto_eq RustboroCity_PokemonSchool_EventScript_2140A8
- checkflag FLAG_0x136
- goto_eq RustboroCity_PokemonSchool_EventScript_21406F
- checkflag FLAG_BADGE01_GET
- goto_eq RustboroCity_PokemonSchool_EventScript_214082
+ goto_if_set FLAG_0x1CB, RustboroCity_PokemonSchool_EventScript_2140A8
+ goto_if_set FLAG_0x136, RustboroCity_PokemonSchool_EventScript_21406F
+ goto_if_set FLAG_BADGE01_GET, RustboroCity_PokemonSchool_EventScript_214082
msgbox RustboroCity_PokemonSchool_Text_2148C0, MSGBOX_DEFAULT
addvar VAR_0x40D1, 1
setflag FLAG_0x136
@@ -180,8 +176,7 @@ RustboroCity_PokemonSchool_EventScript_214040:: @ 8214040
end
RustboroCity_PokemonSchool_EventScript_21406F:: @ 821406F
- checkflag FLAG_BADGE01_GET
- goto_eq RustboroCity_PokemonSchool_EventScript_214090
+ goto_if_set FLAG_BADGE01_GET, RustboroCity_PokemonSchool_EventScript_214090
msgbox RustboroCity_PokemonSchool_Text_214A5F, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/RusturfTunnel/scripts.inc b/data/maps/RusturfTunnel/scripts.inc
index 1eaaba66c..8985f5b43 100644
--- a/data/maps/RusturfTunnel/scripts.inc
+++ b/data/maps/RusturfTunnel/scripts.inc
@@ -10,7 +10,7 @@ RusturfTunnel_MapScript2_22CE32: @ 822CE32
RusturfTunnel_MapScript1_22CE44: @ 822CE44
compare VAR_RUSTURF_TUNNEL_STATE, 2
- call_if 1, RusturfTunnel_EventScript_22CE50
+ call_if_eq RusturfTunnel_EventScript_22CE50
end
RusturfTunnel_EventScript_22CE50:: @ 822CE50
@@ -31,8 +31,7 @@ RusturfTunnel_EventScript_22CE5F:: @ 822CE5F
RusturfTunnel_EventScript_22CE76:: @ 822CE76
lock
faceplayer
- checkflag FLAG_TEMP_1
- goto_eq RusturfTunnel_EventScript_22CE99
+ goto_if_set FLAG_TEMP_1, RusturfTunnel_EventScript_22CE99
setflag FLAG_TEMP_1
msgbox RusturfTunnel_Text_22D510, MSGBOX_DEFAULT
closemessage
@@ -52,47 +51,47 @@ RusturfTunnel_EventScript_22CE99:: @ 822CE99
RusturfTunnel_EventScript_22CEAE:: @ 822CEAE
lockall
compare VAR_TEMP_1, 1
- call_if 1, RusturfTunnel_EventScript_22CFA7
+ call_if_eq RusturfTunnel_EventScript_22CFA7
compare VAR_TEMP_1, 2
- call_if 1, RusturfTunnel_EventScript_22CFBC
+ call_if_eq RusturfTunnel_EventScript_22CFBC
compare VAR_TEMP_1, 3
- call_if 1, RusturfTunnel_EventScript_22CFC7
+ call_if_eq RusturfTunnel_EventScript_22CFC7
call RusturfTunnel_EventScript_22CFFF
msgbox RusturfTunnel_Text_22D65C, MSGBOX_DEFAULT
compare VAR_TEMP_1, 2
- call_if 1, RusturfTunnel_EventScript_22CFC8
+ call_if_eq RusturfTunnel_EventScript_22CFC8
compare VAR_TEMP_1, 3
- call_if 1, RusturfTunnel_EventScript_22CFC8
+ call_if_eq RusturfTunnel_EventScript_22CFC8
giveitem_std ITEM_HM04
setflag FLAG_0x06A
msgbox RusturfTunnel_Text_22D6D2, MSGBOX_DEFAULT
closemessage
compare VAR_TEMP_1, 1
- call_if 1, RusturfTunnel_EventScript_22CF5D
+ call_if_eq RusturfTunnel_EventScript_22CF5D
compare VAR_TEMP_1, 2
- call_if 1, RusturfTunnel_EventScript_22CF6F
+ call_if_eq RusturfTunnel_EventScript_22CF6F
compare VAR_TEMP_1, 3
- call_if 1, RusturfTunnel_EventScript_22CF8B
+ call_if_eq RusturfTunnel_EventScript_22CF8B
msgbox RusturfTunnel_Text_22D745, MSGBOX_DEFAULT
closemessage
compare VAR_TEMP_1, 1
- call_if 1, RusturfTunnel_EventScript_22CFD4
+ call_if_eq RusturfTunnel_EventScript_22CFD4
compare VAR_TEMP_1, 2
- call_if 1, RusturfTunnel_EventScript_22CFE6
+ call_if_eq RusturfTunnel_EventScript_22CFE6
compare VAR_TEMP_1, 3
- call_if 1, RusturfTunnel_EventScript_22CFE6
+ call_if_eq RusturfTunnel_EventScript_22CFE6
call RusturfTunnel_EventScript_272216
releaseall
end
RusturfTunnel_EventScript_22CF5D:: @ 822CF5D
- applymovement 255, RusturfTunnel_Movement_22D042
+ applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D042
applymovement 1, RusturfTunnel_Movement_22D067
waitmovement 0
return
RusturfTunnel_EventScript_22CF6F:: @ 822CF6F
- applymovement 255, RusturfTunnel_Movement_22D045
+ applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D045
applymovement 1, RusturfTunnel_Movement_22D06C
waitmovement 0
applymovement 10, RusturfTunnel_Movement_2725AA
@@ -100,7 +99,7 @@ RusturfTunnel_EventScript_22CF6F:: @ 822CF6F
return
RusturfTunnel_EventScript_22CF8B:: @ 822CF8B
- applymovement 255, RusturfTunnel_Movement_22D045
+ applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D045
applymovement 1, RusturfTunnel_Movement_22D06C
waitmovement 0
applymovement 10, RusturfTunnel_Movement_2725AA
@@ -110,7 +109,7 @@ RusturfTunnel_EventScript_22CF8B:: @ 822CF8B
RusturfTunnel_EventScript_22CFA7:: @ 822CFA7
applymovement 1, RusturfTunnel_Movement_2725A6
waitmovement 0
- applymovement 255, RusturfTunnel_Movement_2725AA
+ applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_2725AA
waitmovement 0
return
@@ -135,7 +134,7 @@ RusturfTunnel_EventScript_22CFD4:: @ 822CFD4
return
RusturfTunnel_EventScript_22CFE6:: @ 822CFE6
- applymovement 255, RusturfTunnel_Movement_22D02F
+ applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D02F
applymovement 10, RusturfTunnel_Movement_22D023
applymovement 1, RusturfTunnel_Movement_22D058
waitmovement 0
@@ -317,7 +316,7 @@ RusturfTunnel_EventScript_22D0C2:: @ 822D0C2
msgbox RusturfTunnel_Text_22D2E1, MSGBOX_DEFAULT
giveitem_std ITEM_DEVON_GOODS
closemessage
- applymovement 255, RusturfTunnel_Movement_22D178
+ applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D178
applymovement 6, RusturfTunnel_Movement_22D181
waitmovement 0
removeobject 6
@@ -325,7 +324,7 @@ RusturfTunnel_EventScript_22D0C2:: @ 822D0C2
addobject 5
applymovement 5, RusturfTunnel_Movement_22D18B
waitmovement 0
- applymovement 255, RusturfTunnel_Movement_22D17E
+ applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D17E
applymovement 5, RusturfTunnel_Movement_22D1A4
waitmovement 0
msgbox RusturfTunnel_Text_22D395, MSGBOX_DEFAULT
@@ -338,7 +337,7 @@ RusturfTunnel_EventScript_22D0C2:: @ 822D0C2
waitbuttonpress
waitmoncry
closemessage
- applymovement 255, RusturfTunnel_Movement_22D19F
+ applymovement EVENT_OBJ_ID_PLAYER, RusturfTunnel_Movement_22D19F
applymovement 5, RusturfTunnel_Movement_22D193
applymovement 7, RusturfTunnel_Movement_22D1A7
waitmovement 0
diff --git a/data/maps/SSTidalCorridor/scripts.inc b/data/maps/SSTidalCorridor/scripts.inc
index 15b0ba8e1..86d85fccc 100644
--- a/data/maps/SSTidalCorridor/scripts.inc
+++ b/data/maps/SSTidalCorridor/scripts.inc
@@ -43,9 +43,9 @@ SSTidalRooms_EventScript_23C03C:: @ 823C03C
SSTidalCorridor_EventScript_23C050:: @ 823C050
compare VAR_PORTHOLE_STATE, 2
- goto_eq SSTidalCorridor_EventScript_23C067
+ goto_if_eq SSTidalCorridor_EventScript_23C067
compare VAR_PORTHOLE_STATE, 7
- goto_eq SSTidalCorridor_EventScript_23C07D
+ goto_if_eq SSTidalCorridor_EventScript_23C07D
end
SSTidalCorridor_EventScript_23C067:: @ 823C067
@@ -115,9 +115,9 @@ SSTidalCorridor_EventScript_23C119:: @ 823C119
lock
faceplayer
compare VAR_PORTHOLE_STATE, 4
- goto_eq SSTidalCorridor_EventScript_23C13B
+ goto_if_eq SSTidalCorridor_EventScript_23C13B
compare VAR_PORTHOLE_STATE, 8
- goto_eq SSTidalCorridor_EventScript_23C15A
+ goto_if_eq SSTidalCorridor_EventScript_23C15A
msgbox SSTidalCorridor_Text_23C596, MSGBOX_DEFAULT
release
end
@@ -125,8 +125,7 @@ SSTidalCorridor_EventScript_23C119:: @ 823C119
SSTidalCorridor_EventScript_23C13B:: @ 823C13B
setrespawn HEAL_LOCATION_LILYCOVE_CITY
msgbox SSTidalCorridor_Text_23C64F, MSGBOX_DEFAULT
- checkflag FLAG_0x104
- call_if 1, SSTidalCorridor_EventScript_23C179
+ call_if_set FLAG_0x104, SSTidalCorridor_EventScript_23C179
warp MAP_LILYCOVE_CITY_HARBOR, 255, 8, 11
waitstate
release
@@ -135,8 +134,7 @@ SSTidalCorridor_EventScript_23C13B:: @ 823C13B
SSTidalCorridor_EventScript_23C15A:: @ 823C15A
setrespawn HEAL_LOCATION_SLATEPORT_CITY
msgbox SSTidalCorridor_Text_23C64F, MSGBOX_DEFAULT
- checkflag FLAG_0x104
- call_if 1, SSTidalCorridor_EventScript_23C179
+ call_if_set FLAG_0x104, SSTidalCorridor_EventScript_23C179
warp MAP_SLATEPORT_CITY_HARBOR, 255, 8, 11
waitstate
release
@@ -149,9 +147,9 @@ SSTidalCorridor_EventScript_23C179:: @ 823C179
SSTidalCorridor_EventScript_23C17D:: @ 823C17D
lockall
compare VAR_PORTHOLE_STATE, 2
- goto_eq SSTidalCorridor_EventScript_23C19E
+ goto_if_eq SSTidalCorridor_EventScript_23C19E
compare VAR_PORTHOLE_STATE, 7
- goto_eq SSTidalCorridor_EventScript_23C19E
+ goto_if_eq SSTidalCorridor_EventScript_23C19E
msgbox SSTidalCorridor_Text_23C6C3, MSGBOX_DEFAULT
releaseall
end
@@ -164,8 +162,7 @@ SSTidalCorridor_EventScript_23C19E:: @ 823C19E
SSTidalCorridor_EventScript_23C1A3:: @ 823C1A3
lock
faceplayer
- checkflag FLAG_0x0F7
- goto_eq SSTidalCorridor_EventScript_23C1BD
+ goto_if_set FLAG_0x0F7, SSTidalCorridor_EventScript_23C1BD
call SSTidalCorridor_EventScript_23C1C7
msgbox SSTidalCorridor_Text_23C65E, MSGBOX_DEFAULT
release
@@ -178,21 +175,21 @@ SSTidalCorridor_EventScript_23C1BD:: @ 823C1BD
SSTidalCorridor_EventScript_23C1C7:: @ 823C1C7
checktrainerflag TRAINER_PHILLIP
- goto_if 0, SSTidalCorridor_EventScript_23C218
+ goto_if_lt SSTidalCorridor_EventScript_23C218
checktrainerflag TRAINER_LEONARD
- goto_if 0, SSTidalCorridor_EventScript_23C218
+ goto_if_lt SSTidalCorridor_EventScript_23C218
checktrainerflag TRAINER_COLTON
- goto_if 0, SSTidalCorridor_EventScript_23C218
+ goto_if_lt SSTidalCorridor_EventScript_23C218
checktrainerflag TRAINER_MICAH
- goto_if 0, SSTidalCorridor_EventScript_23C218
+ goto_if_lt SSTidalCorridor_EventScript_23C218
checktrainerflag TRAINER_THOMAS
- goto_if 0, SSTidalCorridor_EventScript_23C218
+ goto_if_lt SSTidalCorridor_EventScript_23C218
checktrainerflag TRAINER_LEA_AND_JED
- goto_if 0, SSTidalCorridor_EventScript_23C218
+ goto_if_lt SSTidalCorridor_EventScript_23C218
checktrainerflag TRAINER_GARRET
- goto_if 0, SSTidalCorridor_EventScript_23C218
+ goto_if_lt SSTidalCorridor_EventScript_23C218
checktrainerflag TRAINER_NAOMI
- goto_if 0, SSTidalCorridor_EventScript_23C218
+ goto_if_lt SSTidalCorridor_EventScript_23C218
setflag FLAG_0x0F7
goto SSTidalCorridor_EventScript_23C1BD
return
@@ -204,11 +201,11 @@ SSTidalCorridor_EventScript_23C219:: @ 823C219
lockall
applymovement 5, SSTidalCorridor_Movement_23C26D
waitmovement 0
- applymovement 255, SSTidalCorridor_Movement_2725A8
+ applymovement EVENT_OBJ_ID_PLAYER, SSTidalCorridor_Movement_2725A8
waitmovement 0
msgbox SSTidalCorridor_Text_23C28F, MSGBOX_DEFAULT
closemessage
- applymovement 255, SSTidalCorridor_Movement_23C27D
+ applymovement EVENT_OBJ_ID_PLAYER, SSTidalCorridor_Movement_23C27D
applymovement 1, SSTidalCorridor_Movement_23C284
applymovement 5, SSTidalCorridor_Movement_23C275
waitmovement 0
diff --git a/data/maps/SSTidalRooms/scripts.inc b/data/maps/SSTidalRooms/scripts.inc
index 7d774e491..d4c088536 100644
--- a/data/maps/SSTidalRooms/scripts.inc
+++ b/data/maps/SSTidalRooms/scripts.inc
@@ -4,12 +4,11 @@ SSTidalRooms_MapScripts:: @ 823C9F1
SSTidalRooms_EventScript_23C9F2:: @ 823C9F2
lock
faceplayer
- checkflag FLAG_0x104
- goto_eq SSTidalRooms_EventScript_23CA29
+ goto_if_set FLAG_0x104, SSTidalRooms_EventScript_23CA29
msgbox SSTidalRooms_Text_23D098, MSGBOX_DEFAULT
giveitem_std ITEM_TM49
compare VAR_RESULT, 0
- goto_eq SSTidalRooms_EventScript_272054
+ goto_if_eq SSTidalRooms_EventScript_272054
setflag FLAG_0x104
msgbox SSTidalRooms_Text_23D145, MSGBOX_DEFAULT
release
diff --git a/data/maps/SafariZone_South/scripts.inc b/data/maps/SafariZone_South/scripts.inc
index 6579b6571..06b050f67 100644
--- a/data/maps/SafariZone_South/scripts.inc
+++ b/data/maps/SafariZone_South/scripts.inc
@@ -9,7 +9,7 @@ SafariZone_South_MapScript2_23D284: @ 823D284
SafariZone_South_EventScript_23D28E:: @ 823D28E
lockall
- applymovement 255, SafariZone_South_Movement_23D2C5
+ applymovement EVENT_OBJ_ID_PLAYER, SafariZone_South_Movement_23D2C5
waitmovement 0
applymovement 1, SafariZone_South_Movement_23D2C7
waitmovement 0
@@ -20,7 +20,7 @@ SafariZone_South_EventScript_23D28E:: @ 823D28E
SafariZone_South_MapScript1_23D2B1: @ 823D2B1
compare VAR_0x40A4, 2
- call_if 1, SafariZone_South_EventScript_23D2BD
+ call_if_eq SafariZone_South_EventScript_23D2BD
end
SafariZone_South_EventScript_23D2BD:: @ 823D2BD
@@ -51,11 +51,10 @@ SafariZone_South_EventScript_23D2DC:: @ 823D2DC
SafariZone_South_EventScript_23D2E5:: @ 823D2E5
lock
faceplayer
- checkflag FLAG_0x05D
- goto_if 0, SafariZone_South_EventScript_23D30D
+ goto_if_unset FLAG_0x05D, SafariZone_South_EventScript_23D30D
msgbox SafariZone_South_Text_2A51D4, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq SafariZone_South_EventScript_23D31A
+ goto_if_eq SafariZone_South_EventScript_23D31A
msgbox SafariZone_South_Text_2A521A, MSGBOX_DEFAULT
release
end
@@ -77,7 +76,7 @@ SafariZone_South_EventScript_23D31A:: @ 823D31A
SafariZone_South_EventScript_23D33F:: @ 823D33F
applymovement 1, SafariZone_South_Movement_23D38A
waitmovement 0
- applymovement 255, SafariZone_South_Movement_23D385
+ applymovement EVENT_OBJ_ID_PLAYER, SafariZone_South_Movement_23D385
waitmovement 0
goto SafariZone_South_EventScript_23D373
end
@@ -85,7 +84,7 @@ SafariZone_South_EventScript_23D33F:: @ 823D33F
SafariZone_South_EventScript_23D359:: @ 823D359
applymovement 1, SafariZone_South_Movement_23D38D
waitmovement 0
- applymovement 255, SafariZone_South_Movement_23D387
+ applymovement EVENT_OBJ_ID_PLAYER, SafariZone_South_Movement_23D387
waitmovement 0
goto SafariZone_South_EventScript_23D373
end
diff --git a/data/maps/SeafloorCavern_Entrance/scripts.inc b/data/maps/SeafloorCavern_Entrance/scripts.inc
index cb41b7ca6..9bbb9cbdc 100644
--- a/data/maps/SeafloorCavern_Entrance/scripts.inc
+++ b/data/maps/SeafloorCavern_Entrance/scripts.inc
@@ -10,7 +10,7 @@ SeafloorCavern_Entrance_MapScript1_234474: @ 8234474
SeafloorCavern_Entrance_EventScript_234485:: @ 8234485
lockall
compare VAR_0x40D9, 1
- goto_eq SeafloorCavern_Entrance_EventScript_2344ED
+ goto_if_eq SeafloorCavern_Entrance_EventScript_2344ED
waitse
playse SE_PIN
applymovement 1, SeafloorCavern_Entrance_Movement_272598
@@ -19,11 +19,11 @@ SeafloorCavern_Entrance_EventScript_234485:: @ 8234485
waitmovement 0
delay 20
compare VAR_FACING, 3
- call_if 1, SeafloorCavern_Entrance_EventScript_23452E
+ call_if_eq SeafloorCavern_Entrance_EventScript_23452E
compare VAR_FACING, 4
- call_if 1, SeafloorCavern_Entrance_EventScript_234523
+ call_if_eq SeafloorCavern_Entrance_EventScript_234523
compare VAR_FACING, 2
- call_if 1, SeafloorCavern_Entrance_EventScript_234539
+ call_if_eq SeafloorCavern_Entrance_EventScript_234539
delay 30
setvar VAR_0x40D9, 1
moveobjectoffscreen 1
@@ -36,11 +36,11 @@ SeafloorCavern_Entrance_EventScript_234485:: @ 8234485
SeafloorCavern_Entrance_EventScript_2344ED:: @ 82344ED
compare VAR_FACING, 3
- call_if 1, SeafloorCavern_Entrance_EventScript_23452E
+ call_if_eq SeafloorCavern_Entrance_EventScript_23452E
compare VAR_FACING, 4
- call_if 1, SeafloorCavern_Entrance_EventScript_234523
+ call_if_eq SeafloorCavern_Entrance_EventScript_234523
compare VAR_FACING, 2
- call_if 1, SeafloorCavern_Entrance_EventScript_234539
+ call_if_eq SeafloorCavern_Entrance_EventScript_234539
msgbox SeafloorCavern_Entrance_Text_2346C8, MSGBOX_DEFAULT
closemessage
applymovement 1, SeafloorCavern_Entrance_Movement_2725A6
diff --git a/data/maps/SeafloorCavern_Room9/scripts.inc b/data/maps/SeafloorCavern_Room9/scripts.inc
index 9406fcb6c..212496eef 100644
--- a/data/maps/SeafloorCavern_Room9/scripts.inc
+++ b/data/maps/SeafloorCavern_Room9/scripts.inc
@@ -7,15 +7,15 @@ SeafloorCavern_Room9_EventScript_234DC9:: @ 8234DC9
setvar VAR_0x8005, 3
setvar VAR_0x8006, 4
setvar VAR_0x8007, 5
- applymovement 255, SeafloorCavern_Room9_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, SeafloorCavern_Room9_Movement_2725A6
waitmovement 0
- applymovement 255, SeafloorCavern_Room9_Movement_23505C
+ applymovement EVENT_OBJ_ID_PLAYER, SeafloorCavern_Room9_Movement_23505C
waitmovement 0
playbgm MUS_AQA_0, 0
msgbox SeafloorCavern_Room9_Text_23505F, MSGBOX_DEFAULT
closemessage
addobject VAR_0x8004
- applymovement 255, SeafloorCavern_Room9_Movement_2725A4
+ applymovement EVENT_OBJ_ID_PLAYER, SeafloorCavern_Room9_Movement_2725A4
waitmovement 0
applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_23502A
waitmovement 0
@@ -28,7 +28,7 @@ SeafloorCavern_Room9_EventScript_234DC9:: @ 8234DC9
msgbox SeafloorCavern_Room9_Text_23512C, MSGBOX_DEFAULT
trainerbattle_no_intro TRAINER_ARCHIE, SeafloorCavern_Room9_Text_2351BC
msgbox SeafloorCavern_Room9_Text_2351E5, MSGBOX_DEFAULT
- setweather 0
+ setweather WEATHER_NONE
doweather
special sub_80B05B4
waitstate
@@ -48,7 +48,7 @@ SeafloorCavern_Room9_EventScript_234DC9:: @ 8234DC9
playse SE_TAMA
special sub_80B0534
applymovement VAR_0x8004, SeafloorCavern_Room9_Movement_2725A6
- applymovement 255, SeafloorCavern_Room9_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, SeafloorCavern_Room9_Movement_2725A6
waitmovement 0
delay 150
removeobject 7
@@ -82,7 +82,7 @@ SeafloorCavern_Room9_EventScript_234DC9:: @ 8234DC9
setvar VAR_0x8007, 5
msgbox SeafloorCavern_Room9_Text_2352A7, MSGBOX_DEFAULT
playse SE_PC_LOGIN
- applymovement 255, SeafloorCavern_Room9_Movement_2725A4
+ applymovement EVENT_OBJ_ID_PLAYER, SeafloorCavern_Room9_Movement_2725A4
waitmovement 0
msgbox SeafloorCavern_Room9_Text_2352F6, MSGBOX_DEFAULT
closemessage
diff --git a/data/maps/SealedChamber_InnerRoom/scripts.inc b/data/maps/SealedChamber_InnerRoom/scripts.inc
index a906d338e..36836fb49 100644
--- a/data/maps/SealedChamber_InnerRoom/scripts.inc
+++ b/data/maps/SealedChamber_InnerRoom/scripts.inc
@@ -6,11 +6,10 @@ SealedChamber_InnerRoom_EventScript_2391F8:: @ 82391F8
braillemessage SealedChamber_InnerRoom_Braille_2A6B99
waitbuttonpress
hidebox2
- checkflag FLAG_0x0E4
- goto_eq SealedChamber_InnerRoom_EventScript_239253
+ goto_if_set FLAG_0x0E4, SealedChamber_InnerRoom_EventScript_239253
specialvar VAR_RESULT, CheckRelicanthWailord
compare VAR_RESULT, 0
- goto_eq SealedChamber_InnerRoom_EventScript_239253
+ goto_if_eq SealedChamber_InnerRoom_EventScript_239253
fadeoutbgm 0
playse SE_TRACK_MOVE
special DoSealedChamberShakingEffect1
diff --git a/data/maps/SealedChamber_OuterRoom/scripts.inc b/data/maps/SealedChamber_OuterRoom/scripts.inc
index 7d3e32479..4b461a684 100644
--- a/data/maps/SealedChamber_OuterRoom/scripts.inc
+++ b/data/maps/SealedChamber_OuterRoom/scripts.inc
@@ -14,8 +14,7 @@ SealedChamber_OuterRoom_MapScript1_239127: @ 8239127
end
SealedChamber_OuterRoom_MapScript1_23912B: @ 823912B
- checkflag FLAG_SYS_BRAILLE_DIG
- call_if 0, SealedChamber_OuterRoom_EventScript_239135
+ call_if_unset FLAG_SYS_BRAILLE_DIG, SealedChamber_OuterRoom_EventScript_239135
end
SealedChamber_OuterRoom_EventScript_239135:: @ 8239135
@@ -109,8 +108,7 @@ SealedChamber_OuterRoom_EventScript_2391C6:: @ 82391C6
SealedChamber_OuterRoom_EventScript_2391D0:: @ 82391D0
lockall
- checkflag FLAG_SYS_BRAILLE_DIG
- goto_eq SealedChamber_OuterRoom_EventScript_2391E3
+ goto_if_set FLAG_SYS_BRAILLE_DIG, SealedChamber_OuterRoom_EventScript_2391E3
braillemessage SealedChamber_OuterRoom_Braille_2A6B89
waitbuttonpress
hidebox2
diff --git a/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc b/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc
index 7d63928ab..5f95bf8ed 100644
--- a/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc
+++ b/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc
@@ -4,8 +4,7 @@ ShoalCave_LowTideEntranceRoom_MapScripts:: @ 8236DBA
ShoalCave_LowTideEntranceRoom_MapScript1_236DC0: @ 8236DC0
special UpdateShoalTideFlag
- checkflag FLAG_SYS_SHOAL_TIDE
- goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236DD1
+ goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideEntranceRoom_EventScript_236DD1
goto ShoalCave_LowTideEntranceRoom_EventScript_236DD5
ShoalCave_LowTideEntranceRoom_EventScript_236DD1:: @ 8236DD1
@@ -20,28 +19,27 @@ ShoalCave_LowTideEntranceRoom_EventScript_236DD9:: @ 8236DD9
lock
faceplayer
dodailyevents
- checkflag FLAG_SYS_SHOAL_ITEM
- call_if 1, ShoalCave_LowTideEntranceRoom_EventScript_236ED9
+ call_if_set FLAG_SYS_SHOAL_ITEM, ShoalCave_LowTideEntranceRoom_EventScript_236ED9
checkitem ITEM_SHOAL_SALT, 4
compare VAR_RESULT, 0
- goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236E9B
+ goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_236E9B
checkitem ITEM_SHOAL_SHELL, 4
compare VAR_RESULT, 0
- goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236E9B
+ goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_236E9B
msgbox ShoalCave_LowTideEntranceRoom_Text_2A7F37, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236ECF
+ goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_236ECF
checkitemspace ITEM_SHELL_BELL, 1
compare VAR_RESULT, 0
- call_if 1, ShoalCave_LowTideEntranceRoom_EventScript_236E69
+ call_if_eq ShoalCave_LowTideEntranceRoom_EventScript_236E69
compare VAR_RESULT, 2
- goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236E91
+ 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_eq ShoalCave_LowTideEntranceRoom_EventScript_272054
+ goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_272054
msgbox ShoalCave_LowTideEntranceRoom_Text_2A8012, MSGBOX_DEFAULT
setflag FLAG_TEMP_2
release
@@ -50,13 +48,13 @@ ShoalCave_LowTideEntranceRoom_EventScript_236DD9:: @ 8236DD9
ShoalCave_LowTideEntranceRoom_EventScript_236E69:: @ 8236E69
checkitem ITEM_SHOAL_SALT, 5
compare VAR_RESULT, 1
- goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236E7A
+ goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_236E7A
return
ShoalCave_LowTideEntranceRoom_EventScript_236E7A:: @ 8236E7A
checkitem ITEM_SHOAL_SHELL, 5
compare VAR_RESULT, 1
- goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236E8B
+ goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_236E8B
return
ShoalCave_LowTideEntranceRoom_EventScript_236E8B:: @ 8236E8B
@@ -71,10 +69,10 @@ ShoalCave_LowTideEntranceRoom_EventScript_236E91:: @ 8236E91
ShoalCave_LowTideEntranceRoom_EventScript_236E9B:: @ 8236E9B
checkitem ITEM_SHOAL_SALT, 1
compare VAR_RESULT, 1
- goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236EC5
+ goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_236EC5
checkitem ITEM_SHOAL_SHELL, 1
compare VAR_RESULT, 1
- goto_eq ShoalCave_LowTideEntranceRoom_EventScript_236EC5
+ goto_if_eq ShoalCave_LowTideEntranceRoom_EventScript_236EC5
msgbox ShoalCave_LowTideEntranceRoom_Text_2A7E0E, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/ShoalCave_LowTideInnerRoom/scripts.inc b/data/maps/ShoalCave_LowTideInnerRoom/scripts.inc
index a92e84e3a..226f89708 100644
--- a/data/maps/ShoalCave_LowTideInnerRoom/scripts.inc
+++ b/data/maps/ShoalCave_LowTideInnerRoom/scripts.inc
@@ -4,8 +4,7 @@ ShoalCave_LowTideInnerRoom_MapScripts:: @ 8236EF5
.byte 0
ShoalCave_LowTideInnerRoom_MapScript1_236F00: @ 8236F00
- checkflag FLAG_SYS_SHOAL_TIDE
- goto_eq ShoalCave_LowTideInnerRoom_EventScript_236F0E
+ goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideInnerRoom_EventScript_236F0E
goto ShoalCave_LowTideInnerRoom_EventScript_236F12
ShoalCave_LowTideInnerRoom_EventScript_236F0E:: @ 8236F0E
@@ -21,47 +20,39 @@ ShoalCave_LowTideInnerRoom_MapScript1_236F16: @ 8236F16
end
ShoalCave_LowTideInnerRoom_EventScript_236F1C:: @ 8236F1C
- checkflag FLAG_0x3B8
- goto_eq ShoalCave_LowTideInnerRoom_EventScript_236F3D
- checkflag FLAG_SYS_SHOAL_TIDE
- goto_eq ShoalCave_LowTideInnerRoom_EventScript_236F3D
+ goto_if_set FLAG_0x3B8, ShoalCave_LowTideInnerRoom_EventScript_236F3D
+ goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideInnerRoom_EventScript_236F3D
setmetatile 31, 8, 856, 1
goto ShoalCave_LowTideInnerRoom_EventScript_236F3D
end
ShoalCave_LowTideInnerRoom_EventScript_236F3D:: @ 8236F3D
- checkflag FLAG_0x3B9
- goto_eq ShoalCave_LowTideInnerRoom_EventScript_236F5E
- checkflag FLAG_SYS_SHOAL_TIDE
- goto_eq ShoalCave_LowTideInnerRoom_EventScript_236F5E
+ goto_if_set FLAG_0x3B9, ShoalCave_LowTideInnerRoom_EventScript_236F5E
+ goto_if_set FLAG_SYS_SHOAL_TIDE, ShoalCave_LowTideInnerRoom_EventScript_236F5E
setmetatile 14, 26, 856, 1
goto ShoalCave_LowTideInnerRoom_EventScript_236F5E
end
ShoalCave_LowTideInnerRoom_EventScript_236F5E:: @ 8236F5E
- checkflag FLAG_0x3BC
- goto_eq ShoalCave_LowTideInnerRoom_EventScript_236F76
+ goto_if_set FLAG_0x3BC, ShoalCave_LowTideInnerRoom_EventScript_236F76
setmetatile 41, 20, 857, 1
goto ShoalCave_LowTideInnerRoom_EventScript_236F76
end
ShoalCave_LowTideInnerRoom_EventScript_236F76:: @ 8236F76
- checkflag FLAG_0x3BD
- goto_eq ShoalCave_LowTideInnerRoom_EventScript_236F8E
+ goto_if_set FLAG_0x3BD, ShoalCave_LowTideInnerRoom_EventScript_236F8E
setmetatile 41, 10, 857, 1
goto ShoalCave_LowTideInnerRoom_EventScript_236F8E
end
ShoalCave_LowTideInnerRoom_EventScript_236F8E:: @ 8236F8E
- checkflag FLAG_0x3BE
- goto_eq ShoalCave_LowTideInnerRoom_EventScript_236FA6
+ goto_if_set FLAG_0x3BE, ShoalCave_LowTideInnerRoom_EventScript_236FA6
setmetatile 6, 9, 857, 1
goto ShoalCave_LowTideInnerRoom_EventScript_236FA6
end
ShoalCave_LowTideInnerRoom_EventScript_236FA6:: @ 8236FA6
- checkflag FLAG_0x3BF
- goto_eq ShoalCave_LowTideInnerRoom_EventScript_236FB9
+ goto_if_set FLAG_0x3BF, ShoalCave_LowTideInnerRoom_EventScript_236FB9
setmetatile 16, 13, 857, 1
return
@@ -70,11 +61,10 @@ ShoalCave_LowTideInnerRoom_EventScript_236FB9:: @ 8236FB9
ShoalCave_LowTideInnerRoom_EventScript_236FBA:: @ 8236FBA
lockall
- checkflag FLAG_0x3BC
- goto_eq ShoalCave_LowTideInnerRoom_EventScript_236FEC
+ goto_if_set FLAG_0x3BC, ShoalCave_LowTideInnerRoom_EventScript_236FEC
giveitem_std ITEM_SHOAL_SHELL
compare VAR_RESULT, 0
- goto_eq ShoalCave_LowTideInnerRoom_EventScript_272054
+ goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_272054
setmetatile 41, 20, 859, 0
special DrawWholeMapView
setflag FLAG_0x3BC
@@ -88,11 +78,10 @@ ShoalCave_LowTideInnerRoom_EventScript_236FEC:: @ 8236FEC
ShoalCave_LowTideInnerRoom_EventScript_236FF6:: @ 8236FF6
lockall
- checkflag FLAG_0x3BD
- goto_eq ShoalCave_LowTideInnerRoom_EventScript_236FEC
+ goto_if_set FLAG_0x3BD, ShoalCave_LowTideInnerRoom_EventScript_236FEC
giveitem_std ITEM_SHOAL_SHELL
compare VAR_RESULT, 0
- goto_eq ShoalCave_LowTideInnerRoom_EventScript_272054
+ goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_272054
setmetatile 41, 10, 859, 0
special DrawWholeMapView
setflag FLAG_0x3BD
@@ -101,11 +90,10 @@ ShoalCave_LowTideInnerRoom_EventScript_236FF6:: @ 8236FF6
ShoalCave_LowTideInnerRoom_EventScript_237028:: @ 8237028
lockall
- checkflag FLAG_0x3BE
- goto_eq ShoalCave_LowTideInnerRoom_EventScript_236FEC
+ goto_if_set FLAG_0x3BE, ShoalCave_LowTideInnerRoom_EventScript_236FEC
giveitem_std ITEM_SHOAL_SHELL
compare VAR_RESULT, 0
- goto_eq ShoalCave_LowTideInnerRoom_EventScript_272054
+ goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_272054
setmetatile 6, 9, 859, 0
special DrawWholeMapView
setflag FLAG_0x3BE
@@ -114,11 +102,10 @@ ShoalCave_LowTideInnerRoom_EventScript_237028:: @ 8237028
ShoalCave_LowTideInnerRoom_EventScript_23705A:: @ 823705A
lockall
- checkflag FLAG_0x3BF
- goto_eq ShoalCave_LowTideInnerRoom_EventScript_236FEC
+ goto_if_set FLAG_0x3BF, ShoalCave_LowTideInnerRoom_EventScript_236FEC
giveitem_std ITEM_SHOAL_SHELL
compare VAR_RESULT, 0
- goto_eq ShoalCave_LowTideInnerRoom_EventScript_272054
+ goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_272054
setmetatile 16, 13, 859, 0
special DrawWholeMapView
setflag FLAG_0x3BF
@@ -127,11 +114,10 @@ ShoalCave_LowTideInnerRoom_EventScript_23705A:: @ 823705A
ShoalCave_LowTideInnerRoom_EventScript_23708C:: @ 823708C
lockall
- checkflag FLAG_0x3B8
- goto_eq ShoalCave_LowTideInnerRoom_EventScript_2370BE
+ goto_if_set FLAG_0x3B8, ShoalCave_LowTideInnerRoom_EventScript_2370BE
giveitem_std ITEM_SHOAL_SALT
compare VAR_RESULT, 0
- goto_eq ShoalCave_LowTideInnerRoom_EventScript_272054
+ goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_272054
setmetatile 31, 8, 858, 0
special DrawWholeMapView
setflag FLAG_0x3B8
@@ -145,11 +131,10 @@ ShoalCave_LowTideInnerRoom_EventScript_2370BE:: @ 82370BE
ShoalCave_LowTideInnerRoom_EventScript_2370C8:: @ 82370C8
lockall
- checkflag FLAG_0x3B9
- goto_eq ShoalCave_LowTideInnerRoom_EventScript_2370BE
+ goto_if_set FLAG_0x3B9, ShoalCave_LowTideInnerRoom_EventScript_2370BE
giveitem_std ITEM_SHOAL_SALT
compare VAR_RESULT, 0
- goto_eq ShoalCave_LowTideInnerRoom_EventScript_272054
+ goto_if_eq ShoalCave_LowTideInnerRoom_EventScript_272054
setmetatile 14, 26, 858, 0
special DrawWholeMapView
setflag FLAG_0x3B9
diff --git a/data/maps/ShoalCave_LowTideLowerRoom/scripts.inc b/data/maps/ShoalCave_LowTideLowerRoom/scripts.inc
index fc0fb32a7..1e2e756d7 100644
--- a/data/maps/ShoalCave_LowTideLowerRoom/scripts.inc
+++ b/data/maps/ShoalCave_LowTideLowerRoom/scripts.inc
@@ -7,8 +7,7 @@ ShoalCave_LowTideLowerRoom_MapScript1_23715C: @ 823715C
end
ShoalCave_LowTideLowerRoom_EventScript_237162:: @ 8237162
- checkflag FLAG_0x3BB
- goto_eq ShoalCave_LowTideLowerRoom_EventScript_237175
+ goto_if_set FLAG_0x3BB, ShoalCave_LowTideLowerRoom_EventScript_237175
setmetatile 18, 2, 856, 1
return
@@ -17,11 +16,10 @@ ShoalCave_LowTideLowerRoom_EventScript_237175:: @ 8237175
ShoalCave_LowTideLowerRoom_EventScript_237176:: @ 8237176
lockall
- checkflag FLAG_0x3BB
- goto_eq ShoalCave_LowTideLowerRoom_EventScript_2371A8
+ goto_if_set FLAG_0x3BB, ShoalCave_LowTideLowerRoom_EventScript_2371A8
giveitem_std ITEM_SHOAL_SALT
compare VAR_RESULT, 0
- goto_eq ShoalCave_LowTideLowerRoom_EventScript_272054
+ goto_if_eq ShoalCave_LowTideLowerRoom_EventScript_272054
setmetatile 18, 2, 858, 0
special DrawWholeMapView
setflag FLAG_0x3BB
@@ -36,12 +34,11 @@ ShoalCave_LowTideLowerRoom_EventScript_2371A8:: @ 82371A8
ShoalCave_LowTideLowerRoom_EventScript_2371B2:: @ 82371B2
lock
faceplayer
- checkflag FLAG_0x11B
- goto_eq ShoalCave_LowTideLowerRoom_EventScript_2371E1
+ goto_if_set FLAG_0x11B, ShoalCave_LowTideLowerRoom_EventScript_2371E1
msgbox ShoalCave_LowTideLowerRoom_Text_2371EB, MSGBOX_DEFAULT
giveitem_std ITEM_FOCUS_BAND
compare VAR_RESULT, 0
- goto_eq ShoalCave_LowTideLowerRoom_EventScript_272054
+ goto_if_eq ShoalCave_LowTideLowerRoom_EventScript_272054
setflag FLAG_0x11B
release
end
diff --git a/data/maps/ShoalCave_LowTideStairsRoom/scripts.inc b/data/maps/ShoalCave_LowTideStairsRoom/scripts.inc
index de2faf65b..4486c7c61 100644
--- a/data/maps/ShoalCave_LowTideStairsRoom/scripts.inc
+++ b/data/maps/ShoalCave_LowTideStairsRoom/scripts.inc
@@ -7,8 +7,7 @@ ShoalCave_LowTideStairsRoom_MapScript1_237100: @ 8237100
end
ShoalCave_LowTideStairsRoom_EventScript_237106:: @ 8237106
- checkflag FLAG_0x3BA
- goto_eq ShoalCave_LowTideStairsRoom_EventScript_237119
+ goto_if_set FLAG_0x3BA, ShoalCave_LowTideStairsRoom_EventScript_237119
setmetatile 11, 11, 856, 1
return
@@ -17,11 +16,10 @@ ShoalCave_LowTideStairsRoom_EventScript_237119:: @ 8237119
ShoalCave_LowTideStairsRoom_EventScript_23711A:: @ 823711A
lockall
- checkflag FLAG_0x3BA
- goto_eq ShoalCave_LowTideStairsRoom_EventScript_23714C
+ goto_if_set FLAG_0x3BA, ShoalCave_LowTideStairsRoom_EventScript_23714C
giveitem_std ITEM_SHOAL_SALT
compare VAR_RESULT, 0
- goto_eq ShoalCave_LowTideStairsRoom_EventScript_272054
+ goto_if_eq ShoalCave_LowTideStairsRoom_EventScript_272054
setmetatile 11, 11, 858, 0
special DrawWholeMapView
setflag FLAG_0x3BA
diff --git a/data/maps/SkyPillar_1F/scripts.inc b/data/maps/SkyPillar_1F/scripts.inc
index 6afc5aa64..3d76a9fe2 100644
--- a/data/maps/SkyPillar_1F/scripts.inc
+++ b/data/maps/SkyPillar_1F/scripts.inc
@@ -4,7 +4,7 @@ SkyPillar_1F_MapScripts:: @ 8239615
SkyPillar_1F_MapScript1_23961B: @ 823961B
compare VAR_0x40CA, 2
- call_if 0, SkyPillar_1F_EventScript_239627
+ call_if_lt SkyPillar_1F_EventScript_239627
end
SkyPillar_1F_EventScript_239627:: @ 8239627
diff --git a/data/maps/SkyPillar_2F/scripts.inc b/data/maps/SkyPillar_2F/scripts.inc
index c15f1f8c4..0474a829c 100644
--- a/data/maps/SkyPillar_2F/scripts.inc
+++ b/data/maps/SkyPillar_2F/scripts.inc
@@ -6,7 +6,7 @@ SkyPillar_2F_MapScripts:: @ 823962B
SkyPillar_2F_MapScript1_23963B: @ 823963B
compare VAR_0x40CA, 2
- call_if 0, SkyPillar_2F_EventScript_23964C
+ call_if_lt SkyPillar_2F_EventScript_23964C
copyvar VAR_ICE_STEP_COUNT, 0x1
end
diff --git a/data/maps/SkyPillar_3F/scripts.inc b/data/maps/SkyPillar_3F/scripts.inc
index 0ddae05b2..777d53b62 100644
--- a/data/maps/SkyPillar_3F/scripts.inc
+++ b/data/maps/SkyPillar_3F/scripts.inc
@@ -4,7 +4,7 @@ SkyPillar_3F_MapScripts:: @ 823965B
SkyPillar_3F_MapScript1_239661: @ 8239661
compare VAR_0x40CA, 2
- call_if 0, SkyPillar_3F_EventScript_23966D
+ call_if_lt SkyPillar_3F_EventScript_23966D
end
SkyPillar_3F_EventScript_23966D:: @ 823966D
diff --git a/data/maps/SkyPillar_4F/scripts.inc b/data/maps/SkyPillar_4F/scripts.inc
index 3884864d7..262492169 100644
--- a/data/maps/SkyPillar_4F/scripts.inc
+++ b/data/maps/SkyPillar_4F/scripts.inc
@@ -6,7 +6,7 @@ SkyPillar_4F_MapScripts:: @ 8239671
SkyPillar_4F_MapScript1_239681: @ 8239681
compare VAR_0x40CA, 2
- call_if 0, SkyPillar_4F_EventScript_239692
+ call_if_lt SkyPillar_4F_EventScript_239692
copyvar VAR_ICE_STEP_COUNT, 0x1
end
diff --git a/data/maps/SkyPillar_5F/scripts.inc b/data/maps/SkyPillar_5F/scripts.inc
index 8e08fb2bd..41546899f 100644
--- a/data/maps/SkyPillar_5F/scripts.inc
+++ b/data/maps/SkyPillar_5F/scripts.inc
@@ -4,7 +4,7 @@ SkyPillar_5F_MapScripts:: @ 82396A2
SkyPillar_5F_MapScript1_2396A8: @ 82396A8
compare VAR_0x40CA, 2
- call_if 0, SkyPillar_5F_EventScript_2396B4
+ call_if_lt SkyPillar_5F_EventScript_2396B4
return
SkyPillar_5F_EventScript_2396B4:: @ 82396B4
diff --git a/data/maps/SkyPillar_Outside/scripts.inc b/data/maps/SkyPillar_Outside/scripts.inc
index 1b2a1e4c9..4e7701de6 100644
--- a/data/maps/SkyPillar_Outside/scripts.inc
+++ b/data/maps/SkyPillar_Outside/scripts.inc
@@ -6,9 +6,9 @@ SkyPillar_Outside_MapScripts:: @ 82392A8
SkyPillar_Outside_MapScript1_2392B8: @ 82392B8
compare VAR_0x405E, 3
- call_if 1, SkyPillar_Outside_EventScript_2392CF
+ call_if_eq SkyPillar_Outside_EventScript_2392CF
compare VAR_0x405E, 4
- call_if 4, SkyPillar_Outside_EventScript_2392D3
+ call_if_ge SkyPillar_Outside_EventScript_2392D3
end
SkyPillar_Outside_EventScript_2392CF:: @ 82392CF
@@ -16,13 +16,11 @@ SkyPillar_Outside_EventScript_2392CF:: @ 82392CF
return
SkyPillar_Outside_EventScript_2392D3:: @ 82392D3
- checkflag FLAG_SYS_WEATHER_CTRL
- call_if 1, SkyPillar_Outside_EventScript_27207A
+ call_if_set FLAG_SYS_WEATHER_CTRL, SkyPillar_Outside_EventScript_27207A
return
SkyPillar_Outside_MapScript1_2392DD: @ 82392DD
- checkflag FLAG_0x137
- call_if 1, SkyPillar_Outside_EventScript_2392E7
+ call_if_set FLAG_0x137, SkyPillar_Outside_EventScript_2392E7
end
SkyPillar_Outside_EventScript_2392E7:: @ 82392E7
@@ -38,7 +36,7 @@ SkyPillar_Outside_EventScript_239304:: @ 8239304
lockall
applymovement 1, SkyPillar_Outside_Movement_2393D3
waitmovement 0
- applymovement 255, SkyPillar_Outside_Movement_2725A4
+ applymovement EVENT_OBJ_ID_PLAYER, SkyPillar_Outside_Movement_2725A4
waitmovement 0
msgbox SkyPillar_Outside_Text_239416, MSGBOX_DEFAULT
closemessage
@@ -52,7 +50,7 @@ SkyPillar_Outside_EventScript_239304:: @ 8239304
delay 40
msgbox SkyPillar_Outside_Text_2394BC, MSGBOX_DEFAULT
closemessage
- applymovement 255, SkyPillar_Outside_Movement_2393EB
+ applymovement EVENT_OBJ_ID_PLAYER, SkyPillar_Outside_Movement_2393EB
applymovement 1, SkyPillar_Outside_Movement_2393DE
waitmovement 0
setvar VAR_0x8004, 1
@@ -74,7 +72,7 @@ SkyPillar_Outside_EventScript_239304:: @ 8239304
msgbox SkyPillar_Outside_Text_23950C, MSGBOX_DEFAULT
closemessage
setflag FLAG_SYS_WEATHER_CTRL
- setweather 15
+ setweather WEATHER_15
doweather
special WaitWeather
waitstate
diff --git a/data/maps/SkyPillar_Top/scripts.inc b/data/maps/SkyPillar_Top/scripts.inc
index ef0419cdb..1ac3cf486 100644
--- a/data/maps/SkyPillar_Top/scripts.inc
+++ b/data/maps/SkyPillar_Top/scripts.inc
@@ -5,22 +5,21 @@ SkyPillar_Top_MapScripts:: @ 82396B8
.byte 0
SkyPillar_Top_MapScript1_2396C8: @ 82396C8
- checkflag FLAG_SYS_CTRL_OBJ_DELETE
- call_if 1, SkyPillar_Top_EventScript_2396D2
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, SkyPillar_Top_EventScript_2396D2
end
SkyPillar_Top_EventScript_2396D2:: @ 82396D2
specialvar VAR_RESULT, GetBattleOutcome
compare VAR_RESULT, 7
- goto_if 5, SkyPillar_Top_EventScript_27374E
+ goto_if_ne SkyPillar_Top_EventScript_27374E
removeobject VAR_LAST_TALKED
return
SkyPillar_Top_MapScript1_2396E6: @ 82396E6
compare VAR_0x40CA, 2
- call_if 0, SkyPillar_Top_EventScript_2396FD
+ call_if_lt SkyPillar_Top_EventScript_2396FD
compare VAR_0x40CA, 2
- call_if 4, SkyPillar_Top_EventScript_239705
+ call_if_ge SkyPillar_Top_EventScript_239705
end
SkyPillar_Top_EventScript_2396FD:: @ 82396FD
@@ -29,8 +28,7 @@ SkyPillar_Top_EventScript_2396FD:: @ 82396FD
return
SkyPillar_Top_EventScript_239705:: @ 8239705
- checkflag FLAG_0x1C0
- call_if 0, SkyPillar_Top_EventScript_23970F
+ call_if_unset FLAG_0x1C0, SkyPillar_Top_EventScript_23970F
return
SkyPillar_Top_EventScript_23970F:: @ 823970F
@@ -58,11 +56,11 @@ SkyPillar_Top_EventScript_239722:: @ 8239722
clearflag FLAG_SYS_CTRL_OBJ_DELETE
specialvar VAR_RESULT, GetBattleOutcome
compare VAR_RESULT, 1
- goto_eq SkyPillar_Top_EventScript_239768
+ goto_if_eq SkyPillar_Top_EventScript_239768
compare VAR_RESULT, 4
- goto_eq SkyPillar_Top_EventScript_239771
+ goto_if_eq SkyPillar_Top_EventScript_239771
compare VAR_RESULT, 5
- goto_eq SkyPillar_Top_EventScript_239771
+ goto_if_eq SkyPillar_Top_EventScript_239771
setflag FLAG_0x1C0
releaseall
end
@@ -96,12 +94,12 @@ SkyPillar_Top_EventScript_239785:: @ 8239785
SkyPillar_Top_EventScript_23979A:: @ 823979A
lockall
fadeoutbgm 1
- applymovement 255, SkyPillar_Top_Movement_2725B2
+ applymovement EVENT_OBJ_ID_PLAYER, SkyPillar_Top_Movement_2725B2
waitmovement 0
- special SpawnScriptEventObject
- applymovement 127, SkyPillar_Top_Movement_239858
+ special SpawnCameraObject
+ applymovement EVENT_OBJ_ID_CAMERA, SkyPillar_Top_Movement_239858
waitmovement 0
- special RemoveScriptEventObject
+ special RemoveCameraObject
applymovement 1, SkyPillar_Top_Movement_23983A
waitmovement 0
waitse
@@ -128,10 +126,10 @@ SkyPillar_Top_EventScript_23979A:: @ 823979A
closemessage
delay 20
fadeinbgm 1
- special SpawnScriptEventObject
- applymovement 127, SkyPillar_Top_Movement_23985C
+ special SpawnCameraObject
+ applymovement EVENT_OBJ_ID_CAMERA, SkyPillar_Top_Movement_23985C
waitmovement 0
- special RemoveScriptEventObject
+ special RemoveCameraObject
setvar VAR_0x405E, 5
setvar VAR_0x40CA, 1
setvar VAR_0x40D7, 1
diff --git a/data/maps/SlateportCity/scripts.inc b/data/maps/SlateportCity/scripts.inc
index dc3a81650..a28d74fa2 100644
--- a/data/maps/SlateportCity/scripts.inc
+++ b/data/maps/SlateportCity/scripts.inc
@@ -7,9 +7,9 @@ SlateportCity_MapScript1_1DCC6C: @ 81DCC6C
setvar VAR_0x40AA, 0
call SlateportCity_EventScript_1DCC8D
compare VAR_0x4058, 1
- call_if 1, SlateportCity_EventScript_1DCC99
+ call_if_eq SlateportCity_EventScript_1DCC99
compare VAR_0x40D2, 1
- call_if 1, SlateportCity_EventScript_1DCCE7
+ call_if_eq SlateportCity_EventScript_1DCCE7
end
SlateportCity_EventScript_1DCC8D:: @ 81DCC8D
@@ -39,7 +39,7 @@ SlateportCity_EventScript_1DCCE7:: @ 81DCCE7
setflag FLAG_SPECIAL_FLAG_0x4000
getplayerxy VAR_0x8004, VAR_0x8005
compare VAR_0x8004, 30
- goto_eq SlateportCity_EventScript_1DCD06
+ goto_if_eq SlateportCity_EventScript_1DCD06
setobjectxyperm 35, 23, 27
setobjectmovementtype 35, 10
return
@@ -56,7 +56,7 @@ SlateportCity_MapScript2_1DCD12: @ 81DCD12
SlateportCity_EventScript_1DCD1C:: @ 81DCD1C
lockall
addobject 35
- applymovement 255, SlateportCity_Movement_1DCDA8
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_1DCDA8
applymovement 35, SlateportCity_Movement_1DCDAC
waitmovement 0
msgbox SlateportCity_Text_1DF032, MSGBOX_DEFAULT
@@ -144,10 +144,10 @@ SlateportCity_EventScript_1DCDE4:: @ 81DCDE4
msgbox SlateportCity_Text_1DD68A, MSGBOX_DEFAULT
specialvar VAR_RESULT, LeadMonHasEffortRibbon
compare VAR_RESULT, 1
- call_if 1, SlateportCity_EventScript_1DCE38
+ call_if_eq SlateportCity_EventScript_1DCE38
specialvar VAR_RESULT, Special_AreLeadMonEVsMaxedOut
compare VAR_RESULT, 0
- call_if 1, SlateportCity_EventScript_1DCE2E
+ call_if_eq SlateportCity_EventScript_1DCE2E
msgbox SlateportCity_Text_1DD697, MSGBOX_DEFAULT
playfanfare MUS_FANFA4
message SlateportCity_Text_1DD6E3
@@ -171,7 +171,7 @@ SlateportCity_EventScript_1DCE42:: @ 81DCE42
lock
faceplayer
compare VAR_0x4058, 1
- call_if 1, SlateportCity_EventScript_1DCE59
+ call_if_eq SlateportCity_EventScript_1DCE59
msgbox SlateportCity_Text_1DD81A, MSGBOX_DEFAULT
release
end
@@ -185,7 +185,7 @@ SlateportCity_EventScript_1DCE63:: @ 81DCE63
lock
faceplayer
compare VAR_0x4058, 1
- call_if 1, SlateportCity_EventScript_1DCE7A
+ call_if_eq SlateportCity_EventScript_1DCE7A
msgbox SlateportCity_Text_1DD8A6, MSGBOX_DEFAULT
release
end
@@ -199,9 +199,8 @@ SlateportCity_EventScript_1DCE84:: @ 81DCE84
lock
faceplayer
compare VAR_0x4058, 1
- call_if 1, SlateportCity_EventScript_1DCEA4
- checkflag FLAG_0x060
- goto_eq SlateportCity_EventScript_1DCEAE
+ call_if_eq SlateportCity_EventScript_1DCEA4
+ goto_if_set FLAG_0x060, SlateportCity_EventScript_1DCEAE
msgbox SlateportCity_Text_1DD93D, MSGBOX_DEFAULT
release
end
@@ -220,7 +219,7 @@ SlateportCity_EventScript_1DCEB8:: @ 81DCEB8
lock
faceplayer
compare VAR_0x4058, 1
- call_if 1, SlateportCity_EventScript_1DCECF
+ call_if_eq SlateportCity_EventScript_1DCECF
msgbox SlateportCity_Text_1DDA34, MSGBOX_DEFAULT
release
end
@@ -232,7 +231,7 @@ SlateportCity_EventScript_1DCECF:: @ 81DCECF
SlateportCity_EventScript_1DCED9:: @ 81DCED9
compare VAR_0x4058, 1
- goto_eq SlateportCity_EventScript_1DCEED
+ goto_if_eq SlateportCity_EventScript_1DCEED
msgbox SlateportCity_Text_1DDA9A, MSGBOX_NPC
end
@@ -244,7 +243,7 @@ SlateportCity_EventScript_1DCEF6:: @ 81DCEF6
lock
faceplayer
compare VAR_0x4058, 1
- call_if 1, SlateportCity_EventScript_1DCF0D
+ call_if_eq SlateportCity_EventScript_1DCF0D
msgbox SlateportCity_Text_1DDB21, MSGBOX_DEFAULT
release
end
@@ -257,8 +256,7 @@ SlateportCity_EventScript_1DCF0D:: @ 81DCF0D
SlateportCity_EventScript_1DCF17:: @ 81DCF17
lock
faceplayer
- checkflag FLAG_0x094
- goto_eq SlateportCity_EventScript_1DCF2C
+ goto_if_set FLAG_0x094, SlateportCity_EventScript_1DCF2C
msgbox SlateportCity_Text_1DDBAC, MSGBOX_DEFAULT
release
end
@@ -274,10 +272,8 @@ SlateportCity_EventScript_1DCF36:: @ 81DCF36
SlateportCity_EventScript_1DCF3F:: @ 81DCF3F
lockall
- checkflag FLAG_SYS_GAME_CLEAR
- goto_eq SlateportCity_EventScript_1DCF66
- checkflag FLAG_BADGE07_GET
- goto_eq SlateportCity_EventScript_1DCF5C
+ 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
releaseall
end
@@ -310,8 +306,7 @@ SlateportCity_EventScript_1DCF8B:: @ 81DCF8B
SlateportCity_EventScript_1DCF94:: @ 81DCF94
lockall
- checkflag FLAG_SYS_GAME_CLEAR
- goto_eq SlateportCity_EventScript_1DCFA8
+ goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_EventScript_1DCFA8
msgbox SlateportCity_Text_1DEAE3, MSGBOX_DEFAULT
releaseall
end
@@ -329,7 +324,7 @@ SlateportCity_EventScript_1DCFBB:: @ 81DCFBB
lock
faceplayer
compare VAR_0x4058, 1
- call_if 1, SlateportCity_EventScript_1DCFD2
+ call_if_eq SlateportCity_EventScript_1DCFD2
msgbox SlateportCity_Text_1DE10E, MSGBOX_DEFAULT
release
end
@@ -518,8 +513,7 @@ SlateportCity_EventScript_1DD18E:: @ 81DD18E
SlateportCity_EventScript_1DD198:: @ 81DD198
lock
faceplayer
- checkflag FLAG_0x060
- goto_if 0, SlateportCity_EventScript_1DD18E
+ goto_if_unset FLAG_0x060, SlateportCity_EventScript_1DD18E
message gUnknown_08272A21
waitmessage
pokemartdecoration SlateportCity_PokemartDecor_1DD1B8
@@ -576,7 +570,7 @@ SlateportCity_EventScript_1DD1F8:: @ 81DD1F8
waitmovement 0
delay 25
applymovement 11, SlateportCity_Movement_1DD33C
- applymovement 255, SlateportCity_Movement_1DD34A
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_1DD34A
applymovement 10, SlateportCity_Movement_1DD319
applymovement 9, SlateportCity_Movement_1DD326
waitmovement 0
@@ -608,7 +602,7 @@ SlateportCity_EventScript_1DD1F8:: @ 81DD1F8
msgbox SlateportCity_Text_1DE8A0, MSGBOX_DEFAULT
closemessage
applymovement 11, SlateportCity_Movement_1DD337
- applymovement 255, SlateportCity_Movement_1DD344
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_1DD344
waitmovement 0
removeobject 11
clearflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_CAPTAIN_STERN
@@ -728,8 +722,7 @@ SlateportCity_EventScript_1DD365:: @ 81DD365
SlateportCity_EventScript_1DD36E:: @ 81DD36E
lock
faceplayer
- checkflag FLAG_0x151
- goto_eq SlateportCity_EventScript_1DD39A
+ goto_if_set FLAG_0x151, SlateportCity_EventScript_1DD39A
msgbox SlateportCity_Text_1DEBCE, MSGBOX_DEFAULT
giveitem_std ITEM_POWDER_JAR
setflag FLAG_0x151
@@ -741,7 +734,7 @@ SlateportCity_EventScript_1DD39A:: @ 81DD39A
setvar VAR_0x8004, 1
specialvar VAR_RESULT, sub_80246D4
compare VAR_RESULT, 0
- goto_eq SlateportCity_EventScript_1DD3C0
+ goto_if_eq SlateportCity_EventScript_1DD3C0
msgbox SlateportCity_Text_1DEE40, MSGBOX_DEFAULT
special sub_80248B0
goto SlateportCity_EventScript_1DD3CA
@@ -860,20 +853,20 @@ SlateportCity_EventScript_1DD54A:: @ 81DD54A
SlateportCity_EventScript_1DD557:: @ 81DD557
msgbox SlateportCity_Text_1DEE90, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq SlateportCity_EventScript_1DD3CA
+ goto_if_eq SlateportCity_EventScript_1DD3CA
copyvar VAR_0x8004, VAR_0x8009
specialvar VAR_RESULT, sub_80246D4
compare VAR_RESULT, 0
- goto_eq SlateportCity_EventScript_1DD5CE
+ goto_if_eq SlateportCity_EventScript_1DD5CE
giveitem_std VAR_0x8008
compare VAR_RESULT, 0
- goto_eq SlateportCity_EventScript_1DD5C1
+ goto_if_eq SlateportCity_EventScript_1DD5C1
copyvar VAR_0x8004, VAR_0x8009
special sub_802477C
special sub_802488C
msgbox SlateportCity_Text_1DEEF7, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq SlateportCity_EventScript_1DD3CA
+ goto_if_eq SlateportCity_EventScript_1DD3CA
msgbox SlateportCity_Text_1DEF79, MSGBOX_DEFAULT
special sub_8024918
release
@@ -892,19 +885,19 @@ SlateportCity_EventScript_1DD5CE:: @ 81DD5CE
SlateportCity_EventScript_1DD5DC:: @ 81DD5DC
lockall
- applymovement 255, SlateportCity_Movement_2725B2
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_2725B2
waitmovement 0
opendoor 10, 12
waitdooranim
addobject 35
- applymovement 255, SlateportCity_Movement_1DD630
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_1DD630
applymovement 35, SlateportCity_Movement_1DD637
waitmovement 0
closedoor 10, 12
waitdooranim
msgbox SlateportCity_Text_1DF28C, MSGBOX_DEFAULT
closemessage
- applymovement 255, SlateportCity_Movement_1DD634
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Movement_1DD634
applymovement 35, SlateportCity_Movement_1DD63A
waitmovement 0
removeobject 35
diff --git a/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc b/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc
index 3cff83bd8..10eb60cb7 100644
--- a/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc
+++ b/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc
@@ -11,9 +11,9 @@ SlateportCity_BattleTentBattleRoom_MapScript1_209970: @ 8209970
SlateportCity_BattleTentBattleRoom_EventScript_209976:: @ 8209976
checkplayergender
compare VAR_RESULT, 0
- goto_eq SlateportCity_BattleTentBattleRoom_EventScript_20998E
+ goto_if_eq SlateportCity_BattleTentBattleRoom_EventScript_20998E
compare VAR_RESULT, 1
- goto_eq SlateportCity_BattleTentBattleRoom_EventScript_209994
+ goto_if_eq SlateportCity_BattleTentBattleRoom_EventScript_209994
return
SlateportCity_BattleTentBattleRoom_EventScript_20998E:: @ 820998E
@@ -30,7 +30,7 @@ SlateportCity_BattleTentBattleRoom_MapScript2_20999A: @ 820999A
SlateportCity_BattleTentBattleRoom_EventScript_2099A4:: @ 82099A4
setvar VAR_TEMP_1, 1
- hideobjectat 255, MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM
+ hideobjectat EVENT_OBJ_ID_PLAYER, MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM
hideobjectat 2, MAP_SLATEPORT_CITY_BATTLE_TENT_BATTLE_ROOM
end
diff --git a/data/maps/SlateportCity_BattleTentCorridor/scripts.inc b/data/maps/SlateportCity_BattleTentCorridor/scripts.inc
index 7eb935bf1..4bd28996b 100644
--- a/data/maps/SlateportCity_BattleTentCorridor/scripts.inc
+++ b/data/maps/SlateportCity_BattleTentCorridor/scripts.inc
@@ -10,12 +10,12 @@ SlateportCity_BattleTentCorridor_MapScript2_208E31: @ 8208E31
SlateportCity_BattleTentCorridor_EventScript_208E3B:: @ 8208E3B
setvar VAR_TEMP_1, 1
compare VAR_0x8006, 1
- goto_if 5, SlateportCity_BattleTentCorridor_EventScript_208E56
+ goto_if_ne SlateportCity_BattleTentCorridor_EventScript_208E56
setobjectxy 1, 2, 2
turnobject 1, 1
SlateportCity_BattleTentCorridor_EventScript_208E56:: @ 8208E56
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
end
SlateportCity_BattleTentCorridor_MapScript2_208E5B: @ 8208E5B
@@ -24,13 +24,13 @@ SlateportCity_BattleTentCorridor_MapScript2_208E5B: @ 8208E5B
SlateportCity_BattleTentCorridor_EventScript_208E65:: @ 8208E65
compare VAR_0x8006, 1
- goto_eq SlateportCity_BattleTentCorridor_EventScript_208EEE
+ goto_if_eq SlateportCity_BattleTentCorridor_EventScript_208EEE
setvar VAR_TEMP_0, 1
applymovement 1, SlateportCity_BattleTentCorridor_Movement_209062
- applymovement 255, SlateportCity_BattleTentCorridor_Movement_209059
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_BattleTentCorridor_Movement_209059
waitmovement 0
compare VAR_0x8006, 2
- goto_eq SlateportCity_BattleTentCorridor_EventScript_209044
+ goto_if_eq SlateportCity_BattleTentCorridor_EventScript_209044
setvar VAR_0x8004, 9
special sub_81B9D08
setvar VAR_0x8004, 8
@@ -49,7 +49,7 @@ SlateportCity_BattleTentCorridor_EventScript_208EB4:: @ 8208EB4
opendoor 2, 1
waitdooranim
applymovement 1, SlateportCity_BattleTentCorridor_Movement_209068
- applymovement 255, SlateportCity_BattleTentCorridor_Movement_20905E
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_BattleTentCorridor_Movement_20905E
waitmovement 0
closedoor 2, 1
waitdooranim
@@ -72,9 +72,9 @@ SlateportCity_BattleTentCorridor_EventScript_208F0D:: @ 8208F0D
setvar VAR_0x8005, 2
special CallFrontierUtilFunc
compare VAR_RESULT, 1
- call_if 1, SlateportCity_BattleTentCorridor_EventScript_209014
+ call_if_eq SlateportCity_BattleTentCorridor_EventScript_209014
compare VAR_RESULT, 2
- call_if 1, SlateportCity_BattleTentCorridor_EventScript_20901B
+ call_if_eq SlateportCity_BattleTentCorridor_EventScript_20901B
multichoice 20, 6, 104, 1
switch VAR_RESULT
case 0, SlateportCity_BattleTentCorridor_EventScript_208FBB
@@ -112,7 +112,7 @@ SlateportCity_BattleTentCorridor_EventScript_208FF1:: @ 8208FF1
special sub_81B9D08
waitstate
compare VAR_RESULT, 1
- goto_eq SlateportCity_BattleTentCorridor_EventScript_208EB4
+ goto_if_eq SlateportCity_BattleTentCorridor_EventScript_208EB4
msgbox SlateportCity_BattleTentCorridor_Text_25AB6C, MSGBOX_DEFAULT
goto SlateportCity_BattleTentCorridor_EventScript_208EB4
diff --git a/data/maps/SlateportCity_BattleTentLobby/scripts.inc b/data/maps/SlateportCity_BattleTentLobby/scripts.inc
index 8e5c81e12..2d00095ba 100644
--- a/data/maps/SlateportCity_BattleTentLobby/scripts.inc
+++ b/data/maps/SlateportCity_BattleTentLobby/scripts.inc
@@ -9,7 +9,7 @@ SlateportCity_BattleTentLobby_MapScript2_20873B: @ 820873B
SlateportCity_BattleTentLobby_EventScript_208745:: @ 8208745
setvar VAR_TEMP_1, 1
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
end
SlateportCity_BattleTentLobby_MapScript2_20874F: @ 820874F
@@ -121,7 +121,7 @@ SlateportCity_BattleTentLobby_EventScript_2088AA:: @ 82088AA
setvar VAR_0x8004, 1
special sub_81B9D08
compare VAR_RESULT, 0
- goto_if 5, SlateportCity_BattleTentLobby_EventScript_2087E9
+ goto_if_ne SlateportCity_BattleTentLobby_EventScript_2087E9
special SavePlayerParty
msgbox SlateportCity_BattleTentLobby_Text_2C5810, MSGBOX_DEFAULT
@@ -168,7 +168,7 @@ SlateportCity_BattleTentLobby_EventScript_208950:: @ 8208950
call SlateportCity_BattleTentLobby_EventScript_27134F
setvar VAR_TEMP_0, 255
compare VAR_RESULT, 0
- goto_eq SlateportCity_BattleTentLobby_EventScript_208A14
+ goto_if_eq SlateportCity_BattleTentLobby_EventScript_208A14
setvar VAR_0x8006, 0
SlateportCity_BattleTentLobby_EventScript_2089AC:: @ 82089AC
@@ -182,12 +182,12 @@ SlateportCity_BattleTentLobby_EventScript_2089AC:: @ 82089AC
SlateportCity_BattleTentLobby_EventScript_2089C9:: @ 82089C9
applymovement 1, SlateportCity_BattleTentLobby_Movement_2089F8
- applymovement 255, SlateportCity_BattleTentLobby_Movement_2089FF
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_BattleTentLobby_Movement_2089FF
waitmovement 0
opendoor 6, 1
waitdooranim
applymovement 1, SlateportCity_BattleTentLobby_Movement_2089FC
- applymovement 255, SlateportCity_BattleTentLobby_Movement_208A03
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_BattleTentLobby_Movement_208A03
waitmovement 0
closedoor 6, 1
waitdooranim
@@ -245,12 +245,11 @@ SlateportCity_BattleTentLobby_Movement_208A38:: @ 8208A38
SlateportCity_BattleTentLobby_EventScript_208A3D:: @ 8208A3D
lock
faceplayer
- checkflag FLAG_0x109
- goto_eq SlateportCity_BattleTentLobby_EventScript_208A74
+ goto_if_set FLAG_0x109, SlateportCity_BattleTentLobby_EventScript_208A74
msgbox SlateportCity_BattleTentLobby_Text_208B4E, MSGBOX_DEFAULT
giveitem_std ITEM_TM41
compare VAR_RESULT, 0
- goto_eq SlateportCity_BattleTentLobby_EventScript_272054
+ goto_if_eq SlateportCity_BattleTentLobby_EventScript_272054
setflag FLAG_0x109
msgbox SlateportCity_BattleTentLobby_Text_208C5C, MSGBOX_DEFAULT
release
diff --git a/data/maps/SlateportCity_Harbor/scripts.inc b/data/maps/SlateportCity_Harbor/scripts.inc
index efc0ff565..df573aa7a 100644
--- a/data/maps/SlateportCity_Harbor/scripts.inc
+++ b/data/maps/SlateportCity_Harbor/scripts.inc
@@ -6,9 +6,8 @@ SlateportCity_Harbor_MapScript1_20C983: @ 820C983
setescapewarp MAP_SLATEPORT_CITY, 255, 28, 13
setvar VAR_TEMP_1, 0
compare VAR_0x40A0, 1
- call_if 1, SlateportCity_Harbor_EventScript_20C9A9
- checkflag FLAG_SYS_GAME_CLEAR
- call_if 1, SlateportCity_Harbor_EventScript_20C9A5
+ call_if_eq SlateportCity_Harbor_EventScript_20C9A9
+ call_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_Harbor_EventScript_20C9A5
end
SlateportCity_Harbor_EventScript_20C9A5:: @ 820C9A5
@@ -43,7 +42,7 @@ SlateportCity_Harbor_EventScript_20C9D3:: @ 820C9D3
SlateportCity_Harbor_EventScript_20C9DF:: @ 820C9DF
lockall
setvar VAR_0x8008, 3
- applymovement 255, SlateportCity_Harbor_Movement_20CAEF
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Harbor_Movement_20CAEF
waitmovement 0
goto SlateportCity_Harbor_EventScript_20C9F5
end
@@ -52,7 +51,7 @@ SlateportCity_Harbor_EventScript_20C9F5:: @ 820C9F5
applymovement 7, SlateportCity_Harbor_Movement_2725AA
waitmovement 0
applymovement 6, SlateportCity_Harbor_Movement_2725AA
- applymovement 255, SlateportCity_Harbor_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Harbor_Movement_2725A6
waitmovement 0
msgbox SlateportCity_Harbor_Text_20D291, MSGBOX_DEFAULT
closemessage
@@ -67,13 +66,13 @@ SlateportCity_Harbor_EventScript_20C9F5:: @ 820C9F5
setflag FLAG_0x061
setflag FLAG_HIDE_LILCOVE_MOTEL_SCOTT
compare VAR_0x8008, 0
- call_if 1, SlateportCity_Harbor_EventScript_20CA89
+ call_if_eq SlateportCity_Harbor_EventScript_20CA89
compare VAR_0x8008, 1
- call_if 1, SlateportCity_Harbor_EventScript_20CA9E
+ call_if_eq SlateportCity_Harbor_EventScript_20CA9E
compare VAR_0x8008, 2
- call_if 1, SlateportCity_Harbor_EventScript_20CAB3
+ call_if_eq SlateportCity_Harbor_EventScript_20CAB3
compare VAR_0x8008, 3
- call_if 1, SlateportCity_Harbor_EventScript_20CAB3
+ call_if_eq SlateportCity_Harbor_EventScript_20CAB3
msgbox SlateportCity_Harbor_Text_20D35A, MSGBOX_DEFAULT
closemessage
setflag FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_1_BLOCKING_ENTRANCE
@@ -86,21 +85,21 @@ SlateportCity_Harbor_EventScript_20C9F5:: @ 820C9F5
SlateportCity_Harbor_EventScript_20CA89:: @ 820CA89
applymovement 4, SlateportCity_Harbor_Movement_20CAE0
waitmovement 0
- applymovement 255, SlateportCity_Harbor_Movement_2725AA
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Harbor_Movement_2725AA
waitmovement 0
return
SlateportCity_Harbor_EventScript_20CA9E:: @ 820CA9E
applymovement 4, SlateportCity_Harbor_Movement_20CAE6
waitmovement 0
- applymovement 255, SlateportCity_Harbor_Movement_2725A8
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Harbor_Movement_2725A8
waitmovement 0
return
SlateportCity_Harbor_EventScript_20CAB3:: @ 820CAB3
applymovement 4, SlateportCity_Harbor_Movement_20CAEB
waitmovement 0
- applymovement 255, SlateportCity_Harbor_Movement_2725A8
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Harbor_Movement_2725A8
waitmovement 0
return
@@ -162,8 +161,7 @@ SlateportCity_Harbor_Movement_20CAEF: @ 820CAEF
SlateportCity_Harbor_EventScript_20CAF1:: @ 820CAF1
lock
faceplayer
- checkflag FLAG_SYS_GAME_CLEAR
- goto_eq SlateportCity_Harbor_EventScript_20CB06
+ goto_if_set FLAG_SYS_GAME_CLEAR, SlateportCity_Harbor_EventScript_20CB06
msgbox SlateportCity_Harbor_Text_20CE20, MSGBOX_DEFAULT
release
end
@@ -176,8 +174,7 @@ SlateportCity_Harbor_EventScript_20CB06:: @ 820CB06
end
SlateportCity_Harbor_EventScript_20CB1A:: @ 820CB1A
- checkflag FLAG_0x1D0
- goto_eq SlateportCity_Harbor_EventScript_20CB50
+ goto_if_set FLAG_0x1D0, SlateportCity_Harbor_EventScript_20CB50
multichoicedefault 18, 8, 56, 2, 0
switch VAR_RESULT
case 0, SlateportCity_Harbor_EventScript_20CB92
@@ -202,7 +199,7 @@ SlateportCity_Harbor_EventScript_20CB88:: @ 820CB88
SlateportCity_Harbor_EventScript_20CB92:: @ 820CB92
msgbox SlateportCity_Harbor_Text_20CF93, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq SlateportCity_Harbor_EventScript_20CBDD
+ goto_if_eq SlateportCity_Harbor_EventScript_20CBDD
setvar VAR_PORTHOLE_STATE, 1
call SlateportCity_Harbor_EventScript_20CBE9
warp MAP_SS_TIDAL_CORRIDOR, 255, 1, 10
@@ -213,7 +210,7 @@ SlateportCity_Harbor_EventScript_20CB92:: @ 820CB92
SlateportCity_Harbor_EventScript_20CBBA:: @ 820CBBA
msgbox SlateportCity_Harbor_Text_20CFAE, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq SlateportCity_Harbor_EventScript_20CBDD
+ goto_if_eq SlateportCity_Harbor_EventScript_20CBDD
call SlateportCity_Harbor_EventScript_20CBE9
warp MAP_BATTLE_FRONTIER_OUTSIDE_WEST, 255, 19, 67
waitstate
@@ -234,11 +231,11 @@ SlateportCity_Harbor_EventScript_20CBE9:: @ 820CBE9
delay 30
hideobjectat VAR_LAST_TALKED, MAP_SLATEPORT_CITY_HARBOR
compare VAR_FACING, 2
- call_if 1, SlateportCity_Harbor_EventScript_20CC42
+ call_if_eq SlateportCity_Harbor_EventScript_20CC42
compare VAR_FACING, 4
- call_if 1, SlateportCity_Harbor_EventScript_20CC37
+ call_if_eq SlateportCity_Harbor_EventScript_20CC37
delay 30
- hideobjectat 255, MAP_PETALBURG_CITY
+ hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY
setvar VAR_0x8004, 5
call SlateportCity_Harbor_EventScript_2721E2
return
@@ -249,12 +246,12 @@ SlateportCity_Harbor_EventScript_20CC2D:: @ 820CC2D
end
SlateportCity_Harbor_EventScript_20CC37:: @ 820CC37
- applymovement 255, SlateportCity_Harbor_Movement_20CC4D
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Harbor_Movement_20CC4D
waitmovement 0
return
SlateportCity_Harbor_EventScript_20CC42:: @ 820CC42
- applymovement 255, SlateportCity_Harbor_Movement_20CC50
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_Harbor_Movement_20CC50
waitmovement 0
return
@@ -270,15 +267,12 @@ SlateportCity_Harbor_Movement_20CC50: @ 820CC50
SlateportCity_Harbor_EventScript_20CC52:: @ 820CC52
lock
faceplayer
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, SlateportCity_Harbor_EventScript_20CC89
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SlateportCity_Harbor_EventScript_20CC89
setvar VAR_0x8004, 0
- checkflag FLAG_0x1BE
- call_if 1, SlateportCity_Harbor_EventScript_20CC93
- checkflag FLAG_0x1BF
- call_if 1, SlateportCity_Harbor_EventScript_20CC93
+ call_if_set FLAG_0x1BE, SlateportCity_Harbor_EventScript_20CC93
+ call_if_set FLAG_0x1BF, SlateportCity_Harbor_EventScript_20CC93
compare VAR_0x8004, 2
- goto_eq SlateportCity_Harbor_EventScript_20CC89
+ goto_if_eq SlateportCity_Harbor_EventScript_20CC89
msgbox SlateportCity_Harbor_Text_20D08E, MSGBOX_DEFAULT
release
end
@@ -299,14 +293,11 @@ SlateportCity_Harbor_EventScript_20CC99:: @ 820CC99
SlateportCity_Harbor_EventScript_20CCA2:: @ 820CCA2
lock
faceplayer
- checkflag FLAG_BADGE07_GET
- goto_eq SlateportCity_Harbor_EventScript_20CD00
- checkflag FLAG_0x10F
- goto_eq SlateportCity_Harbor_EventScript_20CCF6
- checkflag FLAG_0x070
- goto_eq SlateportCity_Harbor_EventScript_20CCE9
+ goto_if_set FLAG_BADGE07_GET, SlateportCity_Harbor_EventScript_20CD00
+ goto_if_set FLAG_0x10F, SlateportCity_Harbor_EventScript_20CCF6
+ goto_if_set FLAG_0x070, SlateportCity_Harbor_EventScript_20CCE9
compare VAR_0x40A0, 2
- goto_eq SlateportCity_Harbor_EventScript_20CCDF
+ goto_if_eq SlateportCity_Harbor_EventScript_20CCDF
msgbox SlateportCity_Harbor_Text_20D232, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, SlateportCity_Harbor_Movement_2725A2
@@ -332,12 +323,11 @@ SlateportCity_Harbor_EventScript_20CCF6:: @ 820CCF6
SlateportCity_Harbor_EventScript_20CD00:: @ 820CD00
compare VAR_TEMP_1, 1
- goto_eq SlateportCity_Harbor_EventScript_20CE11
+ goto_if_eq SlateportCity_Harbor_EventScript_20CE11
checkitem ITEM_SCANNER, 1
compare VAR_RESULT, 1
- goto_eq SlateportCity_Harbor_EventScript_20CD38
- checkflag FLAG_SYS_GAME_CLEAR
- goto_eq SlateportCity_Harbor_EventScript_20CD2E
+ 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
release
end
@@ -365,10 +355,10 @@ SlateportCity_Harbor_EventScript_20CD44:: @ 820CD44
SlateportCity_Harbor_EventScript_20CD7B:: @ 820CD7B
msgbox SlateportCity_Harbor_Text_20D8BC, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq SlateportCity_Harbor_EventScript_20CE05
+ goto_if_eq SlateportCity_Harbor_EventScript_20CE05
giveitem_std ITEM_DEEP_SEA_TOOTH
compare VAR_RESULT, 0
- goto_eq SlateportCity_Harbor_EventScript_272054
+ goto_if_eq SlateportCity_Harbor_EventScript_272054
takeitem ITEM_SCANNER, 1
msgbox SlateportCity_Harbor_Text_20D94A, MSGBOX_DEFAULT
setflag FLAG_TRADED_SCANNER_TO_STERN
@@ -378,10 +368,10 @@ SlateportCity_Harbor_EventScript_20CD7B:: @ 820CD7B
SlateportCity_Harbor_EventScript_20CDBB:: @ 820CDBB
msgbox SlateportCity_Harbor_Text_20D8F1, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq SlateportCity_Harbor_EventScript_20CE05
+ goto_if_eq SlateportCity_Harbor_EventScript_20CE05
giveitem_std ITEM_DEEP_SEA_SCALE
compare VAR_RESULT, 0
- goto_eq SlateportCity_Harbor_EventScript_272054
+ goto_if_eq SlateportCity_Harbor_EventScript_272054
takeitem ITEM_SCANNER, 1
msgbox SlateportCity_Harbor_Text_20D94A, MSGBOX_DEFAULT
setflag FLAG_TRADED_SCANNER_TO_STERN
diff --git a/data/maps/SlateportCity_House1/scripts.inc b/data/maps/SlateportCity_House1/scripts.inc
index aaec06a21..2e973663b 100644
--- a/data/maps/SlateportCity_House1/scripts.inc
+++ b/data/maps/SlateportCity_House1/scripts.inc
@@ -6,9 +6,9 @@ SlateportCity_House1_EventScript_209AA5:: @ 8209AA5
faceplayer
msgbox SlateportCity_House1_Text_209B8E, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq SlateportCity_House1_EventScript_209AC6
+ goto_if_eq SlateportCity_House1_EventScript_209AC6
compare VAR_RESULT, 0
- goto_eq SlateportCity_House1_EventScript_209AE9
+ goto_if_eq SlateportCity_House1_EventScript_209AE9
end
SlateportCity_House1_EventScript_209AC6:: @ 8209AC6
@@ -16,9 +16,9 @@ SlateportCity_House1_EventScript_209AC6:: @ 8209AC6
special sub_81B94B0
waitstate
compare VAR_0x8004, 255
- goto_if 5, SlateportCity_House1_EventScript_209AF3
+ goto_if_ne SlateportCity_House1_EventScript_209AF3
compare VAR_0x8004, 255
- goto_eq SlateportCity_House1_EventScript_209AE9
+ goto_if_eq SlateportCity_House1_EventScript_209AE9
end
SlateportCity_House1_EventScript_209AE9:: @ 8209AE9
@@ -29,20 +29,20 @@ SlateportCity_House1_EventScript_209AE9:: @ 8209AE9
SlateportCity_House1_EventScript_209AF3:: @ 8209AF3
specialvar VAR_RESULT, ScriptGetPartyMonSpecies
compare VAR_RESULT, 412
- goto_eq SlateportCity_House1_EventScript_209B46
+ goto_if_eq SlateportCity_House1_EventScript_209B46
special TV_CopyNicknameToStringVar1AndEnsureTerminated
special TV_CheckMonOTIDEqualsPlayerID
compare VAR_RESULT, 1
- goto_eq SlateportCity_House1_EventScript_209B50
+ goto_if_eq SlateportCity_House1_EventScript_209B50
specialvar VAR_RESULT, MonOTNameMatchesPlayer
special TV_CopyNicknameToStringVar1AndEnsureTerminated
compare VAR_RESULT, 1
- goto_eq SlateportCity_House1_EventScript_209B50
+ goto_if_eq SlateportCity_House1_EventScript_209B50
msgbox SlateportCity_House1_Text_209C2B, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq SlateportCity_House1_EventScript_209B5A
+ goto_if_eq SlateportCity_House1_EventScript_209B5A
compare VAR_RESULT, 0
- goto_eq SlateportCity_House1_EventScript_209AE9
+ goto_if_eq SlateportCity_House1_EventScript_209AE9
end
SlateportCity_House1_EventScript_209B46:: @ 8209B46
@@ -61,7 +61,7 @@ SlateportCity_House1_EventScript_209B5A:: @ 8209B5A
specialvar VAR_RESULT, TV_PutNameRaterShowOnTheAirIfNicnkameChanged
special TV_CopyNicknameToStringVar1AndEnsureTerminated
compare VAR_RESULT, 1
- goto_eq SlateportCity_House1_EventScript_209B84
+ goto_if_eq SlateportCity_House1_EventScript_209B84
msgbox SlateportCity_House1_Text_209D5E, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc b/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc
index 3c777b184..76bc18873 100644
--- a/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc
+++ b/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc
@@ -7,14 +7,14 @@ SlateportCity_OceanicMuseum_1F_EventScript_20AD96:: @ 820AD96
SlateportCity_OceanicMuseum_1F_EventScript_20AD9F:: @ 820AD9F
lockall
- applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_2725A4
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_2725A4
waitmovement 0
goto SlateportCity_OceanicMuseum_1F_EventScript_20ADC1
end
SlateportCity_OceanicMuseum_1F_EventScript_20ADB0:: @ 820ADB0
lockall
- applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_2725A8
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_2725A8
waitmovement 0
goto SlateportCity_OceanicMuseum_1F_EventScript_20ADC1
end
@@ -23,12 +23,12 @@ SlateportCity_OceanicMuseum_1F_EventScript_20ADC1:: @ 820ADC1
showmoneybox 0, 0, 0
msgbox SlateportCity_OceanicMuseum_1F_Text_20AFD5, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq SlateportCity_OceanicMuseum_1F_EventScript_20ADE8
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_20ADE8
closemessage
hidemoneybox
nop
nop
- applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_20AE4B
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_20AE4B
waitmovement 0
releaseall
end
@@ -36,7 +36,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_20ADC1:: @ 820ADC1
SlateportCity_OceanicMuseum_1F_EventScript_20ADE8:: @ 820ADE8
checkmoney 0x32, 0
compare VAR_RESULT, 0
- goto_eq SlateportCity_OceanicMuseum_1F_EventScript_20AE18
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_20AE18
playse SE_REGI
takemoney 0x32, 0
updatemoneybox 0, 0
@@ -50,14 +50,13 @@ SlateportCity_OceanicMuseum_1F_EventScript_20ADE8:: @ 820ADE8
end
SlateportCity_OceanicMuseum_1F_EventScript_20AE18:: @ 820AE18
- checkflag FLAG_0x095
- goto_if 0, SlateportCity_OceanicMuseum_1F_EventScript_20AE39
+ goto_if_unset FLAG_0x095, SlateportCity_OceanicMuseum_1F_EventScript_20AE39
msgbox SlateportCity_OceanicMuseum_1F_Text_20B03D, MSGBOX_DEFAULT
closemessage
hidemoneybox
nop
nop
- applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_20AE4B
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_20AE4B
waitmovement 0
releaseall
end
@@ -163,22 +162,22 @@ SlateportCity_OceanicMuseum_1F_EventScript_20AEF8:: @ 820AEF8
msgbox SlateportCity_OceanicMuseum_1F_Text_20B3AB, MSGBOX_DEFAULT
giveitem_std ITEM_TM46
compare VAR_RESULT, 0
- goto_eq SlateportCity_OceanicMuseum_1F_EventScript_20AFB5
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_20AFB5
setflag FLAG_0x10D
msgbox SlateportCity_OceanicMuseum_1F_Text_20B449, MSGBOX_DEFAULT
closemessage
compare VAR_FACING, 2
- goto_eq SlateportCity_OceanicMuseum_1F_EventScript_20AF6C
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_20AF6C
compare VAR_FACING, 1
- goto_eq SlateportCity_OceanicMuseum_1F_EventScript_20AF83
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_20AF83
compare VAR_FACING, 3
- goto_eq SlateportCity_OceanicMuseum_1F_EventScript_20AF93
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_20AF93
compare VAR_FACING, 4
- goto_eq SlateportCity_OceanicMuseum_1F_EventScript_20AF93
+ goto_if_eq SlateportCity_OceanicMuseum_1F_EventScript_20AF93
end
SlateportCity_OceanicMuseum_1F_EventScript_20AF6C:: @ 820AF6C
- applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_20AFBF
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_20AFBF
applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_20AFCE
waitmovement 0
goto SlateportCity_OceanicMuseum_1F_EventScript_20AFAA
@@ -191,7 +190,7 @@ SlateportCity_OceanicMuseum_1F_EventScript_20AF83:: @ 820AF83
end
SlateportCity_OceanicMuseum_1F_EventScript_20AF93:: @ 820AF93
- applymovement 255, SlateportCity_OceanicMuseum_1F_Movement_20AFC4
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_1F_Movement_20AFC4
applymovement 13, SlateportCity_OceanicMuseum_1F_Movement_20AFC7
waitmovement 0
goto SlateportCity_OceanicMuseum_1F_EventScript_20AFAA
diff --git a/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc b/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc
index 040a76396..387ffdabf 100644
--- a/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc
+++ b/data/maps/SlateportCity_OceanicMuseum_2F/scripts.inc
@@ -17,21 +17,21 @@ SlateportCity_OceanicMuseum_2F_EventScript_20BB00:: @ 820BB00
applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_20BCF5
waitmovement 0
compare VAR_FACING, 1
- call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_20BC92
+ call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_20BC92
compare VAR_FACING, 4
- call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_20BC92
+ call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_20BC92
msgbox SlateportCity_OceanicMuseum_2F_Text_20BE40, MSGBOX_DEFAULT
compare VAR_FACING, 4
- call_if 5, SlateportCity_OceanicMuseum_2F_EventScript_20BC9D
+ call_if_ne SlateportCity_OceanicMuseum_2F_EventScript_20BC9D
msgbox SlateportCity_OceanicMuseum_2F_Text_20BE69, MSGBOX_DEFAULT
msgbox SlateportCity_OceanicMuseum_2F_Text_20BE93, MSGBOX_DEFAULT
closemessage
applymovement 4, SlateportCity_OceanicMuseum_2F_Movement_20BCE2
waitmovement 0
compare VAR_FACING, 1
- call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_20BCA8
+ call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_20BCA8
compare VAR_FACING, 3
- call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_20BCB3
+ 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
closemessage
@@ -68,7 +68,7 @@ SlateportCity_OceanicMuseum_2F_EventScript_20BB00:: @ 820BB00
fadescreen 0
delay 30
setflag FLAG_HIDE_SLATEPORT_CITY_OCEANIC_MUSEUM_AQUA_GRUNTS
- applymovement 255, SlateportCity_OceanicMuseum_2F_Movement_2725A8
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_2F_Movement_2725A8
waitmovement 0
msgbox SlateportCity_OceanicMuseum_2F_Text_20C2BE, MSGBOX_DEFAULT
setvar VAR_0x8004, 269
@@ -82,7 +82,7 @@ SlateportCity_OceanicMuseum_2F_EventScript_20BB00:: @ 820BB00
removeobject 1
setflag FLAG_HIDE_ROUTE_110_TEAM_AQUA
compare VAR_0x40DA, 0
- call_if 1, SlateportCity_OceanicMuseum_2F_EventScript_20BC8C
+ call_if_eq SlateportCity_OceanicMuseum_2F_EventScript_20BC8C
setflag FLAG_0x095
clearflag FLAG_HIDE_ROUTE_116_DEVON_EMPLOYEE
setflag FLAG_HIDE_RUSTBORO_CITY_DEVON_CORP_3F_EMPLOYEE
@@ -96,7 +96,7 @@ SlateportCity_OceanicMuseum_2F_EventScript_20BC8C:: @ 820BC8C
return
SlateportCity_OceanicMuseum_2F_EventScript_20BC92:: @ 820BC92
- applymovement 255, SlateportCity_OceanicMuseum_2F_Movement_2725A4
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_2F_Movement_2725A4
waitmovement 0
return
@@ -106,12 +106,12 @@ SlateportCity_OceanicMuseum_2F_EventScript_20BC9D:: @ 820BC9D
return
SlateportCity_OceanicMuseum_2F_EventScript_20BCA8:: @ 820BCA8
- applymovement 255, SlateportCity_OceanicMuseum_2F_Movement_20BCBE
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_2F_Movement_20BCBE
waitmovement 0
return
SlateportCity_OceanicMuseum_2F_EventScript_20BCB3:: @ 820BCB3
- applymovement 255, SlateportCity_OceanicMuseum_2F_Movement_20BCC2
+ applymovement EVENT_OBJ_ID_PLAYER, SlateportCity_OceanicMuseum_2F_Movement_20BCC2
waitmovement 0
return
diff --git a/data/maps/SlateportCity_PokemonFanClub/scripts.inc b/data/maps/SlateportCity_PokemonFanClub/scripts.inc
index 154438ae2..35fcde577 100644
--- a/data/maps/SlateportCity_PokemonFanClub/scripts.inc
+++ b/data/maps/SlateportCity_PokemonFanClub/scripts.inc
@@ -4,10 +4,8 @@ SlateportCity_PokemonFanClub_MapScripts:: @ 8209E95
SlateportCity_PokemonFanClub_EventScript_209E96:: @ 8209E96
lock
faceplayer
- checkflag FLAG_0x155
- goto_if 0, SlateportCity_PokemonFanClub_EventScript_20A152
- checkflag FLAG_0x156
- call_if 0, SlateportCity_PokemonFanClub_EventScript_20A172
+ goto_if_unset FLAG_0x155, SlateportCity_PokemonFanClub_EventScript_20A152
+ call_if_unset FLAG_0x156, SlateportCity_PokemonFanClub_EventScript_20A172
switch VAR_0x40B7
case 0, SlateportCity_PokemonFanClub_EventScript_209ED2
case 1, SlateportCity_PokemonFanClub_EventScript_209EE5
@@ -23,20 +21,15 @@ SlateportCity_PokemonFanClub_EventScript_209ED2:: @ 8209ED2
SlateportCity_PokemonFanClub_EventScript_209EE5:: @ 8209EE5
setvar VAR_TEMP_2, 0
- checkflag FLAG_0x0CC
- call_if 1, SlateportCity_PokemonFanClub_EventScript_209FD0
- checkflag FLAG_0x0CB
- call_if 1, SlateportCity_PokemonFanClub_EventScript_209FD0
- checkflag FLAG_0x0CA
- call_if 1, SlateportCity_PokemonFanClub_EventScript_209FD0
- checkflag FLAG_0x0C9
- call_if 1, SlateportCity_PokemonFanClub_EventScript_209FD0
- checkflag FLAG_0x0C8
- call_if 1, SlateportCity_PokemonFanClub_EventScript_209FD0
+ call_if_set FLAG_0x0CC, SlateportCity_PokemonFanClub_EventScript_209FD0
+ call_if_set FLAG_0x0CB, SlateportCity_PokemonFanClub_EventScript_209FD0
+ call_if_set FLAG_0x0CA, SlateportCity_PokemonFanClub_EventScript_209FD0
+ call_if_set FLAG_0x0C9, SlateportCity_PokemonFanClub_EventScript_209FD0
+ call_if_set FLAG_0x0C8, SlateportCity_PokemonFanClub_EventScript_209FD0
compare VAR_TEMP_2, 5
- call_if 1, SlateportCity_PokemonFanClub_EventScript_209FCA
+ call_if_eq SlateportCity_PokemonFanClub_EventScript_209FCA
compare VAR_0x40B7, 2
- goto_eq SlateportCity_PokemonFanClub_EventScript_209F3B
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_209F3B
msgbox SlateportCity_PokemonFanClub_Text_20A62A, MSGBOX_DEFAULT
goto SlateportCity_PokemonFanClub_EventScript_209F45
end
@@ -49,16 +42,11 @@ SlateportCity_PokemonFanClub_EventScript_209F3B:: @ 8209F3B
SlateportCity_PokemonFanClub_EventScript_209F45:: @ 8209F45
msgbox SlateportCity_PokemonFanClub_Text_20A65F, MSGBOX_DEFAULT
setvar VAR_TEMP_1, 0
- checkflag FLAG_0x0CC
- call_if 0, SlateportCity_PokemonFanClub_EventScript_20A13B
- checkflag FLAG_0x0CB
- call_if 0, SlateportCity_PokemonFanClub_EventScript_20A124
- checkflag FLAG_0x0CA
- call_if 0, SlateportCity_PokemonFanClub_EventScript_20A10D
- checkflag FLAG_0x0C9
- call_if 0, SlateportCity_PokemonFanClub_EventScript_20A0F6
- checkflag FLAG_0x0C8
- call_if 0, SlateportCity_PokemonFanClub_EventScript_20A0DF
+ call_if_unset FLAG_0x0CC, SlateportCity_PokemonFanClub_EventScript_20A13B
+ call_if_unset FLAG_0x0CB, SlateportCity_PokemonFanClub_EventScript_20A124
+ call_if_unset FLAG_0x0CA, SlateportCity_PokemonFanClub_EventScript_20A10D
+ call_if_unset FLAG_0x0C9, SlateportCity_PokemonFanClub_EventScript_20A0F6
+ call_if_unset FLAG_0x0C8, SlateportCity_PokemonFanClub_EventScript_20A0DF
bufferleadmonspeciesname 0
switch VAR_TEMP_1
case 0, SlateportCity_PokemonFanClub_EventScript_209FD6
@@ -86,7 +74,7 @@ SlateportCity_PokemonFanClub_EventScript_209FD6:: @ 8209FD6
SlateportCity_PokemonFanClub_EventScript_209FE0:: @ 8209FE0
checkitemspace ITEM_RED_SCARF, 1
compare VAR_RESULT, 0
- goto_eq SlateportCity_PokemonFanClub_EventScript_20A0D5
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_20A0D5
msgbox SlateportCity_PokemonFanClub_Text_20A795, MSGBOX_DEFAULT
setflag FLAG_0x0C8
giveitem_std ITEM_RED_SCARF
@@ -97,7 +85,7 @@ SlateportCity_PokemonFanClub_EventScript_209FE0:: @ 8209FE0
SlateportCity_PokemonFanClub_EventScript_20A011:: @ 820A011
checkitemspace ITEM_BLUE_SCARF, 1
compare VAR_RESULT, 0
- goto_eq SlateportCity_PokemonFanClub_EventScript_20A0D5
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_20A0D5
msgbox SlateportCity_PokemonFanClub_Text_20A795, MSGBOX_DEFAULT
setflag FLAG_0x0C9
giveitem_std ITEM_BLUE_SCARF
@@ -108,7 +96,7 @@ SlateportCity_PokemonFanClub_EventScript_20A011:: @ 820A011
SlateportCity_PokemonFanClub_EventScript_20A042:: @ 820A042
checkitemspace ITEM_PINK_SCARF, 1
compare VAR_RESULT, 0
- goto_eq SlateportCity_PokemonFanClub_EventScript_20A0D5
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_20A0D5
msgbox SlateportCity_PokemonFanClub_Text_20A795, MSGBOX_DEFAULT
setflag FLAG_0x0CA
giveitem_std ITEM_PINK_SCARF
@@ -119,7 +107,7 @@ SlateportCity_PokemonFanClub_EventScript_20A042:: @ 820A042
SlateportCity_PokemonFanClub_EventScript_20A073:: @ 820A073
checkitemspace ITEM_GREEN_SCARF, 1
compare VAR_RESULT, 0
- goto_eq SlateportCity_PokemonFanClub_EventScript_20A0D5
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_20A0D5
msgbox SlateportCity_PokemonFanClub_Text_20A795, MSGBOX_DEFAULT
setflag FLAG_0x0CB
giveitem_std ITEM_GREEN_SCARF
@@ -130,7 +118,7 @@ SlateportCity_PokemonFanClub_EventScript_20A073:: @ 820A073
SlateportCity_PokemonFanClub_EventScript_20A0A4:: @ 820A0A4
checkitemspace ITEM_YELLOW_SCARF, 1
compare VAR_RESULT, 0
- goto_eq SlateportCity_PokemonFanClub_EventScript_20A0D5
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_20A0D5
msgbox SlateportCity_PokemonFanClub_Text_20A795, MSGBOX_DEFAULT
setflag FLAG_0x0CC
giveitem_std ITEM_YELLOW_SCARF
@@ -146,7 +134,7 @@ SlateportCity_PokemonFanClub_EventScript_20A0D5:: @ 820A0D5
SlateportCity_PokemonFanClub_EventScript_20A0DF:: @ 820A0DF
specialvar VAR_RESULT, CheckLeadMonCool
compare VAR_RESULT, 1
- call_if 1, SlateportCity_PokemonFanClub_EventScript_20A0F0
+ call_if_eq SlateportCity_PokemonFanClub_EventScript_20A0F0
return
SlateportCity_PokemonFanClub_EventScript_20A0F0:: @ 820A0F0
@@ -156,7 +144,7 @@ SlateportCity_PokemonFanClub_EventScript_20A0F0:: @ 820A0F0
SlateportCity_PokemonFanClub_EventScript_20A0F6:: @ 820A0F6
specialvar VAR_RESULT, CheckLeadMonBeauty
compare VAR_RESULT, 1
- call_if 1, SlateportCity_PokemonFanClub_EventScript_20A107
+ call_if_eq SlateportCity_PokemonFanClub_EventScript_20A107
return
SlateportCity_PokemonFanClub_EventScript_20A107:: @ 820A107
@@ -166,7 +154,7 @@ SlateportCity_PokemonFanClub_EventScript_20A107:: @ 820A107
SlateportCity_PokemonFanClub_EventScript_20A10D:: @ 820A10D
specialvar VAR_RESULT, CheckLeadMonCute
compare VAR_RESULT, 1
- call_if 1, SlateportCity_PokemonFanClub_EventScript_20A11E
+ call_if_eq SlateportCity_PokemonFanClub_EventScript_20A11E
return
SlateportCity_PokemonFanClub_EventScript_20A11E:: @ 820A11E
@@ -176,7 +164,7 @@ SlateportCity_PokemonFanClub_EventScript_20A11E:: @ 820A11E
SlateportCity_PokemonFanClub_EventScript_20A124:: @ 820A124
specialvar VAR_RESULT, CheckLeadMonSmart
compare VAR_RESULT, 1
- call_if 1, SlateportCity_PokemonFanClub_EventScript_20A135
+ call_if_eq SlateportCity_PokemonFanClub_EventScript_20A135
return
SlateportCity_PokemonFanClub_EventScript_20A135:: @ 820A135
@@ -186,7 +174,7 @@ SlateportCity_PokemonFanClub_EventScript_20A135:: @ 820A135
SlateportCity_PokemonFanClub_EventScript_20A13B:: @ 820A13B
specialvar VAR_RESULT, CheckLeadMonTough
compare VAR_RESULT, 1
- call_if 1, SlateportCity_PokemonFanClub_EventScript_20A14C
+ call_if_eq SlateportCity_PokemonFanClub_EventScript_20A14C
return
SlateportCity_PokemonFanClub_EventScript_20A14C:: @ 820A14C
@@ -194,8 +182,7 @@ SlateportCity_PokemonFanClub_EventScript_20A14C:: @ 820A14C
return
SlateportCity_PokemonFanClub_EventScript_20A152:: @ 820A152
- checkflag FLAG_0x156
- goto_eq SlateportCity_PokemonFanClub_EventScript_20A168
+ goto_if_set FLAG_0x156, SlateportCity_PokemonFanClub_EventScript_20A168
msgbox SlateportCity_PokemonFanClub_Text_20A233, MSGBOX_DEFAULT
setflag FLAG_0x156
release
@@ -214,12 +201,11 @@ SlateportCity_PokemonFanClub_EventScript_20A172:: @ 820A172
SlateportCity_PokemonFanClub_EventScript_20A17E:: @ 820A17E
lock
faceplayer
- checkflag FLAG_0x116
- goto_eq SlateportCity_PokemonFanClub_EventScript_20A1DE
+ goto_if_set FLAG_0x116, SlateportCity_PokemonFanClub_EventScript_20A1DE
msgbox SlateportCity_PokemonFanClub_Text_20AA77, MSGBOX_DEFAULT
specialvar VAR_RESULT, GetLeadMonFriendshipScore
compare VAR_RESULT, 4
- goto_if 4, SlateportCity_PokemonFanClub_EventScript_20A1A3
+ goto_if_ge SlateportCity_PokemonFanClub_EventScript_20A1A3
release
end
@@ -232,7 +218,7 @@ SlateportCity_PokemonFanClub_EventScript_20A1A3:: @ 820A1A3
msgbox SlateportCity_PokemonFanClub_Text_20AB63, MSGBOX_DEFAULT
giveitem_std ITEM_SOOTHE_BELL
compare VAR_RESULT, 0
- goto_eq SlateportCity_PokemonFanClub_EventScript_272054
+ goto_if_eq SlateportCity_PokemonFanClub_EventScript_272054
setflag FLAG_0x116
release
end
diff --git a/data/maps/SlateportCity_SternsShipyard_1F/scripts.inc b/data/maps/SlateportCity_SternsShipyard_1F/scripts.inc
index 82138168c..da264c2ee 100644
--- a/data/maps/SlateportCity_SternsShipyard_1F/scripts.inc
+++ b/data/maps/SlateportCity_SternsShipyard_1F/scripts.inc
@@ -3,14 +3,10 @@ SlateportCity_SternsShipyard_1F_MapScripts:: @ 8207F3F
SlateportCity_SternsShipyard_1F_EventScript_207F40:: @ 8207F40
lockall
- checkflag FLAG_SYS_GAME_CLEAR
- goto_eq SlateportCity_SternsShipyard_1F_EventScript_207F92
- checkflag FLAG_BADGE07_GET
- goto_eq SlateportCity_SternsShipyard_1F_EventScript_207FA6
- checkflag FLAG_0x095
- goto_eq SlateportCity_SternsShipyard_1F_EventScript_207FD9
- checkflag FLAG_0x094
- goto_eq SlateportCity_SternsShipyard_1F_EventScript_207FBA
+ 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_0x095, SlateportCity_SternsShipyard_1F_EventScript_207FD9
+ goto_if_set FLAG_0x094, SlateportCity_SternsShipyard_1F_EventScript_207FBA
msgbox SlateportCity_SternsShipyard_1F_Text_208008, MSGBOX_DEFAULT
applymovement 1, SlateportCity_SternsShipyard_1F_Movement_27259E
waitmovement 0
diff --git a/data/maps/SootopolisCity/scripts.inc b/data/maps/SootopolisCity/scripts.inc
index de6ca59db..ceff8f4e4 100644
--- a/data/maps/SootopolisCity/scripts.inc
+++ b/data/maps/SootopolisCity/scripts.inc
@@ -7,12 +7,9 @@ SootopolisCity_MapScripts:: @ 81E565C
.byte 0
SootopolisCity_MapScript1_1E5676: @ 81E5676
- checkflag FLAG_0x09E
- call_if 0, SootopolisCity_EventScript_1E56E5
- checkflag FLAG_0x081
- goto_if 0, SootopolisCity_EventScript_1E5692
- checkflag FLAG_0x09E
- call_if 0, SootopolisCity_EventScript_1E5693
+ call_if_unset FLAG_0x09E, SootopolisCity_EventScript_1E56E5
+ goto_if_unset FLAG_0x081, SootopolisCity_EventScript_1E5692
+ call_if_unset FLAG_0x09E, SootopolisCity_EventScript_1E5693
end
SootopolisCity_EventScript_1E5692:: @ 81E5692
@@ -37,31 +34,31 @@ SootopolisCity_EventScript_1E56E5:: @ 81E56E5
SootopolisCity_MapScript1_1E56EF: @ 81E56EF
setflag FLAG_VISITED_SOOTOPOLIS_CITY
compare VAR_0x405E, 1
- call_if 1, SootopolisCity_EventScript_1E5781
+ call_if_eq SootopolisCity_EventScript_1E5781
compare VAR_0x40CA, 1
- call_if 1, SootopolisCity_EventScript_1E5781
+ call_if_eq SootopolisCity_EventScript_1E5781
call SootopolisCity_EventScript_1E5805
call SootopolisCity_EventScript_1E57B2
compare VAR_0x405E, 1
- call_if 1, SootopolisCity_EventScript_1E5785
+ call_if_eq SootopolisCity_EventScript_1E5785
compare VAR_0x405E, 2
- call_if 1, SootopolisCity_EventScript_1E5785
+ call_if_eq SootopolisCity_EventScript_1E5785
compare VAR_0x405E, 3
- call_if 1, SootopolisCity_EventScript_1E5785
+ call_if_eq SootopolisCity_EventScript_1E5785
compare VAR_0x405E, 4
- call_if 1, SootopolisCity_EventScript_1E5785
+ call_if_eq SootopolisCity_EventScript_1E5785
compare VAR_0x405E, 5
- call_if 1, SootopolisCity_EventScript_1E5785
+ call_if_eq SootopolisCity_EventScript_1E5785
compare VAR_0x405E, 2
- call_if 1, SootopolisCity_EventScript_1E5842
+ call_if_eq SootopolisCity_EventScript_1E5842
compare VAR_0x405E, 3
- call_if 1, SootopolisCity_EventScript_1E5842
+ call_if_eq SootopolisCity_EventScript_1E5842
compare VAR_0x405E, 4
- call_if 1, SootopolisCity_EventScript_1E585B
+ call_if_eq SootopolisCity_EventScript_1E585B
compare VAR_0x405E, 5
- call_if 1, SootopolisCity_EventScript_1E5871
+ call_if_eq SootopolisCity_EventScript_1E5871
compare VAR_0x405E, 6
- call_if 1, SootopolisCity_EventScript_1E58D3
+ call_if_eq SootopolisCity_EventScript_1E58D3
end
SootopolisCity_EventScript_1E5781:: @ 81E5781
@@ -81,19 +78,19 @@ SootopolisCity_EventScript_1E5785:: @ 81E5785
SootopolisCity_EventScript_1E57B2:: @ 81E57B2
compare VAR_0x405E, 0
- goto_eq SootopolisCity_EventScript_1E5800
+ goto_if_eq SootopolisCity_EventScript_1E5800
compare VAR_0x405E, 6
- goto_if 4, SootopolisCity_EventScript_1E5800
+ goto_if_ge SootopolisCity_EventScript_1E5800
compare VAR_0x405E, 1
- goto_eq SootopolisCity_EventScript_1E5801
+ goto_if_eq SootopolisCity_EventScript_1E5801
compare VAR_0x405E, 2
- goto_eq SootopolisCity_EventScript_1E5801
+ goto_if_eq SootopolisCity_EventScript_1E5801
compare VAR_0x405E, 3
- goto_eq SootopolisCity_EventScript_1E5801
+ goto_if_eq SootopolisCity_EventScript_1E5801
compare VAR_0x405E, 4
- goto_eq SootopolisCity_EventScript_1E5801
+ goto_if_eq SootopolisCity_EventScript_1E5801
compare VAR_0x40CA, 1
- goto_if 3, SootopolisCity_EventScript_1E5801
+ goto_if_le SootopolisCity_EventScript_1E5801
return
SootopolisCity_EventScript_1E5800:: @ 81E5800
@@ -105,27 +102,26 @@ SootopolisCity_EventScript_1E5801:: @ 81E5801
SootopolisCity_EventScript_1E5805:: @ 81E5805
compare VAR_0x405E, 0
- goto_eq SootopolisCity_EventScript_1E583D
+ goto_if_eq SootopolisCity_EventScript_1E583D
compare VAR_0x405E, 6
- goto_if 4, SootopolisCity_EventScript_1E583D
+ goto_if_ge SootopolisCity_EventScript_1E583D
compare VAR_0x405E, 1
- goto_eq SootopolisCity_EventScript_1E583E
+ goto_if_eq SootopolisCity_EventScript_1E583E
compare VAR_0x40CA, 1
- goto_eq SootopolisCity_EventScript_1E583E
+ goto_if_eq SootopolisCity_EventScript_1E583E
compare VAR_0x40CA, 1
- goto_if 3, SootopolisCity_EventScript_27207A
+ goto_if_le SootopolisCity_EventScript_27207A
return
SootopolisCity_EventScript_1E583D:: @ 81E583D
return
SootopolisCity_EventScript_1E583E:: @ 81E583E
- setweather 13
+ setweather WEATHER_RAIN_HEAVY
return
SootopolisCity_EventScript_1E5842:: @ 81E5842
- checkflag FLAG_0x133
- goto_eq SootopolisCity_EventScript_1E584C
+ goto_if_set FLAG_0x133, SootopolisCity_EventScript_1E584C
return
SootopolisCity_EventScript_1E584C:: @ 81E584C
@@ -145,11 +141,11 @@ SootopolisCity_EventScript_1E5871:: @ 81E5871
setobjectxyperm 16, 33, 35
setobjectxyperm 17, 34, 35
compare VAR_0x40D8, 0
- call_if 1, SootopolisCity_EventScript_1E58AF
+ call_if_eq SootopolisCity_EventScript_1E58AF
compare VAR_0x40D8, 1
- call_if 1, SootopolisCity_EventScript_1E58BB
+ call_if_eq SootopolisCity_EventScript_1E58BB
compare VAR_0x40D8, 2
- call_if 1, SootopolisCity_EventScript_1E58C7
+ call_if_eq SootopolisCity_EventScript_1E58C7
return
SootopolisCity_EventScript_1E58AF:: @ 81E58AF
@@ -177,17 +173,17 @@ SootopolisCity_MapScript2_1E58DB: @ 81E58DB
SootopolisCity_EventScript_1E58E5:: @ 81E58E5
compare VAR_0x40CA, 1
- call_if 1, SootopolisCity_EventScript_1E58FC
+ call_if_eq SootopolisCity_EventScript_1E58FC
compare VAR_0x40CA, 2
- call_if 1, SootopolisCity_EventScript_1E5901
+ call_if_eq SootopolisCity_EventScript_1E5901
end
SootopolisCity_EventScript_1E58FC:: @ 81E58FC
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
return
SootopolisCity_EventScript_1E5901:: @ 81E5901
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
setvar VAR_0x40CA, 3
return
@@ -204,21 +200,21 @@ SootopolisCity_EventScript_1E5926:: @ 81E5926
lockall
special StorePlayerCoordsInVars
compare VAR_0x8004, 43
- goto_if 5, SootopolisCity_EventScript_1E5A82
+ goto_if_ne SootopolisCity_EventScript_1E5A82
compare VAR_0x8005, 32
- goto_if 5, SootopolisCity_EventScript_1E5A82
+ goto_if_ne SootopolisCity_EventScript_1E5A82
goto SootopolisCity_EventScript_1E5946
end
SootopolisCity_EventScript_1E5946:: @ 81E5946
delay 60
- special SpawnScriptEventObject
- applymovement 127, SootopolisCity_Movement_1E5A68
+ special SpawnCameraObject
+ applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5A68
waitmovement 0
- special RemoveScriptEventObject
+ special RemoveCameraObject
delay 60
fadescreenspeed 1, 8
- setweather 15
+ setweather WEATHER_15
doweather
setvar VAR_0x8004, 0
special sub_813B7D8
@@ -269,12 +265,12 @@ SootopolisCity_EventScript_1E5946:: @ 81E5946
applymovement 10, SootopolisCity_Movement_1E5BCF
applymovement 9, SootopolisCity_Movement_1E5BF0
waitmovement 0
- special SpawnScriptEventObject
+ special SpawnCameraObject
applymovement 10, SootopolisCity_Movement_1E5BD6
applymovement 9, SootopolisCity_Movement_1E5BF7
- applymovement 127, SootopolisCity_Movement_1E5A75
+ applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5A75
waitmovement 0
- special RemoveScriptEventObject
+ special RemoveCameraObject
setvar VAR_0x405E, 2
clearflag FLAG_SPECIAL_FLAG_0x4000
releaseall
@@ -312,13 +308,13 @@ SootopolisCity_Movement_1E5A75: @ 81E5A75
SootopolisCity_EventScript_1E5A82:: @ 81E5A82
delay 60
- special SpawnScriptEventObject
- applymovement 127, SootopolisCity_Movement_1E5BA4
+ special SpawnCameraObject
+ applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5BA4
waitmovement 0
- special RemoveScriptEventObject
+ special RemoveCameraObject
delay 60
fadescreenspeed 1, 8
- setweather 15
+ setweather WEATHER_15
doweather
setvar VAR_0x8004, 0
special sub_813B7D8
@@ -369,12 +365,12 @@ SootopolisCity_EventScript_1E5A82:: @ 81E5A82
applymovement 10, SootopolisCity_Movement_1E5BCF
applymovement 9, SootopolisCity_Movement_1E5BF0
waitmovement 0
- special SpawnScriptEventObject
+ special SpawnCameraObject
applymovement 10, SootopolisCity_Movement_1E5BD6
applymovement 9, SootopolisCity_Movement_1E5BF7
- applymovement 127, SootopolisCity_Movement_1E5BAE
+ applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5BAE
waitmovement 0
- special RemoveScriptEventObject
+ special RemoveCameraObject
setvar VAR_0x405E, 2
clearflag FLAG_SPECIAL_FLAG_0x4000
releaseall
@@ -494,18 +490,18 @@ SootopolisCity_EventScript_1E5BFE:: @ 81E5BFE
lockall
special StorePlayerCoordsInVars
compare VAR_0x8004, 43
- goto_if 5, SootopolisCity_EventScript_1E5CCE
+ goto_if_ne SootopolisCity_EventScript_1E5CCE
compare VAR_0x8005, 32
- goto_if 5, SootopolisCity_EventScript_1E5CCE
+ goto_if_ne SootopolisCity_EventScript_1E5CCE
goto SootopolisCity_EventScript_1E5C1E
end
SootopolisCity_EventScript_1E5C1E:: @ 81E5C1E
delay 60
- special SpawnScriptEventObject
- applymovement 127, SootopolisCity_Movement_1E5A68
+ special SpawnCameraObject
+ applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5A68
waitmovement 0
- special RemoveScriptEventObject
+ special RemoveCameraObject
delay 60
fadescreenspeed 1, 8
call SootopolisCity_EventScript_1E5D82
@@ -516,8 +512,8 @@ SootopolisCity_EventScript_1E5C1E:: @ 81E5C1E
special sub_813B7D8
waitstate
playse SE_T_KAMI
- special SpawnScriptEventObject
- applymovement 127, SootopolisCity_Movement_1E5E63
+ special SpawnCameraObject
+ applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5E63
waitmovement 0
waitse
playmoncry SPECIES_RAYQUAZA, 2
@@ -536,7 +532,7 @@ SootopolisCity_EventScript_1E5C1E:: @ 81E5C1E
special sub_8139560
waitstate
waitmoncry
- setweather 0
+ setweather WEATHER_NONE
doweather
applymovement 11, SootopolisCity_Movement_1E5E5B
waitmovement 0
@@ -555,10 +551,10 @@ SootopolisCity_EventScript_1E5C1E:: @ 81E5C1E
SootopolisCity_EventScript_1E5CCE:: @ 81E5CCE
delay 60
- special SpawnScriptEventObject
- applymovement 127, SootopolisCity_Movement_1E5BA4
+ special SpawnCameraObject
+ applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5BA4
waitmovement 0
- special RemoveScriptEventObject
+ special RemoveCameraObject
delay 60
fadescreenspeed 1, 8
call SootopolisCity_EventScript_1E5D82
@@ -568,9 +564,9 @@ SootopolisCity_EventScript_1E5CCE:: @ 81E5CCE
setvar VAR_0x8004, 1
special sub_813B7D8
waitstate
- special SpawnScriptEventObject
- applymovement 127, SootopolisCity_Movement_1E5E63
- applymovement 255, SootopolisCity_Movement_1E5E68
+ special SpawnCameraObject
+ applymovement EVENT_OBJ_ID_CAMERA, SootopolisCity_Movement_1E5E63
+ applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_1E5E68
waitmovement 0
waitse
playmoncry SPECIES_RAYQUAZA, 2
@@ -589,7 +585,7 @@ SootopolisCity_EventScript_1E5CCE:: @ 81E5CCE
special sub_8139560
waitstate
waitmoncry
- setweather 0
+ setweather WEATHER_NONE
doweather
applymovement 11, SootopolisCity_Movement_1E5E5B
waitmovement 0
@@ -699,11 +695,11 @@ SootopolisCity_EventScript_1E5E8D:: @ 81E5E8D
lock
faceplayer
compare VAR_0x405E, 6
- goto_if 4, SootopolisCity_EventScript_1E5EC4
+ goto_if_ge SootopolisCity_EventScript_1E5EC4
compare VAR_0x405E, 5
- goto_eq SootopolisCity_EventScript_1E5ECE
+ goto_if_eq SootopolisCity_EventScript_1E5ECE
compare VAR_0x405E, 2
- goto_if 4, SootopolisCity_EventScript_1E5EBA
+ goto_if_ge SootopolisCity_EventScript_1E5EBA
msgbox SootopolisCity_Text_1E6D77, MSGBOX_DEFAULT
release
end
@@ -727,11 +723,11 @@ SootopolisCity_EventScript_1E5ED8:: @ 81E5ED8
lock
faceplayer
compare VAR_0x405E, 1
- goto_if 3, SootopolisCity_EventScript_1E5F1B
+ goto_if_le SootopolisCity_EventScript_1E5F1B
compare VAR_0x405E, 6
- goto_if 4, SootopolisCity_EventScript_1E5F1B
+ goto_if_ge SootopolisCity_EventScript_1E5F1B
compare VAR_0x405E, 5
- goto_eq SootopolisCity_EventScript_1E5F10
+ goto_if_eq SootopolisCity_EventScript_1E5F10
msgbox SootopolisCity_Text_1E6BFF, MSGBOX_DEFAULT
closemessage
applymovement 3, SootopolisCity_Movement_2725A2
@@ -748,28 +744,27 @@ SootopolisCity_EventScript_1E5F10:: @ 81E5F10
SootopolisCity_EventScript_1E5F1B:: @ 81E5F1B
dodailyevents
special GetPlayerBigGuyGirlString
- checkflag FLAG_0x932
- goto_eq SootopolisCity_EventScript_1E5FBB
+ goto_if_set FLAG_0x932, 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_eq SootopolisCity_EventScript_272054
+ goto_if_eq SootopolisCity_EventScript_272054
setflag FLAG_0x932
msgbox SootopolisCity_Text_2A7C7C, MSGBOX_DEFAULT
random 2
compare VAR_RESULT, 0
- goto_eq SootopolisCity_EventScript_1E5F79
+ goto_if_eq SootopolisCity_EventScript_1E5F79
compare VAR_RESULT, 1
- goto_eq SootopolisCity_EventScript_1E5F9A
+ goto_if_eq SootopolisCity_EventScript_1E5F9A
end
SootopolisCity_EventScript_1E5F79:: @ 81E5F79
giveitem_std ITEM_FIGY_BERRY
compare VAR_RESULT, 0
- goto_eq SootopolisCity_EventScript_272054
+ goto_if_eq SootopolisCity_EventScript_272054
msgbox SootopolisCity_Text_2A7CB7, MSGBOX_DEFAULT
release
end
@@ -777,7 +772,7 @@ SootopolisCity_EventScript_1E5F79:: @ 81E5F79
SootopolisCity_EventScript_1E5F9A:: @ 81E5F9A
giveitem_std ITEM_IAPAPA_BERRY
compare VAR_RESULT, 0
- goto_eq SootopolisCity_EventScript_272054
+ goto_if_eq SootopolisCity_EventScript_272054
msgbox SootopolisCity_Text_2A7CB7, MSGBOX_DEFAULT
release
end
@@ -785,7 +780,7 @@ SootopolisCity_EventScript_1E5F9A:: @ 81E5F9A
SootopolisCity_EventScript_1E5FBB:: @ 81E5FBB
msgbox SootopolisCity_Text_2A7CEC, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq SootopolisCity_EventScript_1E5FD8
+ goto_if_eq SootopolisCity_EventScript_1E5FD8
msgbox SootopolisCity_Text_2A7DD2, MSGBOX_DEFAULT
release
end
@@ -800,7 +795,7 @@ SootopolisCity_EventScript_1E5FE2:: @ 81E5FE2
applymovement 2, SootopolisCity_Movement_27259E
waitmovement 0
compare VAR_0x405E, 5
- goto_eq SootopolisCity_EventScript_1E600D
+ goto_if_eq SootopolisCity_EventScript_1E600D
msgbox SootopolisCity_Text_1E71A1, MSGBOX_DEFAULT
closemessage
applymovement 2, SootopolisCity_Movement_2725A2
@@ -817,7 +812,7 @@ SootopolisCity_EventScript_1E6017:: @ 81E6017
lock
faceplayer
compare VAR_0x405E, 6
- goto_if 4, SootopolisCity_EventScript_1E602E
+ goto_if_ge SootopolisCity_EventScript_1E602E
msgbox SootopolisCity_Text_1E6CCA, MSGBOX_DEFAULT
release
end
@@ -831,11 +826,11 @@ SootopolisCity_EventScript_1E6038:: @ 81E6038
lock
faceplayer
compare VAR_0x405E, 6
- goto_if 4, SootopolisCity_EventScript_1E607A
+ goto_if_ge SootopolisCity_EventScript_1E607A
compare VAR_0x405E, 5
- goto_eq SootopolisCity_EventScript_1E6084
+ goto_if_eq SootopolisCity_EventScript_1E6084
compare VAR_0x405E, 2
- goto_if 4, SootopolisCity_EventScript_1E6065
+ goto_if_ge SootopolisCity_EventScript_1E6065
msgbox SootopolisCity_Text_1E6F90, MSGBOX_DEFAULT
release
end
@@ -863,11 +858,11 @@ SootopolisCity_EventScript_1E608E:: @ 81E608E
applymovement 4, SootopolisCity_Movement_27259E
waitmovement 0
compare VAR_0x405E, 5
- goto_eq SootopolisCity_EventScript_1E60D9
+ goto_if_eq SootopolisCity_EventScript_1E60D9
compare VAR_0x405E, 6
- goto_if 4, SootopolisCity_EventScript_1E60CF
+ goto_if_ge SootopolisCity_EventScript_1E60CF
compare VAR_0x405E, 1
- goto_if 3, SootopolisCity_EventScript_1E60CF
+ goto_if_le SootopolisCity_EventScript_1E60CF
msgbox SootopolisCity_Text_1E690B, MSGBOX_DEFAULT
closemessage
applymovement 4, SootopolisCity_Movement_2725A2
@@ -890,13 +885,12 @@ SootopolisCity_EventScript_1E60E3:: @ 81E60E3
applymovement 5, SootopolisCity_Movement_27259E
waitmovement 0
compare VAR_0x405E, 5
- goto_eq SootopolisCity_EventScript_1E612D
- checkflag FLAG_SYS_GAME_CLEAR
- goto_eq SootopolisCity_EventScript_1E6137
+ goto_if_eq SootopolisCity_EventScript_1E612D
+ goto_if_set FLAG_SYS_GAME_CLEAR, SootopolisCity_EventScript_1E6137
compare VAR_0x405E, 6
- goto_if 4, SootopolisCity_EventScript_1E6141
+ goto_if_ge SootopolisCity_EventScript_1E6141
compare VAR_0x405E, 1
- goto_if 3, SootopolisCity_EventScript_1E6141
+ goto_if_le SootopolisCity_EventScript_1E6141
msgbox SootopolisCity_Text_1E6692, MSGBOX_DEFAULT
closemessage
applymovement 5, SootopolisCity_Movement_2725A2
@@ -935,16 +929,14 @@ SootopolisCity_EventScript_1E6166:: @ 81E6166
lockall
applymovement 7, SootopolisCity_Movement_27259E
waitmovement 0
- checkflag FLAG_0x133
- call_if 0, SootopolisCity_EventScript_1E61CC
+ call_if_unset FLAG_0x133, SootopolisCity_EventScript_1E61CC
compare VAR_0x405E, 2
- goto_eq SootopolisCity_EventScript_1E61AE
+ goto_if_eq SootopolisCity_EventScript_1E61AE
compare VAR_0x405E, 3
- goto_eq SootopolisCity_EventScript_1E61C2
+ goto_if_eq SootopolisCity_EventScript_1E61C2
compare VAR_0x405E, 4
- goto_eq SootopolisCity_EventScript_1E61C2
- checkflag FLAG_0x09E
- goto_eq SootopolisCity_EventScript_1E61B8
+ goto_if_eq SootopolisCity_EventScript_1E61C2
+ goto_if_set FLAG_0x09E, SootopolisCity_EventScript_1E61B8
msgbox SootopolisCity_Text_1E78E5, MSGBOX_DEFAULT
releaseall
end
@@ -968,24 +960,24 @@ SootopolisCity_EventScript_1E61CC:: @ 81E61CC
msgbox SootopolisCity_Text_1E75CB, MSGBOX_DEFAULT
closemessage
compare VAR_FACING, 3
- call_if 1, SootopolisCity_EventScript_1E6243
+ call_if_eq SootopolisCity_EventScript_1E6243
compare VAR_FACING, 2
- call_if 1, SootopolisCity_EventScript_1E6255
+ call_if_eq SootopolisCity_EventScript_1E6255
msgbox SootopolisCity_Text_1E7737, MSGBOX_DEFAULT
closemessage
applymovement 7, SootopolisCity_Movement_1E62D4
- applymovement 255, SootopolisCity_Movement_1E630E
+ applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_1E630E
waitmovement 0
delay 120
applymovement 1, SootopolisCity_Movement_1E6341
waitmovement 0
applymovement 7, SootopolisCity_Movement_1E6344
- applymovement 255, SootopolisCity_Movement_1E634F
+ applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_1E634F
waitmovement 0
msgbox SootopolisCity_Text_1E77F0, MSGBOX_DEFAULT
closemessage
setflag FLAG_0x133
- applymovement 255, SootopolisCity_Movement_1E635A
+ applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_1E635A
waitmovement 0
warp MAP_CAVE_OF_ORIGIN_ENTRANCE, 255, 9, 20
waitstate
@@ -993,13 +985,13 @@ SootopolisCity_EventScript_1E61CC:: @ 81E61CC
SootopolisCity_EventScript_1E6243:: @ 81E6243
applymovement 7, SootopolisCity_Movement_1E6267
- applymovement 255, SootopolisCity_Movement_1E628C
+ applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_1E628C
waitmovement 0
return
SootopolisCity_EventScript_1E6255:: @ 81E6255
applymovement 7, SootopolisCity_Movement_1E6267
- applymovement 255, SootopolisCity_Movement_1E62B0
+ applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Movement_1E62B0
waitmovement 0
return
@@ -1272,7 +1264,7 @@ SootopolisCity_EventScript_1E635D:: @ 81E635D
applymovement 15, SootopolisCity_Movement_27259E
waitmovement 0
compare VAR_0x405E, 5
- goto_eq SootopolisCity_EventScript_1E6388
+ goto_if_eq SootopolisCity_EventScript_1E6388
msgbox SootopolisCity_Text_1E67DC, MSGBOX_DEFAULT
closemessage
applymovement 15, SootopolisCity_Movement_2725A2
@@ -1289,7 +1281,7 @@ SootopolisCity_EventScript_1E6388:: @ 81E6388
SootopolisCity_EventScript_1E6393:: @ 81E6393
lockall
compare VAR_0x405E, 5
- goto_eq SootopolisCity_EventScript_1E63C7
+ goto_if_eq SootopolisCity_EventScript_1E63C7
msgbox SootopolisCity_Text_1E6936, MSGBOX_DEFAULT
closemessage
applymovement 14, SootopolisCity_Movement_27259E
@@ -1313,7 +1305,7 @@ SootopolisCity_EventScript_1E63DB:: @ 81E63DB
applymovement 13, SootopolisCity_Movement_27259E
waitmovement 0
compare VAR_0x405E, 5
- goto_eq SootopolisCity_EventScript_1E6406
+ goto_if_eq SootopolisCity_EventScript_1E6406
msgbox SootopolisCity_Text_1E6C7C, MSGBOX_DEFAULT
closemessage
applymovement 13, SootopolisCity_Movement_2725A2
@@ -1332,7 +1324,7 @@ SootopolisCity_EventScript_1E6411:: @ 81E6411
applymovement 12, SootopolisCity_Movement_27259E
waitmovement 0
compare VAR_0x405E, 5
- goto_eq SootopolisCity_EventScript_1E643C
+ goto_if_eq SootopolisCity_EventScript_1E643C
msgbox SootopolisCity_Text_1E6A50, MSGBOX_DEFAULT
closemessage
applymovement 12, SootopolisCity_Movement_2725A2
@@ -1349,11 +1341,9 @@ SootopolisCity_EventScript_1E6446:: @ 81E6446
lock
faceplayer
compare VAR_0x405E, 4
- goto_eq SootopolisCity_EventScript_1E64D8
- checkflag FLAG_0x138
- goto_eq SootopolisCity_EventScript_1E64E2
- checkflag FLAG_0x09E
- goto_eq SootopolisCity_EventScript_1E646F
+ goto_if_eq SootopolisCity_EventScript_1E64D8
+ goto_if_set FLAG_0x138, SootopolisCity_EventScript_1E64E2
+ goto_if_set FLAG_0x09E, SootopolisCity_EventScript_1E646F
msgbox SootopolisCity_Text_1E7A3E, MSGBOX_DEFAULT
release
end
@@ -1365,11 +1355,11 @@ SootopolisCity_EventScript_1E646F:: @ 81E646F
msgbox SootopolisCity_Text_1E7B86, MSGBOX_DEFAULT
closemessage
compare VAR_FACING, 2
- call_if 1, SootopolisCity_EventScript_1E64B2
+ call_if_eq SootopolisCity_EventScript_1E64B2
compare VAR_FACING, 4
- call_if 1, SootopolisCity_EventScript_1E64B2
+ call_if_eq SootopolisCity_EventScript_1E64B2
compare VAR_FACING, 3
- call_if 1, SootopolisCity_EventScript_1E64C5
+ call_if_eq SootopolisCity_EventScript_1E64C5
release
end
@@ -1410,7 +1400,7 @@ SootopolisCity_Movement_1E64EF: @ 81E64EF
SootopolisCity_EventScript_1E64F2:: @ 81E64F2
lockall
compare VAR_0x405E, 5
- goto_eq SootopolisCity_EventScript_1E6509
+ goto_if_eq SootopolisCity_EventScript_1E6509
msgbox SootopolisCity_Text_1E72DB, MSGBOX_DEFAULT
closemessage
releaseall
@@ -1419,15 +1409,14 @@ SootopolisCity_EventScript_1E64F2:: @ 81E64F2
SootopolisCity_EventScript_1E6509:: @ 81E6509
msgbox SootopolisCity_Text_1E737E, MSGBOX_DEFAULT
setflag FLAG_0x135
- checkflag FLAG_0x134
- goto_eq SootopolisCity_EventScript_1E654C
+ goto_if_set FLAG_0x134, SootopolisCity_EventScript_1E654C
releaseall
end
SootopolisCity_EventScript_1E651F:: @ 81E651F
lockall
compare VAR_0x405E, 5
- goto_eq SootopolisCity_EventScript_1E6536
+ goto_if_eq SootopolisCity_EventScript_1E6536
msgbox SootopolisCity_Text_1E7460, MSGBOX_DEFAULT
closemessage
releaseall
@@ -1436,8 +1425,7 @@ SootopolisCity_EventScript_1E651F:: @ 81E651F
SootopolisCity_EventScript_1E6536:: @ 81E6536
msgbox SootopolisCity_Text_1E74F6, MSGBOX_DEFAULT
setflag FLAG_0x134
- checkflag FLAG_0x135
- goto_eq SootopolisCity_EventScript_1E654C
+ goto_if_set FLAG_0x135, SootopolisCity_EventScript_1E654C
releaseall
end
diff --git a/data/maps/SootopolisCity_Gym_1F/scripts.inc b/data/maps/SootopolisCity_Gym_1F/scripts.inc
index 570f936b5..e4f062fe3 100644
--- a/data/maps/SootopolisCity_Gym_1F/scripts.inc
+++ b/data/maps/SootopolisCity_Gym_1F/scripts.inc
@@ -20,11 +20,11 @@ SootopolisCity_Gym_1F_MapScript1_224E6A: @ 8224E6A
SootopolisCity_Gym_1F_EventScript_224E73:: @ 8224E73
compare VAR_ICE_STEP_COUNT, 8
- goto_if 0, SootopolisCity_Gym_1F_EventScript_224ECA
+ goto_if_lt SootopolisCity_Gym_1F_EventScript_224ECA
compare VAR_ICE_STEP_COUNT, 28
- goto_if 0, SootopolisCity_Gym_1F_EventScript_224EB8
+ goto_if_lt SootopolisCity_Gym_1F_EventScript_224EB8
compare VAR_ICE_STEP_COUNT, 67
- goto_if 0, SootopolisCity_Gym_1F_EventScript_224EA6
+ goto_if_lt SootopolisCity_Gym_1F_EventScript_224EA6
setmetatile 8, 4, 519, 0
setmetatile 8, 5, 519, 0
@@ -73,7 +73,7 @@ SootopolisCity_Gym_1F_EventScript_224F15:: @ 8224F15
SootopolisCity_Gym_1F_EventScript_224F29:: @ 8224F29
lockall
delay 20
- applymovement 255, SootopolisCity_Gym_1F_Movement_224F42
+ applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_Gym_1F_Movement_224F42
waitmovement 0
playse SE_RU_HYUU
delay 60
@@ -89,11 +89,9 @@ 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
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq SootopolisCity_Gym_1F_EventScript_225025
- checkflag FLAG_0x0AC
- goto_if 0, SootopolisCity_Gym_1F_EventScript_224FF7
- checkflag FLAG_BADGE06_GET
- goto_if 0, SootopolisCity_Gym_1F_EventScript_22501B
+ goto_if_eq SootopolisCity_Gym_1F_EventScript_225025
+ goto_if_unset FLAG_0x0AC, SootopolisCity_Gym_1F_EventScript_224FF7
+ goto_if_unset FLAG_BADGE06_GET, SootopolisCity_Gym_1F_EventScript_22501B
msgbox SootopolisCity_Gym_1F_Text_225778, MSGBOX_DEFAULT
release
end
@@ -127,7 +125,7 @@ SootopolisCity_Gym_1F_EventScript_224F82:: @ 8224F82
SootopolisCity_Gym_1F_EventScript_224FD4:: @ 8224FD4
giveitem_std ITEM_TM03
compare VAR_RESULT, 0
- goto_eq SootopolisCity_Gym_1F_EventScript_27205E
+ goto_if_eq SootopolisCity_Gym_1F_EventScript_27205E
msgbox SootopolisCity_Gym_1F_Text_2256C1, MSGBOX_DEFAULT
setflag FLAG_0x0AC
return
@@ -135,7 +133,7 @@ SootopolisCity_Gym_1F_EventScript_224FD4:: @ 8224FD4
SootopolisCity_Gym_1F_EventScript_224FF7:: @ 8224FF7
giveitem_std ITEM_TM03
compare VAR_RESULT, 0
- goto_eq SootopolisCity_Gym_1F_EventScript_272054
+ goto_if_eq SootopolisCity_Gym_1F_EventScript_272054
msgbox SootopolisCity_Gym_1F_Text_2256C1, MSGBOX_DEFAULT
setflag FLAG_0x0AC
release
@@ -154,8 +152,7 @@ SootopolisCity_Gym_1F_EventScript_225025:: @ 8225025
SootopolisCity_Gym_1F_EventScript_225040:: @ 8225040
lock
faceplayer
- checkflag FLAG_0x4F7
- goto_eq SootopolisCity_Gym_1F_EventScript_225055
+ goto_if_set FLAG_0x4F7, SootopolisCity_Gym_1F_EventScript_225055
msgbox SootopolisCity_Gym_1F_Text_225093, MSGBOX_DEFAULT
release
end
@@ -167,15 +164,13 @@ SootopolisCity_Gym_1F_EventScript_225055:: @ 8225055
SootopolisCity_Gym_1F_EventScript_22505F:: @ 822505F
lockall
- checkflag FLAG_BADGE08_GET
- goto_eq SootopolisCity_Gym_1F_EventScript_22507F
+ goto_if_set FLAG_BADGE08_GET, SootopolisCity_Gym_1F_EventScript_22507F
goto SootopolisCity_Gym_1F_EventScript_225089
end
SootopolisCity_Gym_1F_EventScript_22506F:: @ 822506F
lockall
- checkflag FLAG_BADGE08_GET
- goto_eq SootopolisCity_Gym_1F_EventScript_22507F
+ goto_if_set FLAG_BADGE08_GET, SootopolisCity_Gym_1F_EventScript_22507F
goto SootopolisCity_Gym_1F_EventScript_225089
end
diff --git a/data/maps/SootopolisCity_House1/scripts.inc b/data/maps/SootopolisCity_House1/scripts.inc
index 3a41c70eb..5b59c3033 100644
--- a/data/maps/SootopolisCity_House1/scripts.inc
+++ b/data/maps/SootopolisCity_House1/scripts.inc
@@ -4,12 +4,11 @@ SootopolisCity_House1_MapScripts:: @ 822694C
SootopolisCity_House1_EventScript_22694D:: @ 822694D
lock
faceplayer
- checkflag FLAG_0x079
- goto_eq SootopolisCity_House1_EventScript_226984
+ goto_if_set FLAG_0x079, SootopolisCity_House1_EventScript_226984
msgbox SootopolisCity_House1_Text_2269A1, MSGBOX_DEFAULT
giveitem_std ITEM_TM31
compare VAR_RESULT, 0
- goto_eq SootopolisCity_House1_EventScript_272054
+ goto_if_eq SootopolisCity_House1_EventScript_272054
setflag FLAG_0x079
msgbox SootopolisCity_House1_Text_226A13, MSGBOX_DEFAULT
release
diff --git a/data/maps/SootopolisCity_House2/scripts.inc b/data/maps/SootopolisCity_House2/scripts.inc
index 676ec4ed2..9e45a09bf 100644
--- a/data/maps/SootopolisCity_House2/scripts.inc
+++ b/data/maps/SootopolisCity_House2/scripts.inc
@@ -6,9 +6,9 @@ SootopolisCity_House2_EventScript_226A77:: @ 8226A77
faceplayer
msgbox SootopolisCity_House2_Text_226AAB, MSGBOX_YESNO
compare VAR_RESULT, 1
- call_if 1, SootopolisCity_House2_EventScript_226A99
+ call_if_eq SootopolisCity_House2_EventScript_226A99
compare VAR_RESULT, 0
- call_if 1, SootopolisCity_House2_EventScript_226AA2
+ call_if_eq SootopolisCity_House2_EventScript_226AA2
release
end
diff --git a/data/maps/SootopolisCity_House3/scripts.inc b/data/maps/SootopolisCity_House3/scripts.inc
index ec8ad87ed..d7439f18d 100644
--- a/data/maps/SootopolisCity_House3/scripts.inc
+++ b/data/maps/SootopolisCity_House3/scripts.inc
@@ -6,7 +6,7 @@ SootopolisCity_House3_EventScript_226B72:: @ 8226B72
faceplayer
msgbox SootopolisCity_House3_Text_226BA4, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq SootopolisCity_House3_EventScript_226B91
+ goto_if_eq SootopolisCity_House3_EventScript_226B91
msgbox SootopolisCity_House3_Text_226C44, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/SootopolisCity_House6/scripts.inc b/data/maps/SootopolisCity_House6/scripts.inc
index dbdb1cbae..499c01893 100644
--- a/data/maps/SootopolisCity_House6/scripts.inc
+++ b/data/maps/SootopolisCity_House6/scripts.inc
@@ -4,15 +4,14 @@ SootopolisCity_House6_MapScripts:: @ 8226F5B
SootopolisCity_House6_EventScript_226F5C:: @ 8226F5C
lock
faceplayer
- checkflag FLAG_0x0F5
- goto_eq SootopolisCity_House6_EventScript_226FA3
+ goto_if_set FLAG_0x0F5, SootopolisCity_House6_EventScript_226FA3
msgbox SootopolisCity_House6_Text_226FC3, MSGBOX_YESNO
compare VAR_RESULT, 0
- call_if 1, SootopolisCity_House6_EventScript_226F99
+ call_if_eq SootopolisCity_House6_EventScript_226F99
msgbox SootopolisCity_House6_Text_227034, MSGBOX_DEFAULT
givedecoration_std 117
compare VAR_RESULT, 0
- goto_eq SootopolisCity_House6_EventScript_226FAD
+ goto_if_eq SootopolisCity_House6_EventScript_226FAD
setflag FLAG_0x0F5
release
end
diff --git a/data/maps/SootopolisCity_LotadAndSeedotHouse/scripts.inc b/data/maps/SootopolisCity_LotadAndSeedotHouse/scripts.inc
index b8e037ce3..17debe321 100644
--- a/data/maps/SootopolisCity_LotadAndSeedotHouse/scripts.inc
+++ b/data/maps/SootopolisCity_LotadAndSeedotHouse/scripts.inc
@@ -10,14 +10,14 @@ SootopolisCity_LotadAndSeedotHouse_EventScript_22722B:: @ 822722B
waitstate
copyvar VAR_RESULT, VAR_0x8004
compare VAR_RESULT, 255
- goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227272
+ goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227272
special CompareSeedotSize
compare VAR_RESULT, 1
- goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_22727C
+ goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_22727C
compare VAR_RESULT, 2
- goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227286
+ goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227286
compare VAR_RESULT, 3
- goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227290
+ goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227290
release
end
@@ -40,7 +40,7 @@ SootopolisCity_LotadAndSeedotHouse_EventScript_227290:: @ 8227290
msgbox SootopolisCity_LotadAndSeedotHouse_Text_227480, MSGBOX_DEFAULT
giveitem_std ITEM_ELIXIR
compare VAR_RESULT, 0
- goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_2272B2
+ goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_2272B2
closemessage
release
end
@@ -59,14 +59,14 @@ SootopolisCity_LotadAndSeedotHouse_EventScript_2272BC:: @ 82272BC
waitstate
copyvar VAR_RESULT, VAR_0x8004
compare VAR_RESULT, 255
- goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227303
+ goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227303
special CompareLotadSize
compare VAR_RESULT, 1
- goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_22730D
+ goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_22730D
compare VAR_RESULT, 2
- goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227317
+ goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227317
compare VAR_RESULT, 3
- goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227321
+ goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227321
release
end
@@ -89,7 +89,7 @@ SootopolisCity_LotadAndSeedotHouse_EventScript_227321:: @ 8227321
msgbox SootopolisCity_LotadAndSeedotHouse_Text_22776C, MSGBOX_DEFAULT
giveitem_std ITEM_ELIXIR
compare VAR_RESULT, 0
- goto_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227343
+ goto_if_eq SootopolisCity_LotadAndSeedotHouse_EventScript_227343
closemessage
release
end
diff --git a/data/maps/SootopolisCity_Mart/scripts.inc b/data/maps/SootopolisCity_Mart/scripts.inc
index 6e71ce5e8..94f0a8e9f 100644
--- a/data/maps/SootopolisCity_Mart/scripts.inc
+++ b/data/maps/SootopolisCity_Mart/scripts.inc
@@ -29,9 +29,8 @@ SootopolisCity_Mart_EventScript_2267C2:: @ 82267C2
lock
faceplayer
compare VAR_0x40CA, 2
- goto_if 4, SootopolisCity_Mart_EventScript_2267E2
- checkflag FLAG_0x081
- goto_if 0, SootopolisCity_Mart_EventScript_2267E2
+ goto_if_ge SootopolisCity_Mart_EventScript_2267E2
+ goto_if_unset FLAG_0x081, SootopolisCity_Mart_EventScript_2267E2
msgbox SootopolisCity_Mart_Text_22685D, MSGBOX_DEFAULT
release
end
@@ -45,9 +44,8 @@ SootopolisCity_Mart_EventScript_2267EC:: @ 82267EC
lock
faceplayer
compare VAR_0x40CA, 2
- goto_if 4, SootopolisCity_Mart_EventScript_22680C
- checkflag FLAG_0x081
- goto_if 0, SootopolisCity_Mart_EventScript_22680C
+ goto_if_ge SootopolisCity_Mart_EventScript_22680C
+ goto_if_unset FLAG_0x081, SootopolisCity_Mart_EventScript_22680C
msgbox SootopolisCity_Mart_Text_226928, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc b/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc
index a2073d3f7..18b573fbd 100644
--- a/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc
+++ b/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc
@@ -7,9 +7,9 @@ SootopolisCity_MysteryEventsHouse_1F_MapScript1_22795E: @ 822795E
setvar VAR_0x8004, 16
special CallFrontierUtilFunc
compare VAR_RESULT, 0
- call_if 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_22797D
+ call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_22797D
compare VAR_0x40C0, 0
- call_if 5, SootopolisCity_MysteryEventsHouse_1F_EventScript_227991
+ call_if_ne SootopolisCity_MysteryEventsHouse_1F_EventScript_227991
end
SootopolisCity_MysteryEventsHouse_1F_EventScript_22797D:: @ 822797D
@@ -32,19 +32,19 @@ SootopolisCity_MysteryEventsHouse_1F_MapScript2_22799D: @ 822799D
SootopolisCity_MysteryEventsHouse_1F_EventScript_2279B7:: @ 82279B7
lockall
- applymovement 255, SootopolisCity_MysteryEventsHouse_1F_Movement_227A1F
+ applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_227A1F
waitmovement 0
applymovement 1, SootopolisCity_MysteryEventsHouse_1F_Movement_227A21
waitmovement 0
moveobjectoffscreen 1
- applymovement 255, SootopolisCity_MysteryEventsHouse_1F_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_2725A6
waitmovement 0
compare VAR_0x40C0, 1
- call_if 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_227A04
+ call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227A04
compare VAR_0x40C0, 2
- call_if 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_227A0D
+ call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227A0D
compare VAR_0x40C0, 3
- call_if 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_227A16
+ call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227A16
special LoadPlayerParty
setvar VAR_0x40C0, 0
releaseall
@@ -77,9 +77,9 @@ SootopolisCity_MysteryEventsHouse_1F_EventScript_227A24:: @ 8227A24
setvar VAR_0x8004, 16
special CallFrontierUtilFunc
compare VAR_RESULT, 1
- goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227A4E
+ goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227A4E
compare VAR_TEMP_1, 1
- goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227A58
+ goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227A58
msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227B46, MSGBOX_DEFAULT
release
end
@@ -94,27 +94,27 @@ SootopolisCity_MysteryEventsHouse_1F_EventScript_227A58:: @ 8227A58
special BufferEReaderTrainerName
msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227BFC, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2
+ goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2
call SootopolisCity_MysteryEventsHouse_1F_EventScript_227AEF
compare VAR_RESULT, 0
- goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2
+ goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2
msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227CEB, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2
+ goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2
special LoadPlayerParty
call SootopolisCity_MysteryEventsHouse_1F_EventScript_27134F
compare VAR_RESULT, 0
- goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2
+ goto_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2
special SavePlayerParty
special ReducePlayerPartyToSelectedMons
msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227D21, MSGBOX_DEFAULT
closemessage
compare VAR_FACING, 2
- call_if 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_227AFE
+ call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AFE
compare VAR_FACING, 4
- call_if 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_227B10
+ call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227B10
compare VAR_FACING, 3
- call_if 1, SootopolisCity_MysteryEventsHouse_1F_EventScript_227B22
+ call_if_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227B22
warp MAP_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_B1F, 255, 3, 1
waitstate
release
@@ -135,19 +135,19 @@ SootopolisCity_MysteryEventsHouse_1F_EventScript_227AEF:: @ 8227AEF
SootopolisCity_MysteryEventsHouse_1F_EventScript_227AFE:: @ 8227AFE
applymovement VAR_LAST_TALKED, SootopolisCity_MysteryEventsHouse_1F_Movement_227B40
- applymovement 255, SootopolisCity_MysteryEventsHouse_1F_Movement_227B34
+ applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_227B34
waitmovement 0
return
SootopolisCity_MysteryEventsHouse_1F_EventScript_227B10:: @ 8227B10
applymovement VAR_LAST_TALKED, SootopolisCity_MysteryEventsHouse_1F_Movement_227B43
- applymovement 255, SootopolisCity_MysteryEventsHouse_1F_Movement_227B38
+ applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_227B38
waitmovement 0
return
SootopolisCity_MysteryEventsHouse_1F_EventScript_227B22:: @ 8227B22
applymovement VAR_LAST_TALKED, SootopolisCity_MysteryEventsHouse_1F_Movement_227B40
- applymovement 255, SootopolisCity_MysteryEventsHouse_1F_Movement_227B3C
+ applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_1F_Movement_227B3C
waitmovement 0
return
diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc
index 9a6b4b1b3..0de8651d7 100644
--- a/data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc
+++ b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/scripts.inc
@@ -13,7 +13,7 @@ SootopolisCity_MysteryEventsHouse_B1F_MapScript2_227E5E: @ 8227E5E
SootopolisCity_MysteryEventsHouse_B1F_EventScript_227E68:: @ 8227E68
lockall
- applymovement 255, SootopolisCity_MysteryEventsHouse_B1F_Movement_227EF3
+ applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_B1F_Movement_227EF3
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 1, SootopolisCity_MysteryEventsHouse_B1F_EventScript_227ECF
+ call_if_eq SootopolisCity_MysteryEventsHouse_B1F_EventScript_227ECF
compare VAR_RESULT, 1
- call_if 1, SootopolisCity_MysteryEventsHouse_B1F_EventScript_227EDD
+ call_if_eq SootopolisCity_MysteryEventsHouse_B1F_EventScript_227EDD
compare VAR_RESULT, 2
- call_if 1, SootopolisCity_MysteryEventsHouse_B1F_EventScript_227EE8
+ call_if_eq SootopolisCity_MysteryEventsHouse_B1F_EventScript_227EE8
closemessage
special HealPlayerParty
- applymovement 255, SootopolisCity_MysteryEventsHouse_B1F_Movement_227EF9
+ applymovement EVENT_OBJ_ID_PLAYER, SootopolisCity_MysteryEventsHouse_B1F_Movement_227EF9
waitmovement 0
special LoadPlayerParty
setvar VAR_TEMP_1, 1
diff --git a/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc b/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc
index a4850b9f8..448d66981 100644
--- a/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc
+++ b/data/maps/SootopolisCity_PokemonCenter_1F/scripts.inc
@@ -19,9 +19,8 @@ SootopolisCity_PokemonCenter_1F_EventScript_22650E:: @ 822650E
lock
faceplayer
compare VAR_0x40CA, 2
- goto_if 4, SootopolisCity_PokemonCenter_1F_EventScript_22652E
- checkflag FLAG_0x081
- goto_if 0, SootopolisCity_PokemonCenter_1F_EventScript_22652E
+ goto_if_ge SootopolisCity_PokemonCenter_1F_EventScript_22652E
+ goto_if_unset FLAG_0x081, SootopolisCity_PokemonCenter_1F_EventScript_22652E
msgbox SootopolisCity_PokemonCenter_1F_Text_22664B, MSGBOX_DEFAULT
release
end
@@ -35,9 +34,8 @@ SootopolisCity_PokemonCenter_1F_EventScript_226538:: @ 8226538
lock
faceplayer
compare VAR_0x40CA, 2
- goto_if 4, SootopolisCity_PokemonCenter_1F_EventScript_226558
- checkflag FLAG_0x081
- goto_if 0, SootopolisCity_PokemonCenter_1F_EventScript_226558
+ goto_if_ge SootopolisCity_PokemonCenter_1F_EventScript_226558
+ goto_if_unset FLAG_0x081, SootopolisCity_PokemonCenter_1F_EventScript_226558
msgbox SootopolisCity_PokemonCenter_1F_Text_22672F, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/SouthernIsland_Exterior/scripts.inc b/data/maps/SouthernIsland_Exterior/scripts.inc
index 12d27a61f..388410821 100644
--- a/data/maps/SouthernIsland_Exterior/scripts.inc
+++ b/data/maps/SouthernIsland_Exterior/scripts.inc
@@ -11,7 +11,7 @@ SouthernIsland_Exterior_EventScript_2429D2:: @ 82429D2
faceplayer
msgbox SouthernIsland_Exterior_Text_2A69F1, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq SouthernIsland_Exterior_EventScript_242A17
+ goto_if_eq SouthernIsland_Exterior_EventScript_242A17
msgbox SouthernIsland_Exterior_Text_2A6A5D, MSGBOX_DEFAULT
closemessage
applymovement VAR_LAST_TALKED, SouthernIsland_Exterior_Movement_2725AA
@@ -31,12 +31,12 @@ SouthernIsland_Exterior_EventScript_242A17:: @ 8242A17
end
BattleFrontier_OutsideWest_EventScript_242A21:: @ 8242A21
- applymovement 255, BattleFrontier_OutsideWest_Movement_242A37
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_OutsideWest_Movement_242A37
waitmovement 0
return
BattleFrontier_OutsideWest_EventScript_242A2C:: @ 8242A2C
- applymovement 255, BattleFrontier_OutsideWest_Movement_242A39
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_OutsideWest_Movement_242A39
waitmovement 0
return
diff --git a/data/maps/SouthernIsland_Interior/scripts.inc b/data/maps/SouthernIsland_Interior/scripts.inc
index b21fdecab..49c893fa8 100644
--- a/data/maps/SouthernIsland_Interior/scripts.inc
+++ b/data/maps/SouthernIsland_Interior/scripts.inc
@@ -4,22 +4,21 @@ SouthernIsland_Interior_MapScripts:: @ 8242A45
.byte 0
SouthernIsland_Interior_MapScript1_242A50: @ 8242A50
- checkflag FLAG_SYS_CTRL_OBJ_DELETE
- call_if 1, SouthernIsland_Interior_EventScript_242A5A
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, SouthernIsland_Interior_EventScript_242A5A
end
SouthernIsland_Interior_EventScript_242A5A:: @ 8242A5A
specialvar VAR_RESULT, GetBattleOutcome
compare VAR_RESULT, 7
- goto_if 5, SouthernIsland_Interior_EventScript_27374E
+ goto_if_ne SouthernIsland_Interior_EventScript_27374E
removeobject 2
return
SouthernIsland_Interior_MapScript1_242A6E: @ 8242A6E
compare VAR_0x40D5, 0
- call_if 1, SouthernIsland_Interior_EventScript_242A8A
+ call_if_eq SouthernIsland_Interior_EventScript_242A8A
compare VAR_0x40D5, 0
- call_if 5, SouthernIsland_Interior_EventScript_242A95
+ call_if_ne SouthernIsland_Interior_EventScript_242A95
call SouthernIsland_Interior_EventScript_242AA0
end
@@ -36,9 +35,9 @@ SouthernIsland_Interior_EventScript_242A95:: @ 8242A95
SouthernIsland_Interior_EventScript_242AA0:: @ 8242AA0
checkplayergender
compare VAR_RESULT, 0
- goto_eq SouthernIsland_Interior_EventScript_242AB8
+ goto_if_eq SouthernIsland_Interior_EventScript_242AB8
compare VAR_RESULT, 1
- goto_eq SouthernIsland_Interior_EventScript_242ABE
+ goto_if_eq SouthernIsland_Interior_EventScript_242ABE
end
SouthernIsland_Interior_EventScript_242AB8:: @ 8242AB8
@@ -56,18 +55,14 @@ SouthernIsland_Interior_EventScript_242AC4:: @ 8242AC4
end
SouthernIsland_Interior_EventScript_242AD0:: @ 8242AD0
- checkflag FLAG_TEMP_2
- goto_eq SouthernIsland_Interior_EventScript_242B9A
- checkflag FLAG_0x1C8
- goto_eq SouthernIsland_Interior_EventScript_242B9A
- checkflag FLAG_0x1C9
- goto_eq SouthernIsland_Interior_EventScript_242B9A
- checkflag FLAG_SYS_HAS_EON_TICKET
- goto_if 0, SouthernIsland_Interior_EventScript_242B9A
+ goto_if_set FLAG_TEMP_2, SouthernIsland_Interior_EventScript_242B9A
+ goto_if_set FLAG_0x1C8, SouthernIsland_Interior_EventScript_242B9A
+ goto_if_set FLAG_0x1C9, SouthernIsland_Interior_EventScript_242B9A
+ goto_if_unset FLAG_SYS_HAS_EON_TICKET, SouthernIsland_Interior_EventScript_242B9A
setflag FLAG_0x0CE
setflag FLAG_TEMP_2
- special SpawnScriptEventObject
- applymovement 127, SouthernIsland_Interior_Movement_242BCA
+ special SpawnCameraObject
+ applymovement EVENT_OBJ_ID_CAMERA, SouthernIsland_Interior_Movement_242BCA
waitmovement 0
delay 50
waitse
@@ -76,27 +71,27 @@ SouthernIsland_Interior_EventScript_242AD0:: @ 8242AD0
waitmoncry
addobject 2
delay 30
- applymovement 127, SouthernIsland_Interior_Movement_242BCE
+ applymovement EVENT_OBJ_ID_CAMERA, SouthernIsland_Interior_Movement_242BCE
applymovement 2, SouthernIsland_Interior_Movement_242BDA
waitmovement 0
delay 50
- special RemoveScriptEventObject
+ special RemoveCameraObject
setvar VAR_LAST_TALKED, 2
compare VAR_0x40D5, 0
- call_if 1, SouthernIsland_Interior_EventScript_242BA4
+ call_if_eq SouthernIsland_Interior_EventScript_242BA4
compare VAR_0x40D5, 0
- call_if 5, SouthernIsland_Interior_EventScript_242BB7
+ call_if_ne SouthernIsland_Interior_EventScript_242BB7
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_eq SouthernIsland_Interior_EventScript_242B81
+ goto_if_eq SouthernIsland_Interior_EventScript_242B81
compare VAR_RESULT, 4
- goto_eq SouthernIsland_Interior_EventScript_242B8F
+ goto_if_eq SouthernIsland_Interior_EventScript_242B8F
compare VAR_RESULT, 5
- goto_eq SouthernIsland_Interior_EventScript_242B8F
+ goto_if_eq SouthernIsland_Interior_EventScript_242B8F
setflag FLAG_0x1C9
releaseall
end
diff --git a/data/maps/TerraCave_End/scripts.inc b/data/maps/TerraCave_End/scripts.inc
index b23cc23f1..bd057eac6 100644
--- a/data/maps/TerraCave_End/scripts.inc
+++ b/data/maps/TerraCave_End/scripts.inc
@@ -4,20 +4,18 @@ TerraCave_End_MapScripts:: @ 823B0B0
.byte 0
TerraCave_End_MapScript1_23B0BB: @ 823B0BB
- checkflag FLAG_SYS_CTRL_OBJ_DELETE
- call_if 1, TerraCave_End_EventScript_23B0C5
+ call_if_set FLAG_SYS_CTRL_OBJ_DELETE, TerraCave_End_EventScript_23B0C5
end
TerraCave_End_EventScript_23B0C5:: @ 823B0C5
specialvar VAR_RESULT, GetBattleOutcome
compare VAR_RESULT, 7
- goto_if 5, TerraCave_End_EventScript_27374E
+ goto_if_ne TerraCave_End_EventScript_27374E
removeobject 1
return
TerraCave_End_MapScript1_23B0D9: @ 823B0D9
- checkflag FLAG_0x1BF
- call_if 0, TerraCave_End_EventScript_23B0E3
+ call_if_unset FLAG_0x1BF, TerraCave_End_EventScript_23B0E3
end
TerraCave_End_EventScript_23B0E3:: @ 823B0E3
@@ -27,7 +25,7 @@ TerraCave_End_EventScript_23B0E3:: @ 823B0E3
TerraCave_End_EventScript_23B0EC:: @ 823B0EC
lockall
- applymovement 255, TerraCave_End_Movement_2725B2
+ applymovement EVENT_OBJ_ID_PLAYER, TerraCave_End_Movement_2725B2
waitmovement 0
applymovement 1, TerraCave_End_Movement_23B16E
waitmovement 0
@@ -44,11 +42,11 @@ TerraCave_End_EventScript_23B0EC:: @ 823B0EC
setvar VAR_TEMP_1, 0
specialvar VAR_RESULT, GetBattleOutcome
compare VAR_RESULT, 1
- goto_eq TerraCave_End_EventScript_23B155
+ goto_if_eq TerraCave_End_EventScript_23B155
compare VAR_RESULT, 4
- goto_eq TerraCave_End_EventScript_23B163
+ goto_if_eq TerraCave_End_EventScript_23B163
compare VAR_RESULT, 5
- goto_eq TerraCave_End_EventScript_23B163
+ goto_if_eq TerraCave_End_EventScript_23B163
setvar VAR_0x4039, 1
setflag FLAG_0x1BF
releaseall
diff --git a/data/maps/TrainerHill_Elevator/scripts.inc b/data/maps/TrainerHill_Elevator/scripts.inc
index e9117efe2..c3a71d492 100644
--- a/data/maps/TrainerHill_Elevator/scripts.inc
+++ b/data/maps/TrainerHill_Elevator/scripts.inc
@@ -10,7 +10,7 @@ TrainerHill_Elevator_EventScript_26935F:: @ 826935F
end
TrainerHill_Elevator_EventScript_269360:: @ 8269360
- applymovement 255, TrainerHill_Elevator_Movement_2693EB
+ applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Elevator_Movement_2693EB
waitmovement 0
releaseall
warp MAP_TRAINER_HILL_ROOF, 255, 15, 5
@@ -18,22 +18,22 @@ TrainerHill_Elevator_EventScript_269360:: @ 8269360
end
TrainerHill_Elevator_EventScript_269375:: @ 8269375
- applymovement 255, TrainerHill_Elevator_Movement_2693E4
+ applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Elevator_Movement_2693E4
waitmovement 0
applymovement 1, TrainerHill_Elevator_Movement_2693EE
waitmovement 0
lockall
msgbox TrainerHill_Elevator_Text_268F3E, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq TrainerHill_Elevator_EventScript_269360
+ goto_if_eq TrainerHill_Elevator_EventScript_269360
releaseall
applymovement 1, TrainerHill_Elevator_Movement_2693F0
waitmovement 0
- applymovement 255, TrainerHill_Elevator_Movement_2693DF
+ applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Elevator_Movement_2693DF
waitmovement 0
call TrainerHill_Elevator_EventScript_2693D9
delay 25
- applymovement 255, TrainerHill_Elevator_Movement_2693E7
+ applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Elevator_Movement_2693E7
waitmovement 0
warp MAP_TRAINER_HILL_ENTRANCE, 255, 17, 8
waitstate
diff --git a/data/maps/TrainerHill_Entrance/scripts.inc b/data/maps/TrainerHill_Entrance/scripts.inc
index c75c22be2..4d315a158 100644
--- a/data/maps/TrainerHill_Entrance/scripts.inc
+++ b/data/maps/TrainerHill_Entrance/scripts.inc
@@ -21,17 +21,17 @@ TrainerHill_Entrance_MapScript1_2680D0: @ 82680D0
setvar VAR_0x8004, 9
special sp194_trainer_tower
compare VAR_RESULT, 0
- goto_eq TrainerHill_Entrance_EventScript_2680FF
- setobjectxy 255, 9, 6
- applymovement 255, TrainerHill_Entrance_Movement_26837F
+ goto_if_eq TrainerHill_Entrance_EventScript_2680FF
+ setobjectxy EVENT_OBJ_ID_PLAYER, 9, 6
+ applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_26837F
end
TrainerHill_Entrance_EventScript_2680FF:: @ 82680FF
setvar VAR_0x8004, 16
special sp194_trainer_tower
compare VAR_RESULT, 1
- goto_eq TrainerHill_Entrance_EventScript_26811A
- applymovement 255, TrainerHill_Entrance_Movement_26837F
+ goto_if_eq TrainerHill_Entrance_EventScript_26811A
+ applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_26837F
end
TrainerHill_Entrance_EventScript_26811A:: @ 826811A
@@ -46,7 +46,7 @@ TrainerHill_Entrance_MapScript1_26811B: @ 826811B
TrainerHill_Entrance_MapScript1_268128: @ 8268128
compare VAR_TEMP_D, 17
- call_if 1, TrainerHill_Entrance_EventScript_268134
+ call_if_eq TrainerHill_Entrance_EventScript_268134
end
TrainerHill_Entrance_EventScript_268134:: @ 8268134
@@ -62,7 +62,7 @@ TrainerHill_Entrance_MapScript2_26813E: @ 826813E
TrainerHill_Entrance_EventScript_268160:: @ 8268160
lockall
- applymovement 255, TrainerHill_Entrance_Movement_268385
+ applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_268385
waitmovement 0
setmetatile 17, 10, 820, 1
special DrawWholeMapView
@@ -83,18 +83,18 @@ TrainerHill_Entrance_EventScript_268182:: @ 8268182
TrainerHill_Entrance_EventScript_2681B5:: @ 82681B5
lockall
- applymovement 255, TrainerHill_Entrance_Movement_26837F
+ applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_26837F
msgbox TrainerHill_Entrance_Text_268689, MSGBOX_DEFAULT
goto TrainerHill_Entrance_EventScript_2681DA
TrainerHill_Entrance_EventScript_2681CA:: @ 82681CA
lockall
- applymovement 255, TrainerHill_Entrance_Movement_26837F
+ applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_26837F
msgbox TrainerHill_Entrance_Text_268712, MSGBOX_DEFAULT
TrainerHill_Entrance_EventScript_2681DA:: @ 82681DA
closemessage
- applymovement 255, TrainerHill_Entrance_Movement_268381
+ applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_268381
waitmovement 0
setvar VAR_0x40D6, 0
special HealPlayerParty
@@ -117,7 +117,7 @@ TrainerHill_Entrance_EventScript_2681FD:: @ 82681FD
setvar VAR_0x8004, 10
special sp194_trainer_tower
compare VAR_RESULT, 0
- goto_eq TrainerHill_Entrance_EventScript_26821F
+ goto_if_eq TrainerHill_Entrance_EventScript_26821F
msgbox TrainerHill_Entrance_Text_2686F4, MSGBOX_DEFAULT
goto TrainerHill_Entrance_EventScript_268227
@@ -130,18 +130,17 @@ TrainerHill_Entrance_EventScript_268227:: @ 8268227
TrainerHill_Entrance_EventScript_268229:: @ 8268229
lockall
- applymovement 255, TrainerHill_Entrance_Movement_26837F
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, TrainerHill_Entrance_EventScript_26836A
+ 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, 13
special sp194_trainer_tower
compare VAR_RESULT, 0
- call_if 1, TrainerHill_Entrance_EventScript_26832E
+ call_if_eq TrainerHill_Entrance_EventScript_26832E
setvar VAR_0x8004, 8
special sp194_trainer_tower
compare VAR_RESULT, 1
- goto_eq TrainerHill_Entrance_EventScript_268275
+ goto_if_eq TrainerHill_Entrance_EventScript_268275
msgbox TrainerHill_Entrance_Text_268564, MSGBOX_DEFAULT
goto TrainerHill_Entrance_EventScript_26827D
@@ -185,7 +184,7 @@ TrainerHill_Entrance_EventScript_268314:: @ 8268314
setvar VAR_TEMP_5, 0
msgbox TrainerHill_Entrance_Text_26866F, MSGBOX_DEFAULT
closemessage
- applymovement 255, TrainerHill_Entrance_Movement_268381
+ applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_268381
waitmovement 0
releaseall
end
@@ -197,7 +196,7 @@ TrainerHill_Entrance_EventScript_26832E:: @ 826832E
setvar VAR_TEMP_5, 1
call TrainerHill_Entrance_EventScript_27134F
compare VAR_RESULT, 0
- goto_eq TrainerHill_Entrance_EventScript_26835C
+ goto_if_eq TrainerHill_Entrance_EventScript_26835C
setvar VAR_0x8004, 14
special sp194_trainer_tower
return
@@ -211,7 +210,7 @@ TrainerHill_Entrance_EventScript_26835C:: @ 826835C
TrainerHill_Entrance_EventScript_26836A:: @ 826836A
msgbox TrainerHill_Entrance_Text_268430, MSGBOX_DEFAULT
closemessage
- applymovement 255, TrainerHill_Entrance_Movement_268381
+ applymovement EVENT_OBJ_ID_PLAYER, TrainerHill_Entrance_Movement_268381
waitmovement 0
releaseall
end
@@ -242,8 +241,7 @@ TrainerHill_Entrance_EventScript_268388:: @ 8268388
end
TrainerHill_Entrance_EventScript_268391:: @ 8268391
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, TrainerHill_Entrance_EventScript_2683A3
+ goto_if_unset FLAG_SYS_GAME_CLEAR, TrainerHill_Entrance_EventScript_2683A3
msgbox TrainerHill_Entrance_Text_268D5A, MSGBOX_NPC
end
@@ -252,8 +250,7 @@ TrainerHill_Entrance_EventScript_2683A3:: @ 82683A3
end
TrainerHill_Entrance_EventScript_2683AC:: @ 82683AC
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, TrainerHill_Entrance_EventScript_2683BE
+ goto_if_unset FLAG_SYS_GAME_CLEAR, TrainerHill_Entrance_EventScript_2683BE
msgbox TrainerHill_Entrance_Text_268E6A, MSGBOX_NPC
end
@@ -266,8 +263,7 @@ TrainerHill_Entrance_EventScript_2683C7:: @ 82683C7
faceplayer
message gUnknown_08272A21
waitmessage
- checkflag FLAG_SYS_GAME_CLEAR
- goto_eq TrainerHill_Entrance_EventScript_268402
+ goto_if_set FLAG_SYS_GAME_CLEAR, TrainerHill_Entrance_EventScript_268402
pokemart TrainerHill_Entrance_Pokemart_2683E8
msgbox gUnknown_08272A3F, MSGBOX_DEFAULT
release
diff --git a/data/maps/Underwater_SeafloorCavern/scripts.inc b/data/maps/Underwater_SeafloorCavern/scripts.inc
index 7cdd3402d..4d5865511 100644
--- a/data/maps/Underwater_SeafloorCavern/scripts.inc
+++ b/data/maps/Underwater_SeafloorCavern/scripts.inc
@@ -6,8 +6,7 @@ Underwater_SeafloorCavern_MapScripts:: @ 823433B
Underwater_SeafloorCavern_MapScript1_23434B: @ 823434B
setflag FLAG_LANDMARK_SEAFLOOR_CAVERN
- checkflag FLAG_0x081
- goto_eq Underwater_SeafloorCavern_EventScript_234358
+ goto_if_set FLAG_0x081, Underwater_SeafloorCavern_EventScript_234358
end
Underwater_SeafloorCavern_EventScript_234358:: @ 8234358
@@ -15,8 +14,7 @@ Underwater_SeafloorCavern_EventScript_234358:: @ 8234358
end
Underwater_SeafloorCavern_MapScript1_23435C: @ 823435C
- checkflag FLAG_0x081
- call_if 1, Underwater_SeafloorCavern_EventScript_234366
+ call_if_set FLAG_0x081, Underwater_SeafloorCavern_EventScript_234366
end
Underwater_SeafloorCavern_EventScript_234366:: @ 8234366
diff --git a/data/maps/Underwater_SealedChamber/scripts.inc b/data/maps/Underwater_SealedChamber/scripts.inc
index 7ac032c5f..de6ed50d1 100644
--- a/data/maps/Underwater_SealedChamber/scripts.inc
+++ b/data/maps/Underwater_SealedChamber/scripts.inc
@@ -5,9 +5,9 @@ Underwater_SealedChamber_MapScripts:: @ 82390C4
Underwater_SealedChamber_MapScript1_2390CA: @ 82390CA
getplayerxy VAR_0x8004, VAR_0x8005
compare VAR_0x8004, 12
- goto_if 5, Underwater_SealedChamber_EventScript_2390EA
+ goto_if_ne Underwater_SealedChamber_EventScript_2390EA
compare VAR_0x8005, 44
- goto_if 5, Underwater_SealedChamber_EventScript_2390EA
+ goto_if_ne Underwater_SealedChamber_EventScript_2390EA
goto Underwater_SealedChamber_EventScript_2390F3
Underwater_SealedChamber_EventScript_2390EA:: @ 82390EA
diff --git a/data/maps/UnknownMap_25_34/scripts.inc b/data/maps/UnknownMap_25_34/scripts.inc
index 2e13983fa..9bfdec2ac 100644
--- a/data/maps/UnknownMap_25_34/scripts.inc
+++ b/data/maps/UnknownMap_25_34/scripts.inc
@@ -20,15 +20,15 @@ LinkContestRoom1_EventScript_23B7AF:: @ 823B7AF
call LinkContestRoom1_EventScript_27A133
special ScriptGetMultiplayerId
compare VAR_RESULT, 0
- call_if 1, LinkContestRoom1_EventScript_23B7EF
+ call_if_eq LinkContestRoom1_EventScript_23B7EF
compare VAR_RESULT, 1
- call_if 1, LinkContestRoom1_EventScript_23B7F3
+ call_if_eq LinkContestRoom1_EventScript_23B7F3
compare VAR_RESULT, 2
- call_if 1, LinkContestRoom1_EventScript_23B7F7
+ call_if_eq LinkContestRoom1_EventScript_23B7F7
compare VAR_RESULT, 3
- call_if 1, LinkContestRoom1_EventScript_23B7FB
+ call_if_eq LinkContestRoom1_EventScript_23B7FB
compare VAR_RESULT, 4
- call_if 1, LinkContestRoom1_EventScript_23B7FF
+ call_if_eq LinkContestRoom1_EventScript_23B7FF
return
LinkContestRoom1_EventScript_23B7EF:: @ 823B7EF
@@ -53,7 +53,7 @@ LinkContestRoom1_EventScript_23B7FF:: @ 823B7FF
LinkContestRoom1_MapScript1_23B803: @ 823B803
compare VAR_TEMP_9, 1
- call_if 1, LinkContestRoom1_EventScript_23B80F
+ call_if_eq LinkContestRoom1_EventScript_23B80F
end
LinkContestRoom1_EventScript_23B80F:: @ 823B80F
@@ -75,7 +75,7 @@ LinkContestRoom1_EventScript_23B829:: @ 823B829
LinkContestRoom1_EventScript_23B834:: @ 823B834
special sub_80F8B94
- hideobjectat 255, MAP_LITTLEROOT_TOWN
+ hideobjectat EVENT_OBJ_ID_PLAYER, MAP_LITTLEROOT_TOWN
call LinkContestRoom1_EventScript_23BB2B
end
@@ -83,7 +83,7 @@ LinkContestRoom1_EventScript_23B842:: @ 823B842
call LinkContestRoom1_EventScript_23B8F8
call LinkContestRoom1_EventScript_23B858
compare VAR_TEMP_0, 8
- goto_if 0, LinkContestRoom1_EventScript_23B842
+ goto_if_lt LinkContestRoom1_EventScript_23B842
return
LinkContestRoom1_EventScript_23B858:: @ 823B858
@@ -302,7 +302,7 @@ LinkContestRoom1_EventScript_23BB25:: @ 823BB25
LinkContestRoom1_EventScript_23BB2B:: @ 823BB2B
specialvar VAR_RESULT, sub_80F9160
compare VAR_RESULT, 1
- goto_eq LinkContestRoom1_EventScript_23BD86
+ goto_if_eq LinkContestRoom1_EventScript_23BD86
switch VAR_0x4088
case 1, LinkContestRoom1_EventScript_23BB78
case 2, LinkContestRoom1_EventScript_23BB8B
@@ -443,9 +443,9 @@ LinkContestRoom1_EventScript_23BEAC:: @ 823BEAC
LilycoveCity_ContestLobby_EventScript_23BEB6:: @ 823BEB6
checkplayergender
compare VAR_RESULT, 0
- goto_eq LilycoveCity_ContestLobby_EventScript_23BECE
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_23BECE
compare VAR_RESULT, 1
- goto_eq LilycoveCity_ContestLobby_EventScript_23BED4
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_23BED4
return
LilycoveCity_ContestLobby_EventScript_23BECE:: @ 823BECE
diff --git a/data/maps/VerdanturfTown/scripts.inc b/data/maps/VerdanturfTown/scripts.inc
index 578881daa..c929633dd 100644
--- a/data/maps/VerdanturfTown/scripts.inc
+++ b/data/maps/VerdanturfTown/scripts.inc
@@ -10,8 +10,7 @@ VerdanturfTown_MapScript1_1EB56C: @ 81EB56C
VerdanturfTown_EventScript_1EB575:: @ 81EB575
lock
faceplayer
- checkflag FLAG_RUSTURF_TUNNEL_OPENED
- goto_eq VerdanturfTown_EventScript_1EB594
+ goto_if_set FLAG_RUSTURF_TUNNEL_OPENED, VerdanturfTown_EventScript_1EB594
msgbox VerdanturfTown_Text_1EB5FD, MSGBOX_DEFAULT
applymovement 2, VerdanturfTown_Movement_2725A2
waitmovement 0
@@ -36,8 +35,7 @@ VerdanturfTown_EventScript_1EB5B1:: @ 81EB5B1
VerdanturfTown_EventScript_1EB5BA:: @ 81EB5BA
lock
faceplayer
- checkflag FLAG_RUSTURF_TUNNEL_OPENED
- goto_eq VerdanturfTown_EventScript_1EB5CF
+ goto_if_set FLAG_RUSTURF_TUNNEL_OPENED, VerdanturfTown_EventScript_1EB5CF
msgbox VerdanturfTown_Text_1EB854, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc b/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc
index 93b7802be..21494c8a6 100644
--- a/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc
+++ b/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc
@@ -11,9 +11,9 @@ VerdanturfTown_BattleTentBattleRoom_MapScript1_20230A: @ 820230A
VerdanturfTown_BattleTentBattleRoom_EventScript_202310:: @ 8202310
checkplayergender
compare VAR_RESULT, 0
- goto_eq VerdanturfTown_BattleTentBattleRoom_EventScript_202328
+ goto_if_eq VerdanturfTown_BattleTentBattleRoom_EventScript_202328
compare VAR_RESULT, 1
- goto_eq VerdanturfTown_BattleTentBattleRoom_EventScript_202333
+ goto_if_eq VerdanturfTown_BattleTentBattleRoom_EventScript_202333
return
VerdanturfTown_BattleTentBattleRoom_EventScript_202328:: @ 8202328
@@ -38,7 +38,7 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_202348:: @ 8202348
setvar VAR_0x8005, 2
special CallFrontierUtilFunc
compare VAR_RESULT, 0
- goto_if 5, VerdanturfTown_BattleTentBattleRoom_EventScript_20243C
+ goto_if_ne VerdanturfTown_BattleTentBattleRoom_EventScript_20243C
VerdanturfTown_BattleTentBattleRoom_EventScript_20236F:: @ 820236F
setvar VAR_0x8004, 3
@@ -95,9 +95,9 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_20243C:: @ 820243C
setvar VAR_0x8005, 2
special CallFrontierUtilFunc
compare VAR_RESULT, 1
- call_if 1, VerdanturfTown_BattleTentBattleRoom_EventScript_202565
+ call_if_eq VerdanturfTown_BattleTentBattleRoom_EventScript_202565
compare VAR_RESULT, 2
- call_if 1, VerdanturfTown_BattleTentBattleRoom_EventScript_20256C
+ call_if_eq VerdanturfTown_BattleTentBattleRoom_EventScript_20256C
multichoice 20, 6, 104, 1
switch VAR_RESULT
case 0, VerdanturfTown_BattleTentBattleRoom_EventScript_2024EA
@@ -157,7 +157,7 @@ VerdanturfTown_BattleTentBattleRoom_EventScript_20254B:: @ 820254B
hideobjectat 1, MAP_VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM
call VerdanturfTown_BattleTentBattleRoom_EventScript_202310
setvar VAR_TEMP_1, 1
- applymovement 255, VerdanturfTown_BattleTentBattleRoom_Movement_202573
+ applymovement EVENT_OBJ_ID_PLAYER, VerdanturfTown_BattleTentBattleRoom_Movement_202573
removeobject 2
end
diff --git a/data/maps/VerdanturfTown_BattleTentCorridor/scripts.inc b/data/maps/VerdanturfTown_BattleTentCorridor/scripts.inc
index ef577c7f1..e5d7e45e9 100644
--- a/data/maps/VerdanturfTown_BattleTentCorridor/scripts.inc
+++ b/data/maps/VerdanturfTown_BattleTentCorridor/scripts.inc
@@ -10,12 +10,12 @@ VerdanturfTown_BattleTentCorridor_EventScript_20209A:: @ 820209A
lockall
setvar VAR_TEMP_0, 1
applymovement 1, VerdanturfTown_BattleTentCorridor_Movement_2020DE
- applymovement 255, VerdanturfTown_BattleTentCorridor_Movement_2020DE
+ applymovement EVENT_OBJ_ID_PLAYER, VerdanturfTown_BattleTentCorridor_Movement_2020DE
waitmovement 0
opendoor 2, 1
waitdooranim
applymovement 1, VerdanturfTown_BattleTentCorridor_Movement_2020E4
- applymovement 255, VerdanturfTown_BattleTentCorridor_Movement_2020E3
+ applymovement EVENT_OBJ_ID_PLAYER, VerdanturfTown_BattleTentCorridor_Movement_2020E3
waitmovement 0
closedoor 2, 1
waitdooranim
diff --git a/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc b/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc
index ec7ecfb1a..d526c769a 100644
--- a/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc
+++ b/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc
@@ -9,7 +9,7 @@ VerdanturfTown_BattleTentLobby_MapScript2_2016DB: @ 82016DB
VerdanturfTown_BattleTentLobby_EventScript_2016E5:: @ 82016E5
setvar VAR_TEMP_1, 1
- turnobject 255, 2
+ turnobject EVENT_OBJ_ID_PLAYER, 2
end
VerdanturfTown_BattleTentLobby_MapScript2_2016EF: @ 82016EF
@@ -134,7 +134,7 @@ VerdanturfTown_BattleTentLobby_EventScript_201873:: @ 8201873
setvar VAR_0x8004, 1
special sub_81B99B4
compare VAR_RESULT, 0
- goto_if 5, VerdanturfTown_BattleTentLobby_EventScript_2017EE
+ goto_if_ne VerdanturfTown_BattleTentLobby_EventScript_2017EE
special SavePlayerParty
msgbox VerdanturfTown_BattleTentLobby_Text_2C50C3, MSGBOX_DEFAULT
@@ -155,7 +155,7 @@ VerdanturfTown_BattleTentLobby_EventScript_2018CF:: @ 82018CF
setvar VAR_0x8004, 15
special CallFrontierUtilFunc
compare VAR_0x8004, 1
- goto_eq VerdanturfTown_BattleTentLobby_EventScript_2019E8
+ goto_if_eq VerdanturfTown_BattleTentLobby_EventScript_2019E8
setvar VAR_0x8004, 2
setvar VAR_0x8005, 1
setvar VAR_0x8006, 2
@@ -167,7 +167,7 @@ VerdanturfTown_BattleTentLobby_EventScript_2018CF:: @ 82018CF
special sub_80F9490
waitstate
compare VAR_RESULT, 0
- goto_eq VerdanturfTown_BattleTentLobby_EventScript_201A34
+ goto_if_eq VerdanturfTown_BattleTentLobby_EventScript_201A34
msgbox VerdanturfTown_BattleTentLobby_Text_2C5662, MSGBOX_YESNO
switch VAR_RESULT
case 0, VerdanturfTown_BattleTentLobby_EventScript_201A34
@@ -195,7 +195,7 @@ VerdanturfTown_BattleTentLobby_EventScript_201954:: @ 8201954
call VerdanturfTown_BattleTentLobby_EventScript_27134F
setvar VAR_TEMP_0, 255
compare VAR_RESULT, 0
- goto_eq VerdanturfTown_BattleTentLobby_EventScript_201A1D
+ goto_if_eq VerdanturfTown_BattleTentLobby_EventScript_201A1D
VerdanturfTown_BattleTentLobby_EventScript_2019AE:: @ 82019AE
special SavePlayerParty
@@ -246,12 +246,12 @@ VerdanturfTown_BattleTentLobby_EventScript_201A3F:: @ 8201A3F
VerdanturfTown_BattleTentLobby_EventScript_201A41:: @ 8201A41
applymovement 1, VerdanturfTown_BattleTentLobby_Movement_201A70
- applymovement 255, VerdanturfTown_BattleTentLobby_Movement_201A70
+ applymovement EVENT_OBJ_ID_PLAYER, VerdanturfTown_BattleTentLobby_Movement_201A70
waitmovement 0
opendoor 6, 1
waitdooranim
applymovement 1, VerdanturfTown_BattleTentLobby_Movement_201A74
- applymovement 255, VerdanturfTown_BattleTentLobby_Movement_201A77
+ applymovement EVENT_OBJ_ID_PLAYER, VerdanturfTown_BattleTentLobby_Movement_201A77
waitmovement 0
closedoor 6, 1
waitdooranim
@@ -277,12 +277,11 @@ VerdanturfTown_BattleTentLobby_Movement_201A77: @ 8201A77
VerdanturfTown_BattleTentLobby_EventScript_201A7B:: @ 8201A7B
lock
faceplayer
- checkflag FLAG_0x0EB
- goto_eq VerdanturfTown_BattleTentLobby_EventScript_201AB2
+ goto_if_set FLAG_0x0EB, VerdanturfTown_BattleTentLobby_EventScript_201AB2
msgbox VerdanturfTown_BattleTentLobby_Text_201D9E, MSGBOX_DEFAULT
giveitem_std ITEM_TM45
compare VAR_RESULT, 0
- goto_eq VerdanturfTown_BattleTentLobby_EventScript_272054
+ goto_if_eq VerdanturfTown_BattleTentLobby_EventScript_272054
setflag FLAG_0x0EB
msgbox VerdanturfTown_BattleTentLobby_Text_201E43, MSGBOX_DEFAULT
release
@@ -306,8 +305,7 @@ VerdanturfTown_BattleTentLobby_EventScript_201AC5:: @ 8201AC5
VerdanturfTown_BattleTentLobby_EventScript_201AD0:: @ 8201AD0
lock
faceplayer
- checkflag FLAG_0x1CC
- goto_eq VerdanturfTown_BattleTentLobby_EventScript_201AED
+ goto_if_set FLAG_0x1CC, VerdanturfTown_BattleTentLobby_EventScript_201AED
msgbox VerdanturfTown_BattleTentLobby_Text_201F3F, MSGBOX_DEFAULT
addvar VAR_0x40D1, 1
setflag FLAG_0x1CC
diff --git a/data/maps/VerdanturfTown_WandasHouse/scripts.inc b/data/maps/VerdanturfTown_WandasHouse/scripts.inc
index fea5d3de0..e185cff51 100644
--- a/data/maps/VerdanturfTown_WandasHouse/scripts.inc
+++ b/data/maps/VerdanturfTown_WandasHouse/scripts.inc
@@ -4,8 +4,7 @@ VerdanturfTown_WandasHouse_MapScripts:: @ 82028BE
VerdanturfTown_WandasHouse_EventScript_2028BF:: @ 82028BF
lock
faceplayer
- checkflag FLAG_0x0C1
- goto_eq VerdanturfTown_WandasHouse_EventScript_2028D7
+ goto_if_set FLAG_0x0C1, VerdanturfTown_WandasHouse_EventScript_2028D7
msgbox VerdanturfTown_WandasHouse_Text_202993, MSGBOX_DEFAULT
setflag FLAG_0x0C1
release
@@ -19,10 +18,8 @@ VerdanturfTown_WandasHouse_EventScript_2028D7:: @ 82028D7
VerdanturfTown_WandasHouse_EventScript_2028E1:: @ 82028E1
lock
faceplayer
- checkflag FLAG_0x07E
- goto_eq VerdanturfTown_WandasHouse_EventScript_202909
- checkflag FLAG_0x4F3
- goto_eq VerdanturfTown_WandasHouse_EventScript_2028FF
+ goto_if_set FLAG_0x07E, VerdanturfTown_WandasHouse_EventScript_202909
+ goto_if_set FLAG_0x4F3, VerdanturfTown_WandasHouse_EventScript_2028FF
msgbox VerdanturfTown_WandasHouse_Text_202B37, MSGBOX_DEFAULT
release
end
@@ -44,10 +41,8 @@ VerdanturfTown_WandasHouse_EventScript_202913:: @ 8202913
VerdanturfTown_WandasHouse_EventScript_20291C:: @ 820291C
lock
faceplayer
- checkflag FLAG_0x4F3
- goto_eq VerdanturfTown_WandasHouse_EventScript_202944
- checkflag FLAG_0x0BE
- goto_eq VerdanturfTown_WandasHouse_EventScript_20293A
+ goto_if_set FLAG_0x4F3, VerdanturfTown_WandasHouse_EventScript_202944
+ goto_if_set FLAG_0x0BE, VerdanturfTown_WandasHouse_EventScript_20293A
msgbox VerdanturfTown_WandasHouse_Text_202D91, MSGBOX_DEFAULT
release
end
@@ -65,12 +60,9 @@ VerdanturfTown_WandasHouse_EventScript_202944:: @ 8202944
VerdanturfTown_WandasHouse_EventScript_20294E:: @ 820294E
lock
faceplayer
- checkflag FLAG_0x07E
- goto_eq VerdanturfTown_WandasHouse_EventScript_202989
- checkflag FLAG_0x4F3
- goto_eq VerdanturfTown_WandasHouse_EventScript_20297F
- checkflag FLAG_RUSTURF_TUNNEL_OPENED
- goto_eq VerdanturfTown_WandasHouse_EventScript_202975
+ goto_if_set FLAG_0x07E, VerdanturfTown_WandasHouse_EventScript_202989
+ goto_if_set FLAG_0x4F3, VerdanturfTown_WandasHouse_EventScript_20297F
+ goto_if_set FLAG_RUSTURF_TUNNEL_OPENED, VerdanturfTown_WandasHouse_EventScript_202975
msgbox VerdanturfTown_WandasHouse_Text_202E47, MSGBOX_DEFAULT
release
end
diff --git a/data/maps/VictoryRoad_1F/scripts.inc b/data/maps/VictoryRoad_1F/scripts.inc
index 5b3dabbc9..edf45de9c 100644
--- a/data/maps/VictoryRoad_1F/scripts.inc
+++ b/data/maps/VictoryRoad_1F/scripts.inc
@@ -4,9 +4,9 @@ VictoryRoad_1F_MapScripts:: @ 8235D7A
VictoryRoad_1F_MapScript1_235D80: @ 8235D80
compare VAR_0x40C3, 1
- call_if 1, VictoryRoad_1F_EventScript_235D97
+ call_if_eq VictoryRoad_1F_EventScript_235D97
compare VAR_0x40C3, 2
- call_if 1, VictoryRoad_1F_EventScript_235DA3
+ call_if_eq VictoryRoad_1F_EventScript_235DA3
end
VictoryRoad_1F_EventScript_235D97:: @ 8235D97
@@ -38,7 +38,7 @@ VictoryRoad_1F_EventScript_235DC8:: @ 8235DC8
end
VictoryRoad_1F_EventScript_235DE1:: @ 8235DE1
- applymovement 255, VictoryRoad_1F_Movement_2725AA
+ applymovement EVENT_OBJ_ID_PLAYER, VictoryRoad_1F_Movement_2725AA
waitmovement 0
msgbox VictoryRoad_1F_Text_235EE6, MSGBOX_DEFAULT
trainerbattle_no_intro TRAINER_WALLY_1, VictoryRoad_1F_Text_235FFC
@@ -85,7 +85,7 @@ VictoryRoad_1F_EventScript_235E35:: @ 8235E35
trainerbattle_single TRAINER_WALLY_3, VictoryRoad_1F_Text_236073, VictoryRoad_1F_Text_2360DA
specialvar VAR_RESULT, ShouldTryRematchBattle
compare VAR_RESULT, 1
- goto_eq VictoryRoad_1F_EventScript_235E5C
+ goto_if_eq VictoryRoad_1F_EventScript_235E5C
msgbox VictoryRoad_1F_Text_2360FE, MSGBOX_AUTOCLOSE
end
diff --git a/data/party_menu.s b/data/party_menu.s
deleted file mode 100644
index eedcd4377..000000000
--- a/data/party_menu.s
+++ /dev/null
@@ -1,649 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
- .align 1
-gUnknown_0861500C:: @ 861500C
- .2byte 0x0005, 0x000e, 0x0019, 0x0022, 0x0026, 0x0044, 0x0045, 0x0066, 0x0076, 0x0087, 0x008a, 0x0056, 0x0099, 0x009d, 0x00a4, 0x00df
- .2byte 0x00cd, 0x00f4, 0x00ad, 0x00c4, 0x00cb, 0x00bd, 0x0008, 0x00cf, 0x00d6, 0x0081, 0x006f, 0x0009, 0x0007, 0x00d2
-
- .align 2
-gUnknown_08615048:: @ 8615048
- .4byte 0x00000000, 0x25b4409a, 0x25b4409a, 0x25b4409a, 0x37b4e0ff, 0x37b4e0ff, 0x37b4e0ff, 0x05fdc0fd
- .4byte 0x05fdc0fd, 0x05fdc0fd, 0x00000000, 0x00000000, 0x03944490, 0x00000000, 0x00000000, 0x23944092
- .4byte 0x03b44090, 0x03b44090, 0x03b44090, 0x07bc48b8, 0x07bc48b8, 0x03b44090, 0x03b44090, 0x01946098
- .4byte 0x01946098, 0x0fb5c8fd, 0x0fb5c8fd, 0x27b5e0fa, 0x27b5e0fa, 0x05b440b8, 0x05b440b8, 0x3dfce0fd
- .4byte 0x05b440b8, 0x05b440b8, 0x3dfce0fd, 0x1df7cffd, 0x1df7cffd, 0x03944098, 0x03944098, 0x1df7ccfd
- .4byte 0x1df7ccfd, 0x03944090, 0x03944090, 0x01944092, 0x01944092, 0x0194409a, 0x219440ba, 0x219440ba
- .4byte 0x03944090, 0x03944090, 0x01b46098, 0x01b46098, 0x07be4498, 0x07be4498, 0x03fec0fd, 0x23fec0fd
- .4byte 0x1ff6e1fd, 0x1ff6e1fd, 0x03944098, 0x03944098, 0x059c4098, 0x05fc41fd, 0x05fcc1fd, 0x19d6cdfd
- .4byte 0x19d6cdfd, 0x19d6cdfd, 0x19f4e1fd, 0x19f4e1fd, 0x19f4e1fd, 0x01944092, 0x01944092, 0x0194409a
- .4byte 0x019c4092, 0x019c4092, 0x15b5f1f9, 0x15b5f1f9, 0x35b5f1fd, 0x03944098, 0x03944098, 0x03be4c98
- .4byte 0x23feccfd, 0x03954890, 0x03954890, 0x03b6409a, 0x03b44098, 0x03b44098, 0x019c4098, 0x019c4098
- .4byte 0x19f4d088, 0x19f4d088, 0x039c5090, 0x039c5090, 0x01965480, 0x01965480, 0x19d6d5fd, 0x01b67098
- .4byte 0x19d6cdfd, 0x19d6cdfd, 0x21bc409a, 0x21bc409a, 0x03955880, 0x03955880, 0x01975490, 0x01975490
- .4byte 0x19bce0ff, 0x19bce0ff, 0x03b4e1fd, 0x1bf4e1fd, 0x1dffe4ff, 0x01955080, 0x01955080, 0x01bd60ba
- .4byte 0x39bde0ff, 0x05bfcffd, 0x0196409a, 0x39fce0fd, 0x039c4090, 0x039c4090, 0x039c4090, 0x039c4090
- .4byte 0x039e4890, 0x039e4c90, 0x19f64dfd, 0x239440b2, 0x01fec5fd, 0x1bf4c8fd, 0x19b4c0fd, 0x219460da
- .4byte 0x019c4098, 0x00000000, 0x019c4898, 0x019c4498, 0x00000000, 0x03b44098, 0x03bc4098, 0x03b44898
- .4byte 0x03b44098, 0x039e4c90, 0x019d6098, 0x019d60d8, 0x019d6098, 0x219d60de, 0x03946090, 0x1dffe1fd
- .4byte 0x03bc4090, 0x03b44890, 0x03b44090, 0x039c4898, 0x039c4898, 0x3bfcc898, 0x1bfecdfd, 0x3fffffff
- .4byte 0x01b440ba, 0x21b440ba, 0x21b440ba, 0x07b54098, 0x27b54098, 0x3fb5e0fd, 0x01fce0ff, 0x21fce0ff
- .4byte 0x21fce0ff, 0x3ff5c098, 0x3ff5c098, 0x03b44490, 0x03b44490, 0x0bd5c093, 0x0bd5c093, 0x01944098
- .4byte 0x01944098, 0x03944090, 0x01944890, 0x01944890, 0x07b548fd, 0x05bf4ffd, 0x05bf4cfd, 0x07b74ffd
- .4byte 0x07b74ffd, 0x03964c90, 0x03964c90, 0x07944898, 0x1f94c8fd, 0x1f94c8fd, 0x01944092, 0x07fdc0dd
- .4byte 0x07fdc0dd, 0x1df7f0fd, 0x05bcc1fd, 0x05944092, 0x05944092, 0x05944092, 0x3ff4cdfd, 0x01944092
- .4byte 0x01944092, 0x03944490, 0x05f5c098, 0x05f5c0fd, 0x03b64498, 0x03b64498, 0x03be4c90, 0x23feccfd
- .4byte 0x07964c90, 0x00000000, 0x00000000, 0x03b64c98, 0x059570b8, 0x059570b8, 0x05b76cb8, 0x239464b2
- .4byte 0x05b57098, 0x1df4c9fd, 0x1df4e9fd, 0x079d4892, 0x239440b2, 0x05b56098, 0x219460fa, 0x27fec4b2
- .4byte 0x3ff5c1ff, 0x3ff5e1ff, 0x05b56098, 0x05b56098, 0x05bc6098, 0x05bc6098, 0x05b57098, 0x07b44890
- .4byte 0x07b448d0, 0x03bc40fd, 0x03bc4098, 0x03b460b0, 0x03b444b8, 0x03b444b8, 0x039c4098, 0x05b540b8
- .4byte 0x05b560b8, 0x079e4c90, 0x03b64c98, 0x00000000, 0x03b460fc, 0x03b460fc, 0x01fec5fd, 0x1bf4c8fd
- .4byte 0x19b4c0fd, 0x1dffe9fd, 0x05bdcffd, 0x03b64898, 0x03b64098, 0x03be4098, 0x01b46098, 0x01b46098
- .4byte 0x31b4e8fd, 0x03be4c98, 0x03b64c90, 0x07b64592, 0x00000000, 0x00000000, 0x00000000, 0x00000000
- .4byte 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
- .4byte 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
- .4byte 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x2bb4c0ff, 0x2bb4c0ff, 0x2bb4c0ff
- .4byte 0x03b460ff, 0x3bb4e0ff, 0x3bb4e0ff, 0x05bd4098, 0x05fde0fd, 0x05fde0fd, 0x01b640b8, 0x01b640b8
- .4byte 0x27bd4898, 0x27bd4898, 0x00000000, 0x00000000, 0x03944090, 0x00000000, 0x03944090, 0x019c409a
- .4byte 0x19fcc09a, 0x19fcc1ff, 0x0595509a, 0x27b7509e, 0x27b7509e, 0x21b44090, 0x23b44092, 0x21b44490
- .4byte 0x03b440b0, 0x03b440b0, 0x0194409a, 0x29b4c0ff, 0x1fffe5fd, 0x03bc4090, 0x03bc4090, 0x039e4090
- .4byte 0x039e4090, 0x059d4098, 0x059d4098, 0x07bf4c98, 0x07bf4c98, 0x3fffe9fd, 0x01b67490, 0x01b67490
- .4byte 0x1df5f898, 0x01b47098, 0x39f6c5fd, 0x01bc4090, 0x01bc6090, 0x039e4090, 0x21bc40ba, 0x23bc40ba
- .4byte 0x039c4090, 0x03be4098, 0x23bc4090, 0x23bc4090, 0x01b46098, 0x03b46098, 0x33b46098, 0x19f4e1fd
- .4byte 0x19f4e1fd, 0x03b44898, 0x03b44898, 0x05b56098, 0x05b57098, 0x05bd6098, 0x05bd6098, 0x05bd6098
- .4byte 0x29b4c0fb, 0x29b4c0ff, 0x019c4098, 0x059d5098, 0x07977498, 0x07977498, 0x07bd4098, 0x039e4498
- .4byte 0x1bfec4fd, 0x0fb5c9fd, 0x0fb5c9fd, 0x09fee0ff, 0x1bf6c5fd, 0x1bf6e5fd, 0x03b64498, 0x03b64498
- .4byte 0x00000000, 0x019e4498, 0x19fee5fd, 0x23b6409a, 0x39fce0fd, 0x39fce0fd, 0x39fce0fd, 0x1df5d4b8
- .4byte 0x1df5d4b8, 0x21b4409a, 0x1dffc0fd, 0x1dffe0fd, 0x1dffe0fd, 0x019c4098, 0x03bc4098, 0x03bc4098
- .4byte 0x23be6cba, 0x019e4c98, 0x01be4d98, 0x23b44098, 0x3ffde8ff, 0x01be6098, 0x25b56098, 0x25b56098
- .4byte 0x3dfde8fd, 0x079e4898, 0x0bf6c9fd, 0x0bf6c9fd, 0x01b66098, 0x01b66098, 0x21b4609a, 0x21b460da
- .4byte 0x1dfe4c98, 0x1dfe4c98, 0x1dfe4c98, 0x21b46098, 0x25b56098, 0x27b56098, 0x00000000, 0x2ffff098
- .4byte 0x2ffff098, 0x1df7f8fd, 0x0dfff8fd, 0x0df7f8fd, 0x07be6898, 0x3fb7e8ff, 0x23be6898, 0x23be4c98
- .4byte 0x23be4c98, 0x1ffecd98, 0x1bfeecfd, 0x059f4490
-
- .align 2
-gUnknown_086156B8:: @ 86156B8
- .4byte 0x000011f0, 0x000021e1, 0x000003c2
-
- .align 2
-gUnknown_086156C4:: @ 86156C4
- .4byte sub_81B2658, 0x0d280b18, 0x08201420, 0x08081440, 0x08182526, 0x08182535, 0x03302318, 0x1040220c
-
- .align 2
-gUnknown_086156E4:: @ 86156E4
- .4byte sub_81B26BC, 0x0d280316, 0x08200c1e, 0x08080c3e, 0x08180c66, 0x08180c75, 0x03300a58, 0x1040044d
-
- .align 2
-gUnknown_08615704:: @ 8615704
- .4byte 0x32142810, 0x22103432, 0x1c6c1268, 0x19661b88, 0x346c2a68, 0x31663388, 0x4c6c4268, 0x49664b88
- .4byte 0x646c5a68, 0x61666388, 0x7c6c7268, 0x79667b88, 0x22141810, 0x12102432, 0x5a145010, 0x4a105c32
- .4byte 0x1c6c1268, 0x19661b88, 0x3c6c3268, 0x39663b88, 0x5c6c5268, 0x59665b88, 0x7c6c7268, 0x79667b88
- .4byte 0x22141810, 0x12102432, 0x5a145010, 0x4a105c32, 0x246a1a68, 0x21662388, 0x3c6a3268, 0x39663b88
- .4byte 0x5c6a5268, 0x59665b88, 0x746a6a68, 0x71667388, 0x2a142010, 0x1a102c32, 0x2c6a2268, 0x29662b88
- .4byte 0x446a3a68, 0x41664388, 0x72146810, 0x62107432, 0x746a6a68, 0x71667388, 0x8c6a8268, 0x89668b88
-
- .align 1
-gUnknown_086157C4:: @ 86157C4
- .incbin "graphics/interface/unknown_6157C4.bin"
-
- .align 1
-gUnknown_086157E0:: @ 86157E0
- .incbin "graphics/interface/unknown_6157E0.bin"
-
-gUnknown_086157FC:: @ 86157FC
- .byte 0x00, 0x03, 0x02, 0x00
-
-gUnknown_08615800:: @ 8615800
- .byte 0x01, 0x06, 0x00, 0x0b, 0x0c, 0x01, 0x02, 0x03, 0x01, 0x08, 0x09, 0x00, 0x01, 0x02, 0x00, 0x00
-
- .align 2
-gUnknown_08615810:: @ 8615810
- window_template 0x00, 0x01, 0x03, 0x0a, 0x07, 0x03, 0x0063
- window_template 0x00, 0x0c, 0x01, 0x12, 0x03, 0x04, 0x00a9
- window_template 0x00, 0x0c, 0x04, 0x12, 0x03, 0x05, 0x00df
- window_template 0x00, 0x0c, 0x07, 0x12, 0x03, 0x06, 0x0115
- window_template 0x00, 0x0c, 0x0a, 0x12, 0x03, 0x07, 0x014b
- window_template 0x00, 0x0c, 0x0d, 0x12, 0x03, 0x08, 0x0181
- window_template 0x02, 0x01, 0x0f, 0x1c, 0x04, 0x0e, 0x01df
- null_window_template
-
- .align 2
-gUnknown_08615850:: @ 8615850
- window_template 0x00, 0x01, 0x01, 0x0a, 0x07, 0x03, 0x0063
- window_template 0x00, 0x01, 0x08, 0x0a, 0x07, 0x04, 0x00a9
- window_template 0x00, 0x0c, 0x01, 0x12, 0x03, 0x05, 0x00ef
- window_template 0x00, 0x0c, 0x05, 0x12, 0x03, 0x06, 0x0125
- window_template 0x00, 0x0c, 0x09, 0x12, 0x03, 0x07, 0x015b
- window_template 0x00, 0x0c, 0x0d, 0x12, 0x03, 0x08, 0x0191
- window_template 0x02, 0x01, 0x0f, 0x1c, 0x04, 0x0e, 0x01df
- null_window_template
-
- .align 2
-gUnknown_08615890:: @ 8615890
- window_template 0x00, 0x01, 0x01, 0x0a, 0x07, 0x03, 0x0063
- window_template 0x00, 0x01, 0x08, 0x0a, 0x07, 0x04, 0x00a9
- window_template 0x00, 0x0c, 0x02, 0x12, 0x03, 0x05, 0x00ef
- window_template 0x00, 0x0c, 0x05, 0x12, 0x03, 0x06, 0x0125
- window_template 0x00, 0x0c, 0x09, 0x12, 0x03, 0x07, 0x015b
- window_template 0x00, 0x0c, 0x0c, 0x12, 0x03, 0x08, 0x0191
- window_template 0x02, 0x01, 0x0f, 0x1c, 0x04, 0x0e, 0x01df
- null_window_template
-
- .align 2
-gUnknown_086158D0:: @ 86158D0
- window_template 0x00, 0x01, 0x02, 0x0a, 0x07, 0x03, 0x0063
- window_template 0x00, 0x0c, 0x03, 0x12, 0x03, 0x05, 0x00a9
- window_template 0x00, 0x0c, 0x06, 0x12, 0x03, 0x06, 0x00df
- window_template 0x02, 0x01, 0x0b, 0x0a, 0x07, 0x04, 0x0115
- window_template 0x02, 0x0c, 0x0c, 0x12, 0x03, 0x07, 0x016b
- window_template 0x02, 0x0c, 0x0f, 0x12, 0x03, 0x08, 0x01a1
- null_window_template
-
- .align 2
-gUnknown_08615908:: @ 8615908
- window_template 0x00, 0x18, 0x11, 0x06, 0x02, 0x03, 0x01c7
-
- .align 2
-gUnknown_08615910:: @ 8615910
- window_template 0x00, 0x18, 0x12, 0x06, 0x02, 0x03, 0x01c7
-
- .align 2
-gUnknown_08615918:: @ 8615918
- window_template 0x00, 0x18, 0x10, 0x06, 0x02, 0x03, 0x01d3
-
- .align 2
-gUnknown_08615920:: @ 8615920
- window_template 0x02, 0x01, 0x11, 0x15, 0x02, 0x0f, 0x024f
-
- .align 2
-gUnknown_08615928:: @ 8615928
- window_template 0x02, 0x01, 0x11, 0x10, 0x02, 0x0f, 0x0279
-
- .align 2
-gUnknown_08615930:: @ 8615930
- window_template 0x02, 0x01, 0x11, 0x14, 0x02, 0x0f, 0x0299
-
- .align 2
-gUnknown_08615938:: @ 8615938
- window_template 0x02, 0x01, 0x11, 0x12, 0x02, 0x0f, 0x0299
-
- .align 2
-gUnknown_08615940:: @ 8615940
- window_template 0x02, 0x01, 0x11, 0x10, 0x02, 0x0f, 0x0299
-
- .align 2
-gUnknown_08615948:: @ 8615948
- window_template 0x02, 0x01, 0x0f, 0x14, 0x04, 0x0f, 0x0299
-
- .align 2
-gUnknown_08615950:: @ 8615950
- window_template 0x02, 0x17, 0x0d, 0x06, 0x06, 0x0e, 0x039d
-
- .align 2
-gUnknown_08615958:: @ 8615958
- window_template 0x02, 0x15, 0x0d, 0x08, 0x06, 0x0e, 0x039d
-
- .align 2
-gUnknown_08615960:: @ 8615960
- window_template 0x02, 0x13, 0x0b, 0x0a, 0x08, 0x0e, 0x02e9
-
- .align 2
-gUnknown_08615968:: @ 8615968
- window_template 0x02, 0x15, 0x09, 0x05, 0x04, 0x0e, 0x02e9
-
- .align 2
-gUnknown_08615970:: @ 8615970
- window_template 0x02, 0x13, 0x01, 0x0a, 0x0b, 0x0e, 0x02e9
- window_template 0x02, 0x02, 0x0f, 0x1b, 0x04, 0x0e, 0x01df
- window_template 0x02, 0x00, 0x0d, 0x12, 0x03, 0x0c, 0x039d
-
-gUnknown_08615988:: @ 8615988
- .byte 0x18, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x1a, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x20, 0x21
- .byte 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x28, 0x3b, 0x3c, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3d, 0x0f, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x11, 0x2e, 0x2f, 0x2f, 0x2f
- .byte 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x30
-
-gUnknown_086159CE:: @ 86159CE
- .byte 0x18, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x1a, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x20, 0x21
- .byte 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x28, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x2a, 0x0f, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x11, 0x2e, 0x2f, 0x2f, 0x2f
- .byte 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x30
-
-gUnknown_08615A14:: @ 8615A14
- .byte 0x2b, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2d, 0x31, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x34, 0x35, 0x33, 0x33, 0x33
- .byte 0x33, 0x33, 0x33, 0x36, 0x37, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x39
-
-gUnknown_08615A4A:: @ 8615A4A
- .byte 0x2b, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2d, 0x31, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21
- .byte 0x21, 0x21, 0x21, 0x32, 0x37, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x39
-
-gUnknown_08615A80:: @ 8615A80
- .byte 0x15, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x17, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x1f, 0x25, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x27
-
-gUnknown_08615AB6:: @ 8615AB6
- .byte 0x0b, 0x0c
-
-gUnknown_08615AB8:: @ 8615AB8
- .byte 0x09, 0x0a
-
-gUnknown_08615ABA:: @ 8615ABA
- .byte 0x04, 0x05, 0x06
-
-gUnknown_08615ABD:: @ 8615ABD
- .byte 0x01, 0x07, 0x08
-
-gUnknown_08615AC0:: @ 8615AC0
- .byte 0x01, 0x0b, 0x0c
-
-gUnknown_08615AC3:: @ 8615AC3
- .byte 0x3b, 0x3c
-
-gUnknown_08615AC5:: @ 8615AC5
- .byte 0x4b, 0x4c
-
-gUnknown_08615AC7:: @ 8615AC7
- .byte 0x39, 0x3a
-
-gUnknown_08615AC9:: @ 8615AC9
- .byte 0x49, 0x4a
-
-gUnknown_08615ACB:: @ 8615ACB
- .byte 0x59, 0x5a
-
-gUnknown_08615ACD:: @ 8615ACD
- .byte 0x34, 0x35, 0x36
-
-gUnknown_08615AD0:: @ 8615AD0
- .byte 0x44, 0x45, 0x46
-
-gUnknown_08615AD3:: @ 8615AD3
- .byte 0x54, 0x55, 0x56
-
-gUnknown_08615AD6:: @ 8615AD6
- .byte 0x74, 0x75, 0x76
-
-gUnknown_08615AD9:: @ 8615AD9
- .byte 0x84, 0x85, 0x86
-
-gUnknown_08615ADC:: @ 8615ADC
- .byte 0x94, 0x95, 0x96
-
-gUnknown_08615ADF:: @ 8615ADF
- .byte 0x64, 0x65, 0x66
-
-gUnknown_08615AE2:: @ 8615AE2
- .byte 0x31, 0x37, 0x38
-
-gUnknown_08615AE5:: @ 8615AE5
- .byte 0x41, 0x47, 0x48
-
-gUnknown_08615AE8:: @ 8615AE8
- .byte 0x51, 0x57, 0x58
-
-gUnknown_08615AEB:: @ 8615AEB
- .byte 0x61, 0x67, 0x68
-
-gUnknown_08615AEE:: @ 8615AEE
- .byte 0xa1, 0xa7, 0xa8
-
-gUnknown_08615AF1:: @ 8615AF1
- .byte 0x11, 0x1b, 0x1c
-
- .align 2
-gUnknown_08615AF4:: @ 8615AF4
- .4byte gUnknown_085E9E43
- .4byte gUnknown_085EA010
- .4byte gUnknown_085EA02A
- .4byte gUnknown_085E9E55
- .4byte gUnknown_085E9E64
- .4byte gUnknown_085E9E79
- .4byte gUnknown_085E9E8F
- .4byte gUnknown_085E9EBC
- .4byte gUnknown_085E9ED4
- .4byte gUnknown_085E9EE9
- .4byte gUnknown_085E9FDB
- .4byte gUnknown_085EA046
- .4byte gUnknown_085EA05B
- .4byte gUnknown_085E9F01
- .4byte gUnknown_085E9F58
- .4byte gUnknown_085E9F6F
- .4byte gUnknown_085E9F81
- .4byte gUnknown_085E9F90
- .4byte gUnknown_085E9FA7
- .4byte gUnknown_085E9FC2
- .4byte gText_EmptyString2
- .4byte gUnknown_085E9EA6
- .4byte gUnknown_085E9F16
- .4byte gUnknown_085E9F2A
- .4byte gUnknown_085E9F42
- .4byte gUnknown_085E9FF9
- .4byte gUnknown_085EA073
-
-gUnknown_08615B60:: @ 8615B60
- .4byte gUnknown_085EA091
- .4byte gUnknown_085EA099
- .4byte gUnknown_085EA09E
- .4byte gUnknown_085EA0A4
- .4byte gUnknown_085EA0AB
- .4byte gUnknown_085EA0E7
- .4byte gUnknown_085EA0B1
- .4byte gUnknown_085EA0B6
- .4byte gUnknown_085EA0BF
- .4byte gUnknown_085EA0C5
- .4byte gUnknown_085EA0CF
- .4byte gUnknown_085EA0D7
- .4byte gUnknown_085EA0DC
-
- .align 1
-gUnknown_08615B94:: @ 8615B94
- .2byte 0x0108, 0x0151, 0x0160, 0x015b, 0x002e, 0x005c, 0x0102, 0x0153, 0x014b, 0x00ed, 0x00f1, 0x010d, 0x003a, 0x003b, 0x003f, 0x0071
- .2byte 0x00b6, 0x00f0, 0x00ca, 0x00db, 0x00da, 0x004c, 0x00e7, 0x0055, 0x0057, 0x0059, 0x00d8, 0x005b, 0x005e, 0x00f7, 0x0118, 0x0068
- .2byte 0x0073, 0x015f, 0x0035, 0x00bc, 0x00c9, 0x007e, 0x013d, 0x014c, 0x0103, 0x0107, 0x0122, 0x009c, 0x00d5, 0x00a8, 0x00d3, 0x011d
- .2byte 0x0121, 0x013b, 0x000f, 0x0013, 0x0039, 0x0046, 0x0094, 0x00f9, 0x007f, 0x0123
-
- .align 2
-gUnknown_08615C08:: @ 8615C08
- .4byte gText_Summary5, sub_81B37FC
- .4byte gText_Switch2, brm_switch
- .4byte gText_Cancel2, brm_cancel_1
- .4byte gText_Item, sub_81B4134
- .4byte gMenuText_Give, sub_81B4198
- .4byte gText_Take, sub_81B4724
- .4byte gText_Mail, sub_81B4A08
- .4byte gText_Take2, brm_take_2
- .4byte gText_Read2, sub_81B4A6C
- .4byte gText_Cancel2, sub_81B4D78
- .4byte gText_Shift, brm_shift_sendout
- .4byte gText_SendOut, brm_shift_sendout
- .4byte gText_Enter, sub_81B4E8C
- .4byte gText_NoEntry, sub_81B4FA8
- .4byte gText_Store, sub_81B50AC
- .4byte gText_Register, sub_81B50C8
- .4byte gText_Trade4, brm_trade_1
- .4byte gText_Trade4, sub_81B52E4
- .4byte gMenuText_Toss, sub_81B47E0
- .4byte gMoveNames+195, sub_81B5470
- .4byte gMoveNames+1924, sub_81B5470
- .4byte gMoveNames+3237, sub_81B5470
- .4byte gMoveNames+910, sub_81B5470
- .4byte gMoveNames+741, sub_81B5470
- .4byte gMoveNames+247, sub_81B5470
- .4byte gMoveNames+3783, sub_81B5470
- .4byte gMoveNames+1651, sub_81B5470
- .4byte gMoveNames+1300, sub_81B5470
- .4byte gMoveNames+1183, sub_81B5470
- .4byte gMoveNames+3770, sub_81B5470
- .4byte gMoveNames+2704, sub_81B5470
- .4byte gMoveNames+1755, sub_81B5470
- .4byte gMoveNames+2990, sub_81B5470
-
-gUnknown_08615D10:: @ 8615D10
- .byte 0x00, 0x01, 0x02
-
-gUnknown_08615D13:: @ 8615D13
- .byte 0x0a, 0x00, 0x02
-
-gUnknown_08615D16:: @ 8615D16
- .byte 0x0b, 0x00, 0x02
-
-gUnknown_08615D19:: @ 8615D19
- .byte 0x00, 0x02
-
-gUnknown_08615D1B:: @ 8615D1B
- .byte 0x0c, 0x00, 0x02
-
-gUnknown_08615D1E:: @ 8615D1E
- .byte 0x0d, 0x00, 0x02
-
-gUnknown_08615D21:: @ 8615D21
- .byte 0x0e, 0x00, 0x02
-
-gUnknown_08615D24:: @ 8615D24
- .byte 0x04, 0x05, 0x09
-
-gUnknown_08615D27:: @ 8615D27
- .byte 0x08, 0x07, 0x09
-
-gUnknown_08615D2A:: @ 8615D2A
- .byte 0x0f, 0x00, 0x02
-
-gUnknown_08615D2D:: @ 8615D2D
- .byte 0x10, 0x00, 0x02
-
-gUnknown_08615D30:: @ 8615D30
- .byte 0x11, 0x00, 0x02
-
-gUnknown_08615D33:: @ 8615D33
- .byte 0x05, 0x12, 0x02
-
- .align 2
-gUnknown_08615D38:: @ 8615D38
- .4byte NULL, gUnknown_08615D10, gUnknown_08615D13, gUnknown_08615D16, gUnknown_08615D1B, gUnknown_08615D1E, gUnknown_08615D21, gUnknown_08615D19
- .4byte gUnknown_08615D24, gUnknown_08615D27, gUnknown_08615D2A, gUnknown_08615D2D, gUnknown_08615D30, gUnknown_08615D33
-
-gUnknown_08615D70:: @ 8615D70
- .byte 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03
-
- .align 1
-gUnknown_08615D7E:: @ 8615D7E
- .2byte 0x000f, 0x0094, 0x00f9, 0x0046, 0x0039, 0x0013, 0x0123, 0x007f, 0x0064, 0x005b, 0x0122, 0x00d0, 0x0087, 0x00e6, 0x000e
-
- .align 2
-gUnknown_08615D9C:: @ 8615D9C
- .4byte SetUpFieldMove_Cut, 0x00000007
- .4byte SetUpFieldMove_Flash, 0x0000000d
- .4byte SetUpFieldMove_RockSmash, 0x0000000d
- .4byte SetUpFieldMove_Strength, 0x0000000d
- .4byte sub_81B5820, 0x00000008
- .4byte sub_81B5884, 0x0000000d
- .4byte sub_81B5974, 0x0000000d
- .4byte hm_prepare_waterfall, 0x0000000d
- .4byte SetUpFieldMove_Teleport, 0x0000000d
- .4byte SetUpFieldMove_Dig, 0x0000000d
- .4byte sub_80FA004, 0x0000000d
- .4byte SetUpFieldMove_SoftBoiled, 0x00000010
- .4byte SetUpFieldMove_SoftBoiled, 0x00000010
- .4byte SetUpFieldMove_SweetScent, 0x0000000d
-
- .align 2
-gUnknown_08615E0C:: @ 8615E0C
- .4byte gText_NotPkmnOtherTrainerWants
- .4byte gText_ThatIsntAnEgg
- .4byte gText_PkmnCantBeTradedNow
- .4byte gText_PkmnCantBeTradedNow
- .4byte gText_OtherTrainersPkmnCantBeTraded
- .4byte gText_EggCantBeTradedNow
- .4byte gText_OtherTrainerCantAcceptPkmn
- .4byte gText_CantTradeWithTrainer
- .4byte gText_CantTradeWithTrainer
-
- .align 2
-gUnknown_08615E30:: @ 8615E30
- .incbin "graphics/interface/hold_icons.4bpp"
-
- .align 2
-gUnknown_08615E70:: @ 8615E70
- .incbin "graphics/interface/hold_icons.gbapal"
-
- .align 2
-gOamData_8615E90:: @ 8615E90
- .2byte 0x0000, 0x0000, 0x0400, 0x0000
-
- .align 2
-gSpriteAnim_8615E98:: @ 8615E98
- .2byte 0x0000, 0x0001, 0xffff, 0x0000
-
- .align 2
-gSpriteAnim_8615EA0:: @ 8615EA0
- .2byte 0x0001, 0x0001, 0xffff, 0x0000
-
- .align 2
-gSpriteAnimTable_8615EA8:: @ 8615EA8
- .4byte gSpriteAnim_8615E98
- .4byte gSpriteAnim_8615EA0
-
- .align 2
-gUnknown_08615EB0:: @ 8615EB0
- obj_tiles gUnknown_08615E30, 0x40, 55120
-
- .align 2
-gUnknown_08615EB8:: @ 8615EB8
- obj_pal gUnknown_08615E70, 55120
-
- .align 2
-gSpriteTemplate_8615EC0:: @ 8615EC0
- spr_template 0xd750, 0xd750, gOamData_8615E90, gSpriteAnimTable_8615EA8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gOamData_8615ED8:: @ 8615ED8
- .2byte 0x0000, 0x8000, 0x0400, 0x0000
-
- .align 2
-gSpriteAnim_8615EE0:: @ 8615EE0
- .2byte 0x0000, 0x0000, 0xffff, 0x0000
-
- .align 2
-gSpriteAnim_8615EE8:: @ 8615EE8
- .2byte 0x0010, 0x0000, 0xffff, 0x0000
-
- .align 2
-gSpriteAnimTable_8615EF0:: @ 8615EF0
- .4byte gSpriteAnim_8615EE0
- .4byte gSpriteAnim_8615EE8
-
- .align 2
-gUnknown_08615EF8:: @ 8615EF8
- obj_tiles gPartyMenuPokeball_Gfx, 0x400, 1200
-
- .align 2
-gUnknown_08615F00:: @ 8615F00
- obj_pal gPartyMenuPokeball_Pal, 1200
-
- .align 2
-gSpriteTemplate_8615F08:: @ 8615F08
- spr_template 0x04b0, 0x04b0, gOamData_8615ED8, gSpriteAnimTable_8615EF0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gOamData_8615F20:: @ 8615F20
- .2byte 0x0000, 0x4000, 0x0800, 0x0000
-
- .align 2
-gSpriteAnim_8615F28:: @ 8615F28
- .2byte 0x0000, 0x0000, 0xffff, 0x0000
-
- .align 2
-gSpriteAnim_8615F30:: @ 8615F30
- .2byte 0x0004, 0x0000, 0xffff, 0x0000
-
- .align 2
-gSpriteAnim_8615F38:: @ 8615F38
- .2byte 0x0008, 0x0000, 0xffff, 0x0000
-
- .align 2
-gSpriteAnim_8615F40:: @ 8615F40
- .2byte 0x000c, 0x0000, 0xffff, 0x0000
-
- .align 2
-gSpriteAnim_8615F48:: @ 8615F48
- .2byte 0x0010, 0x0000, 0xffff, 0x0000
-
- .align 2
-gSpriteAnim_8615F50:: @ 8615F50
- .2byte 0x0014, 0x0000, 0xffff, 0x0000
-
- .align 2
-gSpriteAnimTable_8615F58:: @ 8615F58
- .4byte gSpriteAnim_8615F28
- .4byte gSpriteAnim_8615F30
- .4byte gSpriteAnim_8615F38
- .4byte gSpriteAnim_8615F40
- .4byte gSpriteAnim_8615F48
- .4byte gSpriteAnim_8615F50
-
- .align 2
-gUnknown_08615F70:: @ 8615F70
- obj_tiles gPartyMenuPokeballSmall_Gfx, 0x0300, 0x04b1
-
- .align 2
-gSpriteTemplate_8615F78:: @ 8615F78
- spr_template 0x04b1, 0x04b0, gOamData_8615F20, gSpriteAnimTable_8615F58, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gOamData_8615F90:: @ 8615F90
- .2byte 0x4000, 0x4000, 0x0400, 0x0000
-
- .align 2
-gSpriteAnim_8615F98:: @ 8615F98
- .2byte 0x0000, 0x0000, 0xffff, 0x0000
-
- .align 2
-gSpriteAnim_8615FA0:: @ 8615FA0
- .2byte 0x0004, 0x0000, 0xffff, 0x0000
-
- .align 2
-gSpriteAnim_8615FA8:: @ 8615FA8
- .2byte 0x0008, 0x0000, 0xffff, 0x0000
-
- .align 2
-gSpriteAnim_8615FB0:: @ 8615FB0
- .2byte 0x000c, 0x0000, 0xffff, 0x0000
-
- .align 2
-gSpriteAnim_8615FB8:: @ 8615FB8
- .2byte 0x0010, 0x0000, 0xffff, 0x0000
-
- .align 2
-gSpriteAnim_8615FC0:: @ 8615FC0
- .2byte 0x0014, 0x0000, 0xffff, 0x0000
-
- .align 2
-gSpriteAnim_8615FC8:: @ 8615FC8
- .2byte 0x0018, 0x0000, 0xffff, 0x0000
-
- .align 2
-gSpriteAnim_8615FD0:: @ 8615FD0
- .2byte 0x001c, 0x0000, 0xffff, 0x0000
-
- .align 2
-gSpriteAnimTable_8615FD8:: @ 8615FD8
- .4byte gSpriteAnim_8615F98
- .4byte gSpriteAnim_8615FA0
- .4byte gSpriteAnim_8615FA8
- .4byte gSpriteAnim_8615FB0
- .4byte gSpriteAnim_8615FB8
- .4byte gSpriteAnim_8615FC0
- .4byte gSpriteAnim_8615FC8
- .4byte gSpriteAnim_8615FD0
-
- .align 2
-gUnknown_08615FF8:: @ 8615FF8
- obj_tiles gStatusGfx_Icons, 0x400, 1202
-
- .align 2
-gUnknown_08616000:: @ 8616000
- obj_pal gStatusPal_Icons, 1202
-
- .align 2
-gSpriteTemplate_8616008:: @ 8616008
- spr_template 0x04b2, 0x04b2, gOamData_8615F90, gSpriteAnimTable_8615FD8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
-gUnknown_08616020:: @ 8616020
- .byte 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00
-
- .align 2
-gUnknown_08616028:: @ 8616028
- .4byte gText_HP4
- .4byte gText_Attack3
- .4byte gText_Defense3
- .4byte gText_SpAtk4
- .4byte gText_SpDef4
- .4byte gText_Speed2
-
- .align 1
-gUnknown_08616040:: @ 8616040
- .2byte 0x0108, 0x0151, 0x0160, 0x015b, 0x002e, 0x005c, 0x0102, 0x0153, 0x014b, 0x00ed, 0x00f1, 0x010d, 0x003a, 0x003b, 0x003f, 0x0071
- .2byte 0x00b6, 0x00f0, 0x00ca, 0x00db, 0x00da, 0x004c, 0x00e7, 0x0055, 0x0057, 0x0059, 0x00d8, 0x005b, 0x005e, 0x00f7, 0x0118, 0x0068
- .2byte 0x0073, 0x015f, 0x0035, 0x00bc, 0x00c9, 0x007e, 0x013d, 0x014c, 0x0103, 0x0107, 0x0122, 0x009c, 0x00d5, 0x00a8, 0x00d3, 0x011d
- .2byte 0x0121, 0x013b, 0x000f, 0x0013, 0x0039, 0x0046, 0x0094, 0x00f9, 0x007f, 0x0123
-
diff --git a/data/pokemon_storage_system.s b/data/pokemon_storage_system.s
deleted file mode 100644
index b859133a6..000000000
--- a/data/pokemon_storage_system.s
+++ /dev/null
@@ -1,1118 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
- .align 2
-gUnknown_085720DC:: @ 85720DC
- .incbin "graphics/pokemon_storage/scrolling_bg.4bpp.lz"
-
- .align 2
-gUnknown_08572174:: @ 8572174
- .incbin "graphics/pokemon_storage/scrolling_bg.bin.lz"
-
- .align 2
-gUnknown_08572280:: @ 8572280
- .incbin "graphics/unknown/unknown_572280.gbapal"
-
- .align 2
-gUnknown_085722A0:: @ 85722A0
- .incbin "graphics/unknown/unknown_5722A0.bin.lz"
-
- .align 1
-gUnknown_0857239C:: @ 857239C
- .2byte 0x0101, 0x0102, 0x0103, 0x0104, 0x0105, 0x0106, 0x0107, 0x0108, 0x0111, 0x0112, 0x0113, 0x0114, 0x0115, 0x0116, 0x0117, 0x0118
- .2byte 0x2101, 0x2102, 0x2103, 0x2104, 0x2105, 0x2106, 0x2107, 0x2108, 0x2111, 0x2112, 0x2113, 0x2114, 0x2115, 0x2116, 0x2117, 0x2118
-
- .align 2
-gUnknown_085723DC:: @ 85723DC
- .incbin "graphics/unknown/unknown_5723DC.gbapal"
-
- .align 2
-gUnknown_085723FC:: @ 85723FC
- .incbin "graphics/unknown/unknown_5723FC.gbapal"
-
- .align 2
-gUnknown_0857241C:: @ 857241C
- .incbin "graphics/unknown/unknown_57241C.gbapal"
-
- .align 2
-gUnknown_0857243C:: @ 857243C
- .incbin "graphics/unknown/unknown_57243C.gbapal"
-
- .align 1
-gUnknown_0857245C:: @ 857245C
- .2byte 0x014c, 0x014d, 0x014e, 0x014f, 0x0170, 0x0171, 0x0172, 0x0173, 0x0174, 0x015c, 0x015d, 0x015e, 0x015f, 0x0180, 0x0181, 0x0182
- .2byte 0x0183, 0x0184, 0x0175, 0x0176, 0x0177, 0x0178, 0x0179, 0x017a, 0x017b, 0x017c, 0x017d, 0x0185, 0x0186, 0x0187, 0x0188, 0x0189
- .2byte 0x018a, 0x018b, 0x018c, 0x018d
-
- .align 1
-gUnknown_085724A4:: @ 85724A4
- .2byte 0x1140, 0x1141, 0x1141, 0x1142, 0x1150, 0x1151, 0x1151, 0x1152, 0x1160, 0x1161, 0x1161, 0x1162
-
- .align 1
-gUnknown_085724BC:: @ 85724BC
- .2byte 0x1143, 0x1144, 0x1144, 0x1145, 0x1153, 0x1154, 0x1154, 0x1155, 0x1163, 0x1164, 0x1164, 0x1165
-
- .align 2
-WaveformPalette:: @ 85724D4
- .incbin "graphics/pokemon_storage/waveform.gbapal"
-
- .align 2
-WaveformTiles:: @ 85724F4
- .incbin "graphics/pokemon_storage/waveform.4bpp"
-
- .align 2
-gUnknown_085726B4:: @ 85726B4
- .incbin "graphics/unused/unknown_5726B4.gbapal"
-
- .align 2
-gUnknown_085726F4:: @ 85726F4
- .incbin "graphics/unknown/unknown_5726F4.gbapal"
-
- .align 2
-gUnknown_08572714:: @ 8572714
- window_template 0x01, 0x00, 0x0b, 0x09, 0x07, 0x03, 0x00c0
- window_template 0x00, 0x0b, 0x11, 0x12, 0x02, 0x0f, 0x0014
- window_template 0x00, 0x00, 0x0d, 0x15, 0x07, 0x0f, 0x0014
- null_window_template
-
- .align 2
-gUnknown_08572734:: @ 8572734
- .4byte 0x000001d0, 0x004011e5, 0x000023ba, 0x000031ff
-
- .align 2
-gWaveformSpritePalette:: @ 8572744
- obj_pal WaveformPalette, 0xDACA
-
- .align 2
-gWaveformSpriteSheet:: @ 857274C
- obj_tiles WaveformTiles, 0x1C0, 5
-
-gUnknown_08572754:: @ 8572754
- spr_template 2, 0xDAC6, gOamData_857286C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
-gUnknown_0857276C:: @ 857276C
- .4byte gText_ExitFromBox, 0
- .4byte gText_WhatDoYouWantToDo, 0
- .4byte gText_PleasePickATheme, 0
- .4byte gText_PickTheWallpaper, 0
- .4byte gText_PkmnIsSelected, 1
- .4byte gText_JumpToWhichBox, 0
- .4byte gText_DepositInWhichBox, 0
- .4byte gText_PkmnWasDeposited, 1
- .4byte gText_BoxIsFull2, 0
- .4byte gText_ReleaseThisPokemon, 0
- .4byte gText_PkmnWasReleased, 4
- .4byte gText_ByeByePkmn, 6
- .4byte gText_MarkYourPkmn, 0
- .4byte gText_ThatsYourLastPkmn, 0
- .4byte gText_YourPartysFull, 0
- .4byte gText_YoureHoldingAPkmn, 0
- .4byte gText_WhichOneWillYouTake, 0
- .4byte gText_YouCantReleaseAnEgg, 0
- .4byte gText_ContinueBoxOperations, 0
- .4byte gText_PkmnCameBack, 1
- .4byte gText_WasItWorriedAboutYou, 0
- .4byte gText_FourEllipsesExclamation, 0
- .4byte gText_PleaseRemoveTheMail, 0
- .4byte gText_PkmnIsSelected, 7
- .4byte gText_GiveToAPkmn, 0
- .4byte gText_PlacedItemInBag, 7
- .4byte gText_BagIsFull2, 0
- .4byte gText_PutItemInBag, 0
- .4byte gText_ItemIsNowHeld, 7
- .4byte gText_ChangedToNewItem, 7
- .4byte gText_MailCantBeStored, 0
-
- .align 2
-gUnknown_08572864:: @ 8572864
- window_template 0, 0x18, 0xB, 5, 4, 0xF, 0x5C
-
- .align 2
-gOamData_857286C:: @ 857286C
- .2byte 0x0000
- .2byte 0xC000
- .2byte 0x0000
-
- .align 2
-gOamData_8572874:: @ 8572874
- .2byte 0x4000
- .2byte 0x0000
- .2byte 0x0000
-
- .align 2
-gSpriteAnim_857287C:: @ 857287C
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8572884:: @ 8572884
- obj_image_anim_frame 2, 8
- obj_image_anim_frame 4, 8
- obj_image_anim_frame 6, 8
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_8572894:: @ 8572894
- obj_image_anim_frame 8, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_857289C:: @ 857289C
- obj_image_anim_frame 10, 8
- obj_image_anim_frame 4, 8
- obj_image_anim_frame 12, 8
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_85728AC:: @ 85728AC
- .4byte gSpriteAnim_857287C
- .4byte gSpriteAnim_8572884
- .4byte gSpriteAnim_8572894
- .4byte gSpriteAnim_857289C
-
-gUnknown_085728BC:: @ 85728BC
- spr_template 5, 0xDACA, gOamData_8572874, gSpriteAnimTable_85728AC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gUnknown_085728D4:: @ 85728D4
- spr_template 0x12, 0xDAC0, gOamData_85728EC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gOamData_85728EC:: @ 85728EC
- .2byte 0x0000
- .2byte 0x8000
- .2byte 0x0000
-
- .align 2
-gSpriteAffineAnim_85728F4:: @ 85728F4
- obj_rot_scal_anim_frame 0xFFFE, 0xFFFE, 0, 120
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnim_8572904:: @ 8572904
- obj_rot_scal_anim_frame 0x10, 0x10, 0, 0
- obj_rot_scal_anim_frame 0x10, 0x10, 0, 15
- obj_rot_scal_anim_end
-
- .align 2
-gSpriteAffineAnimTable_857291C:: @ 857291C
- .4byte gSpriteAffineAnim_85728F4
- .4byte gSpriteAffineAnim_8572904
-
- .align 2
-gWallpaperPalettes_Forest:: @ 8572924
- .incbin "graphics/pokemon_storage/forest_frame.gbapal"
- .incbin "graphics/pokemon_storage/forest_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Forest: @ 8572964
- .incbin "graphics/pokemon_storage/forest.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Forest:: @ 8572DE8
- .incbin "graphics/pokemon_storage/forest.bin.lz"
-
- .align 2
-gWallpaperPalettes_City: @ 8572EC8
- .incbin "graphics/pokemon_storage/city_frame.gbapal"
- .incbin "graphics/pokemon_storage/city_bg.gbapal"
-
- .align 2
-gWallpaperTiles_City: @ 8572F08
- .incbin "graphics/pokemon_storage/city.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_City: @ 8573220
- .incbin "graphics/pokemon_storage/city.bin.lz"
-
- .align 2
-gWallpaperPalettes_Desert: @ 85732FC
- .incbin "graphics/pokemon_storage/desert_frame.gbapal"
- .incbin "graphics/pokemon_storage/desert_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Desert: @ 857333C
- .incbin "graphics/pokemon_storage/desert.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Desert: @ 85736F0
- .incbin "graphics/pokemon_storage/desert.bin.lz"
-
- .align 2
-gWallpaperPalettes_Savanna: @ 85737EC
- .incbin "graphics/pokemon_storage/savanna_frame.gbapal"
- .incbin "graphics/pokemon_storage/savanna_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Savanna: @ 857382C
- .incbin "graphics/pokemon_storage/savanna.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Savanna: @ 8573C40
- .incbin "graphics/pokemon_storage/savanna.bin.lz"
-
- .align 2
-gWallpaperPalettes_Crag: @ 8573D44
- .incbin "graphics/pokemon_storage/crag_frame.gbapal"
- .incbin "graphics/pokemon_storage/crag_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Crag: @ 8573D84
- .incbin "graphics/pokemon_storage/crag.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Crag: @ 8574180
- .incbin "graphics/pokemon_storage/crag.bin.lz"
-
- .align 2
-gWallpaperPalettes_Volcano: @ 8573D44
- .incbin "graphics/pokemon_storage/volcano_frame.gbapal"
- .incbin "graphics/pokemon_storage/volcano_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Volcano: @ 8573D84
- .incbin "graphics/pokemon_storage/volcano.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Volcano: @ 85747A0
- .incbin "graphics/pokemon_storage/volcano.bin.lz"
-
- .align 2
-gWallpaperPalettes_Snow: @ 85748DC
- .incbin "graphics/pokemon_storage/snow_frame.gbapal"
- .incbin "graphics/pokemon_storage/snow_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Snow: @ 857491C
- .incbin "graphics/pokemon_storage/snow.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Snow: @ 8574D7C
- .incbin "graphics/pokemon_storage/snow.bin.lz"
-
- .align 2
-gWallpaperPalettes_Cave: @ 8574E88
- .incbin "graphics/pokemon_storage/cave_frame.gbapal"
- .incbin "graphics/pokemon_storage/cave_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Cave: @ 8574EC8
- .incbin "graphics/pokemon_storage/cave.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Cave: @ 85752A0
- .incbin "graphics/pokemon_storage/cave.bin.lz"
-
- .align 2
-gWallpaperPalettes_Beach: @ 8575378
- .incbin "graphics/pokemon_storage/beach_frame.gbapal"
- .incbin "graphics/pokemon_storage/beach_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Beach: @ 85753B8
- .incbin "graphics/pokemon_storage/beach.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Beach: @ 8575788
- .incbin "graphics/pokemon_storage/beach.bin.lz"
-
- .align 2
-gWallpaperPalettes_Seafloor: @ 8575888
- .incbin "graphics/pokemon_storage/seafloor_frame.gbapal"
- .incbin "graphics/pokemon_storage/seafloor_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Seafloor: @ 85758C8
- .incbin "graphics/pokemon_storage/seafloor.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Seafloor: @ 8575BC4
- .incbin "graphics/pokemon_storage/seafloor.bin.lz"
-
- .align 2
-gWallpaperPalettes_River: @ 8575CD8
- .incbin "graphics/pokemon_storage/river_frame.gbapal"
- .incbin "graphics/pokemon_storage/river_bg.gbapal"
-
- .align 2
-gWallpaperTiles_River: @ 8575D18
- .incbin "graphics/pokemon_storage/river.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_River: @ 8576100
- .incbin "graphics/pokemon_storage/river.bin.lz"
-
- .align 2
-gWallpaperPalettes_Sky: @ 85761F8
- .incbin "graphics/pokemon_storage/sky_frame.gbapal"
- .incbin "graphics/pokemon_storage/sky_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Sky: @ 8576238
- .incbin "graphics/pokemon_storage/sky.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Sky: @ 85765C0
- .incbin "graphics/pokemon_storage/sky.bin.lz"
-
- .align 2
-gWallpaperPalettes_PolkaDot: @ 85766B0
- .incbin "graphics/pokemon_storage/polkadot_frame.gbapal"
- .incbin "graphics/pokemon_storage/polkadot_bg.gbapal"
-
- .align 2
-gWallpaperTiles_PolkaDot: @ 85766F0
- .incbin "graphics/pokemon_storage/polkadot.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_PolkaDot: @ 85769B8
- .incbin "graphics/pokemon_storage/polkadot.bin.lz"
-
- .align 2
-gWallpaperPalettes_Pokecenter: @ 8576AB8
- .incbin "graphics/pokemon_storage/pokecenter_frame.gbapal"
- .incbin "graphics/pokemon_storage/pokecenter_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Pokecenter: @ 8576AF8
- .incbin "graphics/pokemon_storage/pokecenter.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Pokecenter: @ 8576D74
- .incbin "graphics/pokemon_storage/pokecenter.bin.lz"
-
- .align 2
-gWallpaperPalettes_Machine: @ 8576E74
- .incbin "graphics/pokemon_storage/machine_frame.gbapal"
- .incbin "graphics/pokemon_storage/machine_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Machine: @ 8576EB4
- .incbin "graphics/pokemon_storage/machine.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Machine: @ 8577108
- .incbin "graphics/pokemon_storage/machine.bin.lz"
-
- .align 2
-gWallpaperPalettes_Plain: @ 85771CC
- .incbin "graphics/pokemon_storage/plain_frame.gbapal"
- .incbin "graphics/pokemon_storage/plain_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Plain: @ 857720C
- .incbin "graphics/pokemon_storage/plain.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Plain: @ 857732C
- .incbin "graphics/pokemon_storage/plain.bin.lz"
-
-@ 12×18 tilemap
- .incbin "graphics/unused/tilemap_5773C4.bin"
-
- .align 1
-gUnknown_08577574:: @ 8577574
- .2byte 0x1CE7, 0x7FFF
- .2byte 0x1CE7, 0x7FFF
- .2byte 0x1CE7, 0x7FFF
- .2byte 0x1CE7, 0x7FFF
- .2byte 0x1CE7, 0x7FFF
- .2byte 0x1CE7, 0x7FFF
- .2byte 0x1CE7, 0x7FFF
- .2byte 0x1CE7, 0x7FFF
- .2byte 0x1CE7, 0x7FFF
- .2byte 0x1CE7, 0x7FFF
- .2byte 0x1CE7, 0x7FFF
- .2byte 0x1CE7, 0x7FFF
- .2byte 0x1CE7, 0x7FFF
- .2byte 0x1CE7, 0x7FFF
- .2byte 0x1CE7, 0x7FFF
- .2byte 0x1CE7, 0x7FFF
- .2byte 0x1CE7, 0x7FFF
-
- .align 2
-gWallpaperTable:: @ 85775B8
- @ Forest
- .4byte gWallpaperTiles_Forest
- .4byte gWallpaperTilemap_Forest
- .4byte gWallpaperPalettes_Forest
-
- @ City
- .4byte gWallpaperTiles_City
- .4byte gWallpaperTilemap_City
- .4byte gWallpaperPalettes_City
-
- @ Desert
- .4byte gWallpaperTiles_Desert
- .4byte gWallpaperTilemap_Desert
- .4byte gWallpaperPalettes_Desert
-
- @ Savanna
- .4byte gWallpaperTiles_Savanna
- .4byte gWallpaperTilemap_Savanna
- .4byte gWallpaperPalettes_Savanna
-
- @ Crag
- .4byte gWallpaperTiles_Crag
- .4byte gWallpaperTilemap_Crag
- .4byte gWallpaperPalettes_Crag
-
- @ Volcano
- .4byte gWallpaperTiles_Volcano
- .4byte gWallpaperTilemap_Volcano
- .4byte gWallpaperPalettes_Volcano
-
- @ Snow
- .4byte gWallpaperTiles_Snow
- .4byte gWallpaperTilemap_Snow
- .4byte gWallpaperPalettes_Snow
-
- @ Cave
- .4byte gWallpaperTiles_Cave
- .4byte gWallpaperTilemap_Cave
- .4byte gWallpaperPalettes_Cave
-
- @ Beach
- .4byte gWallpaperTiles_Beach
- .4byte gWallpaperTilemap_Beach
- .4byte gWallpaperPalettes_Beach
-
- @ Seafloor
- .4byte gWallpaperTiles_Seafloor
- .4byte gWallpaperTilemap_Seafloor
- .4byte gWallpaperPalettes_Seafloor
-
- @ River
- .4byte gWallpaperTiles_River
- .4byte gWallpaperTilemap_River
- .4byte gWallpaperPalettes_River
-
- @ Sky
- .4byte gWallpaperTiles_Sky
- .4byte gWallpaperTilemap_Sky
- .4byte gWallpaperPalettes_Sky
-
- @ PolkaDot
- .4byte gWallpaperTiles_PolkaDot
- .4byte gWallpaperTilemap_PolkaDot
- .4byte gWallpaperPalettes_PolkaDot
-
- @ Pokecenter
- .4byte gWallpaperTiles_Pokecenter
- .4byte gWallpaperTilemap_Pokecenter
- .4byte gWallpaperPalettes_Pokecenter
-
- @ Machine
- .4byte gWallpaperTiles_Machine
- .4byte gWallpaperTilemap_Machine
- .4byte gWallpaperPalettes_Machine
-
- @ Plain
- .4byte gWallpaperTiles_Plain
- .4byte gWallpaperTilemap_Plain
- .4byte gWallpaperPalettes_Plain
-
- .align 2
-PCGfx_Arrow: @ 8577678
- .incbin "graphics/pokemon_storage/arrow.4bpp"
-
- .align 2
-gWallpaperPalettes_Zigzagoon:: @ 85776F8
- .incbin "graphics/pokemon_storage/friends_frame1.gbapal"
- .incbin "graphics/pokemon_storage/zigzagoon_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Zigzagoon: @ 8577738
- .incbin "graphics/pokemon_storage/zigzagoon.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Zigzagoon: @ 857792C
- .incbin "graphics/pokemon_storage/zigzagoon.bin.lz"
-
- .align 2
-gWallpaperPalettes_Screen:: @ 8577A44
- .incbin "graphics/pokemon_storage/friends_frame1.gbapal"
- .incbin "graphics/pokemon_storage/screen_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Screen: @ 8577A84
- .incbin "graphics/pokemon_storage/screen.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Screen: @ 8577D00
- .incbin "graphics/pokemon_storage/screen.bin.lz"
-
- .align 2
-gWallpaperPalettes_Diagonal:: @ 8577E2C
- .incbin "graphics/pokemon_storage/friends_frame1.gbapal"
- .incbin "graphics/pokemon_storage/diagonal_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Diagonal: @ 8577E6C
- .incbin "graphics/pokemon_storage/diagonal.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Diagonal: @ 8578058
- .incbin "graphics/pokemon_storage/diagonal.bin.lz"
-
- .align 2
-gWallpaperPalettes_Block:: @ 8578148
- .incbin "graphics/pokemon_storage/block_bg.gbapal"
- .incbin "graphics/pokemon_storage/block_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Block: @ 8578188
- .incbin "graphics/pokemon_storage/block.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Block: @ 8578358
- .incbin "graphics/pokemon_storage/block.bin.lz"
-
- .align 2
-gWallpaperPalettes_Pokecenter2:: @ 8578450
- .incbin "graphics/pokemon_storage/pokecenter2_bg.gbapal"
- .incbin "graphics/pokemon_storage/pokecenter2_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Pokecenter2: @ 8578490
- .incbin "graphics/pokemon_storage/pokecenter2.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Pokecenter2: @ 85786D0
- .incbin "graphics/pokemon_storage/pokecenter2.bin.lz"
-
- .align 2
-gWallpaperPalettes_Frame:: @ 85787E4
- .incbin "graphics/pokemon_storage/frame_bg.gbapal"
- .incbin "graphics/pokemon_storage/frame_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Frame: @ 8578824
- .incbin "graphics/pokemon_storage/frame.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Frame: @ 8578A34
- .incbin "graphics/pokemon_storage/frame.bin.lz"
-
- .align 2
-gWallpaperPalettes_Blank:: @ 8578B48
- .incbin "graphics/pokemon_storage/friends_frame1.gbapal"
- .incbin "graphics/pokemon_storage/zigzagoon_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Blank: @ 8578B88
- .incbin "graphics/pokemon_storage/blank.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Blank: @ 8578D34
- .incbin "graphics/pokemon_storage/blank.bin.lz"
-
- .align 2
-gWallpaperPalettes_Circles:: @ 8578E10
- .incbin "graphics/pokemon_storage/friends_frame2.gbapal"
- .incbin "graphics/pokemon_storage/circles_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Circles: @ 8578E50
- .incbin "graphics/pokemon_storage/circles.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Circles: @ 85790A4
- .incbin "graphics/pokemon_storage/circles.bin.lz"
-
- .align 2
-gWallpaperPalettes_Azumarill:: @ 85791A0
- .incbin "graphics/pokemon_storage/friends_frame2.gbapal"
- .incbin "graphics/pokemon_storage/azumarill_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Azumarill: @ 85791E0
- .incbin "graphics/pokemon_storage/azumarill.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Azumarill: @ 85793CC
- .incbin "graphics/pokemon_storage/azumarill.bin.lz"
-
- .align 2
-gWallpaperPalettes_Pikachu:: @ 85794C4
- .incbin "graphics/pokemon_storage/friends_frame2.gbapal"
- .incbin "graphics/pokemon_storage/pikachu_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Pikachu: @ 8579504
- .incbin "graphics/pokemon_storage/pikachu.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Pikachu: @ 8579738
- .incbin "graphics/pokemon_storage/pikachu.bin.lz"
-
- .align 2
-gWallpaperPalettes_Legendary:: @ 8579860
- .incbin "graphics/pokemon_storage/friends_frame2.gbapal"
- .incbin "graphics/pokemon_storage/legendary_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Legendary: @ 85798A0
- .incbin "graphics/pokemon_storage/legendary.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Legendary: @ 8579B80
- .incbin "graphics/pokemon_storage/legendary.bin.lz"
-
- .align 2
-gWallpaperPalettes_Dusclops:: @ 8579CC4
- .incbin "graphics/pokemon_storage/friends_frame2.gbapal"
- .incbin "graphics/pokemon_storage/dusclops_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Dusclops: @ 8579D04
- .incbin "graphics/pokemon_storage/dusclops.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Dusclops: @ 8579F50
- .incbin "graphics/pokemon_storage/dusclops.bin.lz"
-
- .align 2
-gWallpaperPalettes_Ludicolo:: @ 857A048
- .incbin "graphics/pokemon_storage/friends_frame2.gbapal"
- .incbin "graphics/pokemon_storage/ludicolo_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Ludicolo: @ 857A088
- .incbin "graphics/pokemon_storage/ludicolo.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Ludicolo: @ 857A348
- .incbin "graphics/pokemon_storage/ludicolo.bin.lz"
-
- .align 2
-gWallpaperPalettes_Whiscash:: @ 857A468
- .incbin "graphics/pokemon_storage/friends_frame2.gbapal"
- .incbin "graphics/pokemon_storage/whiscash_bg.gbapal"
-
- .align 2
-gWallpaperTiles_Whiscash: @ 857A4A8
- .incbin "graphics/pokemon_storage/whiscash.4bpp.lz"
-
- .align 2
-gWallpaperTilemap_Whiscash: @ 857A6F0
- .incbin "graphics/pokemon_storage/whiscash.bin.lz"
-
- .align 2
-gWallpaperIcon_Aqua: @ 857A81C
- .incbin "graphics/pokemon_storage/aqua_icon.4bpp.lz"
-
- .align 2
-gWallpaperIcon_Heart: @ 857A860
- .incbin "graphics/pokemon_storage/heart_icon.4bpp.lz"
-
- .align 2
-gWallpaperIcon_FiveStar: @ 857A89C
- .incbin "graphics/pokemon_storage/five_star_icon.4bpp.lz"
-
- .align 2
-gWallpaperIcon_Brick: @ 857A8DC
- .incbin "graphics/pokemon_storage/brick_icon.4bpp.lz"
-
- .align 2
-gWallpaperIcon_FourStar: @ 857A904
- .incbin "graphics/pokemon_storage/four_star_icon.4bpp.lz"
-
- .align 2
-gWallpaperIcon_Asterisk: @ 857A940
- .incbin "graphics/pokemon_storage/asterisk_icon.4bpp.lz"
-
- .align 2
-gWallpaperIcon_Dot: @ 857A990
- .incbin "graphics/pokemon_storage/dot_icon.4bpp.lz"
-
- .align 2
-gWallpaperIcon_LineCircle: @ 857A9C0
- .incbin "graphics/pokemon_storage/line_circle_icon.4bpp.lz"
-
- .align 2
-gWallpaperIcon_PokeBall: @ 857A9EC
- .incbin "graphics/pokemon_storage/pokeball_icon.4bpp.lz"
-
- .align 2
-gWallpaperIcon_Maze: @ 857AA38
- .incbin "graphics/pokemon_storage/maze_icon.4bpp.lz"
-
- .align 2
-gWallpaperIcon_Footprint: @ 857AA7C
- .incbin "graphics/pokemon_storage/footprint_icon.4bpp.lz"
-
- .align 2
-gWallpaperIcon_BigAsterisk: @ 857AAC4
- .incbin "graphics/pokemon_storage/big_asterisk_icon.4bpp.lz"
-
- .align 2
-gWallpaperIcon_Circle: @ 857AB08
- .incbin "graphics/pokemon_storage/circle_icon.4bpp.lz"
-
- .align 2
-gWallpaperIcon_Koffing: @ 857AB48
- .incbin "graphics/pokemon_storage/koffing_icon.4bpp.lz"
-
- .align 2
-gWallpaperIcon_Ribbon: @ 857AB98
- .incbin "graphics/pokemon_storage/ribbon_icon.4bpp.lz"
-
- .align 2
-gWallpaperIcon_FourCircles: @ 857AC00
- .incbin "graphics/pokemon_storage/four_circles_icon.4bpp.lz"
-
- .align 2
-gWallpaperIcon_Lotad: @ 857AC30
- .incbin "graphics/pokemon_storage/lotad_icon.4bpp.lz"
-
- .align 2
-gWallpaperIcon_Crystal: @ 857AC74
- .incbin "graphics/pokemon_storage/crystal_icon.4bpp.lz"
-
- .align 2
-gWallpaperIcon_Pichu: @ 857ACBC
- .incbin "graphics/pokemon_storage/pichu_icon.4bpp.lz"
-
- .align 2
-gWallpaperIcon_Diglett: @ 857ACF4
- .incbin "graphics/pokemon_storage/diglett_icon.4bpp.lz"
-
- .align 2
-gWallpaperIcon_Luvdisc: @ 857AD44
- .incbin "graphics/pokemon_storage/luvdisc_icon.4bpp.lz"
-
- .align 2
-gWallpaperIcon_StarInCircle: @ 857AD88
- .incbin "graphics/pokemon_storage/star_in_circle_icon.4bpp.lz"
-
- .align 2
-gWallpaperIcon_Spinda: @ 857ADCC
- .incbin "graphics/pokemon_storage/spinda_icon.4bpp.lz"
-
- .align 2
-gWallpaperIcon_Latis: @ 857AE20
- .incbin "graphics/pokemon_storage/latis_icon.4bpp.lz"
-
- .align 2
-gWallpaperIcon_Minun: @ 857AE64
- .incbin "graphics/pokemon_storage/minun_icon.4bpp.lz"
-
- .align 2
-gWallpaperIcon_Togepi: @ 857AEAC
- .incbin "graphics/pokemon_storage/togepi_icon.4bpp.lz"
-
- .align 2
-gWallpaperIcon_Magma: @ 857AF08
- .incbin "graphics/pokemon_storage/magma_icon.4bpp.lz"
-
- .align 2
-gUnknown_0857AF44:: @ 857AF44
- .4byte gWallpaperTiles_Zigzagoon, gWallpaperTilemap_Zigzagoon, gWallpaperPalettes_Zigzagoon
- .4byte gWallpaperTiles_Screen, gWallpaperTilemap_Screen, gWallpaperPalettes_Screen
- .4byte gWallpaperTiles_Horizontal, gWallpaperTilemap_Horizontal, gWallpaperPalettes_Horizontal
- .4byte gWallpaperTiles_Diagonal, gWallpaperTilemap_Diagonal, gWallpaperPalettes_Diagonal
- .4byte gWallpaperTiles_Block, gWallpaperTilemap_Block, gWallpaperPalettes_Block
- .4byte gWallpaperTiles_Ribbon, gWallpaperTilemap_Ribbon, gWallpaperPalettes_Ribbon
- .4byte gWallpaperTiles_Pokecenter2, gWallpaperTilemap_Pokecenter2, gWallpaperPalettes_Pokecenter2
- .4byte gWallpaperTiles_Frame, gWallpaperTilemap_Frame, gWallpaperPalettes_Frame
- .4byte gWallpaperTiles_Blank, gWallpaperTilemap_Blank, gWallpaperPalettes_Blank
- .4byte gWallpaperTiles_Circles, gWallpaperTilemap_Circles, gWallpaperPalettes_Circles
- .4byte gWallpaperTiles_Azumarill, gWallpaperTilemap_Azumarill, gWallpaperPalettes_Azumarill
- .4byte gWallpaperTiles_Pikachu, gWallpaperTilemap_Pikachu, gWallpaperPalettes_Pikachu
- .4byte gWallpaperTiles_Legendary, gWallpaperTilemap_Legendary, gWallpaperPalettes_Legendary
- .4byte gWallpaperTiles_Dusclops, gWallpaperTilemap_Dusclops, gWallpaperPalettes_Dusclops
- .4byte gWallpaperTiles_Ludicolo, gWallpaperTilemap_Ludicolo, gWallpaperPalettes_Ludicolo
- .4byte gWallpaperTiles_Whiscash, gWallpaperTilemap_Whiscash, gWallpaperPalettes_Whiscash
-
- .align 2
-gUnknown_0857B004:: @ 857B004
- .4byte gWallpaperIcon_Aqua
- .4byte gWallpaperIcon_Heart
- .4byte gWallpaperIcon_FiveStar
- .4byte gWallpaperIcon_Brick
- .4byte gWallpaperIcon_FourStar
- .4byte gWallpaperIcon_Asterisk
- .4byte gWallpaperIcon_Dot
- .4byte gWallpaperIcon_Cross
- .4byte gWallpaperIcon_LineCircle
- .4byte gWallpaperIcon_PokeBall
- .4byte gWallpaperIcon_Maze
- .4byte gWallpaperIcon_Footprint
- .4byte gWallpaperIcon_BigAsterisk
- .4byte gWallpaperIcon_Circle
- .4byte gWallpaperIcon_Koffing
- .4byte gWallpaperIcon_Ribbon
- .4byte gWallpaperIcon_Bolt
- .4byte gWallpaperIcon_FourCircles
- .4byte gWallpaperIcon_Lotad
- .4byte gWallpaperIcon_Crystal
- .4byte gWallpaperIcon_Pichu
- .4byte gWallpaperIcon_Diglett
- .4byte gWallpaperIcon_Luvdisc
- .4byte gWallpaperIcon_StarInCircle
- .4byte gWallpaperIcon_Spinda
- .4byte gWallpaperIcon_Latis
- .4byte gWallpaperIcon_Plusle
- .4byte gWallpaperIcon_Minun
- .4byte gWallpaperIcon_Togepi
- .4byte gWallpaperIcon_Magma
-
- .align 2
-gUnknown_0857B07C:: @ 857B07C
- .4byte 0x23BA
-
- .align 2
-gUnknown_0857B080:: @ 857B080
- obj_tiles PCGfx_Arrow, 128, 0x0006
-
- .align 2
-gOamData_857B088:: @ 857B088
- .2byte 0x4000
- .2byte 0x8000
- .2byte 0x0800
-
- .align 2
-gSpriteAnim_857B090:: @ 857B090
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_857B098:: @ 857B098
- obj_image_anim_frame 8, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_857B0A0:: @ 857B0A0
- .4byte gSpriteAnim_857B090
- .4byte gSpriteAnim_857B098
-
- .align 2
-gSpriteTemplate_857B0A8:: @ 857B0A8
- spr_template 0x0003, 0xDAC9, gOamData_857B088, gSpriteAnimTable_857B0A0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gOamData_857B0C0:: @ 857B0C0
- .2byte 0x8000
- .2byte 0x0000
- .2byte 0x0800
-
- .align 2
-gSpriteAnim_857B0C8:: @ 857B0C8
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_857B0D0:: @ 857B0D0
- obj_image_anim_frame 2, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_857B0D8:: @ 857B0D8
- .4byte gSpriteAnim_857B0C8
- .4byte gSpriteAnim_857B0D0
-
-gUnknown_0857B0E0:: @ 857B0E0
- spr_template 0x0006, 0xDACA, gOamData_857B0C0, gSpriteAnimTable_857B0D8, NULL, gDummySpriteAffineAnimTable, sub_80CD210
-
- .align 2
-HandCursorPalette: @ 857B0F8
- .incbin "graphics/pokemon_storage/hand_cursor.gbapal"
-
- .align 2
-HandCursorTiles: @ 857B118
- .incbin "graphics/pokemon_storage/hand_cursor.4bpp"
-
- .align 2
-HandCursorShadowTiles: @ 857B918
- .incbin "graphics/pokemon_storage/hand_cursor_shadow.4bpp"
-
- .align 2
-gUnknown_0857B998:: @ 857B998
- .4byte sub_80CDCCC
- .4byte sub_80CDD5C
- .4byte sub_80CDDD8
-
- .align 2
-gUnknown_0857B9A4:: @ 857B9A4
- .byte 0x22, 0x00
- .2byte 0x0039
- .byte 0x22, 0x00
- .2byte 0x0123
- .byte 0x10, 0x0a
- .2byte 0x0046
- .byte 0x10, 0x0a
- .2byte 0x00f9
- .byte 0x10, 0x0e
- .2byte 0x0046
- .byte 0x10, 0x0e
- .2byte 0x00f9
-
- .align 2
-gUnknown_0857B9BC:: @ 857B9BC
- .4byte sub_80CF0CC, 0
- .4byte sub_80CF5C4, 1
- .4byte sub_80CF7E4, 2
- .4byte sub_80CF8D8, 3
- .4byte NULL, 0
-
- .align 2
-gHandCursorSpriteSheets:: @ 857B9E4
- obj_tiles HandCursorTiles, 0x0800, 0x0000
- obj_tiles HandCursorShadowTiles, 0x0080, 0x0001
- null_obj_tiles
-
- .align 2
-gHandCursorSpritePalettes:: @ 857B9FC
- obj_pal HandCursorPalette, 0xDAC7
- null_obj_pal
-
- .align 2
-gOamData_857BA0C:: @ 857BA0C
- .2byte 0x0000
- .2byte 0x8000
- .2byte 0x0400
-
- .align 2
-gOamData_857BA14:: @ 857BA14
- .2byte 0x0000
- .2byte 0x4000
- .2byte 0x0400
-
- .align 2
-gSpriteAnim_857BA1C:: @ 857BA1C
- obj_image_anim_frame 0, 30
- obj_image_anim_frame 16, 30
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_857BA28:: @ 857BA28
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_857BA30:: @ 857BA30
- obj_image_anim_frame 32, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_857BA38:: @ 857BA38
- obj_image_anim_frame 48, 5
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_857BA40:: @ 857BA40
- .4byte gSpriteAnim_857BA1C
- .4byte gSpriteAnim_857BA28
- .4byte gSpriteAnim_857BA30
- .4byte gSpriteAnim_857BA38
-
- .align 2
-gSpriteTemplate_857BA50:: @ 857BA50
- spr_template 0, 0xDACA, gOamData_857BA0C, gSpriteAnimTable_857BA40, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_857BA68:: @ 857BA68
- spr_template 1, 0xDACA, gOamData_857BA14, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CFBF4
-
- .align 2
-gUnknown_0857BA80:: @ 857BA80
- .4byte gPCText_Cancel
- .4byte gPCText_Store
- .4byte gPCText_Withdraw
- .4byte gPCText_Move
- .4byte gPCText_Shift
- .4byte gPCText_Place
- .4byte gPCText_Summary
- .4byte gPCText_Release
- .4byte gPCText_Mark
- .4byte gPCText_Jump
- .4byte gPCText_Wallpaper
- .4byte gPCText_Name
- .4byte gPCText_Take
- .4byte gPCText_Give
- .4byte gPCText_Give
- .4byte gPCText_Switch
- .4byte gPCText_Bag
- .4byte gPCText_Info
- .4byte gPCText_Scenery1
- .4byte gPCText_Scenery2
- .4byte gPCText_Scenery3
- .4byte gPCText_Etcetera
- .4byte gPCText_Friends
- .4byte gPCText_Forest
- .4byte gPCText_City
- .4byte gPCText_Desert
- .4byte gPCText_Savanna
- .4byte gPCText_Crag
- .4byte gPCText_Volcano
- .4byte gPCText_Snow
- .4byte gPCText_Cave
- .4byte gPCText_Beach
- .4byte gPCText_Seafloor
- .4byte gPCText_River
- .4byte gPCText_Sky
- .4byte gPCText_PolkaDot
- .4byte gPCText_Pokecenter
- .4byte gPCText_Machine
- .4byte gPCText_Simple
-
- .align 2
-gUnknown_0857BB1C:: @ 857BB1C
- window_template 0x00, 0x0a, 0x03, 0x14, 0x12, 0x09, 0x000a
-
- .align 2
-gUnknown_0857BB24:: @ 857BB24
- .incbin "graphics/pokemon_storage/unknown_frame.4bpp"
-
- .align 2
-gOamData_857BBA4:: @ 857BBA4
- .2byte 0x0100, 0x8000, 0x0400, 0x0000
-
- .align 2
-gSpriteAffineAnim_857BBAC:: @ 857BBAC
- .2byte 0x0080, 0x0080, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gSpriteAffineAnim_857BBBC:: @ 857BBBC
- .2byte 0x0058, 0x0058, 0x0000, 0x0000, 0x0005, 0x0005, 0x0800, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gSpriteAffineAnim_857BBD4:: @ 857BBD4
- .2byte 0x0080, 0x0080, 0x0000, 0x0000, 0xfffb, 0xfffb, 0x0800, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gSpriteAffineAnim_857BBEC:: @ 857BBEC
- .2byte 0x0080, 0x0080, 0x0000, 0x0000, 0x000a, 0x000a, 0x0c00, 0x0000, 0x0100, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gSpriteAffineAnim_857BC0C:: @ 857BC0C
- .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0xfff6, 0xfff6, 0x0c00, 0x0000, 0x0080, 0x0080, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gSpriteAffineAnim_857BC2C:: @ 857BC2C
- .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0xfffb, 0xfffb, 0x1000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gSpriteAffineAnim_857BC44:: @ 857BC44
- .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-
- .align 2
-gSpriteAffineAnimTable_857BC54:: @ 857BC54
- .4byte gSpriteAffineAnim_857BBAC
- .4byte gSpriteAffineAnim_857BBBC
- .4byte gSpriteAffineAnim_857BBD4
- .4byte gSpriteAffineAnim_857BBEC
- .4byte gSpriteAffineAnim_857BC0C
- .4byte gSpriteAffineAnim_857BC2C
- .4byte gSpriteAffineAnim_857BC44
-
- .align 2
-gSpriteTemplate_857BC70:: @ 857BC70
- spr_template 0x0007, 0xdacb, gOamData_857BBA4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_857BC54, SpriteCallbackDummy
-
-gSpriteTemplate_857BC88:: @ 857BC88
- .2byte 0x0100, 0x0100, 0x0200, 0x0100, 0x0100, 0x0200, 0x0200, 0x0200, 0x0080, 0x0080, 0x0100, 0x0100, 0x0200, 0x0200, 0x0400, 0x0400
-
diff --git a/data/scripts/apprentice.inc b/data/scripts/apprentice.inc
index 4ce7489c2..034732db2 100644
--- a/data/scripts/apprentice.inc
+++ b/data/scripts/apprentice.inc
@@ -28,27 +28,26 @@ EventScript_Apprentice:: @ 82B688D
setvar VAR_0x8004, 0
special CallApprenticeFunction
compare VAR_RESULT, 0
- goto_eq Script_Apprentice_FirstMeeting
+ goto_if_eq Script_Apprentice_FirstMeeting
setvar VAR_0x8004, 10
special CallApprenticeFunction
compare VAR_0x8004, 0
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B68BE
- checkflag FLAG_0x934
- goto_eq Script_Apprentice_ReleaseAndEnd
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B68BE
+ goto_if_set FLAG_0x934, Script_Apprentice_ReleaseAndEnd
BattleFrontier_BattleTowerLobby_EventScript_2B68BE:
setvar VAR_0x8004, 11
special CallApprenticeFunction
compare VAR_RESULT, 2
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B69D3
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B69D3
compare VAR_RESULT, 4
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6ACF
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6ACF
compare VAR_RESULT, 3
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6C77
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6C77
compare VAR_RESULT, 1
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6D5C
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6D5C
compare VAR_RESULT, 5
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6DD4
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6DD4
release
releaseall
end
@@ -60,7 +59,7 @@ Script_Apprentice_FirstMeeting:
Script_Apprentice_FirstMeetingNag:
apprentice_menu APPRENTICE_ASK_YES_NO
compare VAR_RESULT, 1
- goto_eq Script_Apprentice_FirstMeetingAskAgain
+ goto_if_eq Script_Apprentice_FirstMeetingAskAgain
apprentice_msg FALSE, 2
apprentice_menu APPRENTICE_ASK_WHICH_LEVEL
setvar VAR_0x8004, 1
@@ -93,9 +92,9 @@ BattleFrontier_BattleTowerLobby_EventScript_2B69D3:
apprentice_menu APPRENTICE_ASK_2SPECIES
copyvar VAR_0x8005, VAR_RESULT
compare VAR_0x8005, 0
- call_if 1, BattleFrontier_BattleTowerLobby_EventScript_2B6ABA
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6ABA
compare VAR_0x8005, 1
- call_if 1, BattleFrontier_BattleTowerLobby_EventScript_2B6AC0
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6AC0
setvar VAR_0x8004, 12
special CallApprenticeFunction
copyvar VAR_0x8006, VAR_RESULT
@@ -106,7 +105,7 @@ BattleFrontier_BattleTowerLobby_EventScript_2B69D3:
setvar VAR_0x8004, 12
special CallApprenticeFunction
compare VAR_RESULT, 3
- call_if 1, BattleFrontier_BattleTowerLobby_EventScript_2B6AC6
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6AC6
setvar VAR_0x8004, 16
setvar VAR_0x8005, 0
copyvar VAR_0x8006, VAR_0x8007
@@ -151,11 +150,11 @@ BattleFrontier_BattleTowerLobby_EventScript_2B6B09:
special CallApprenticeFunction
waitstate
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6B81
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6B81
setvar VAR_0x8004, 20
special CallApprenticeFunction
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6C0C
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6C0C
apprentice_buff 0, APPRENTICE_BUFF_ITEM
apprentice_msg TRUE, 12
setvar VAR_0x8004, 5
@@ -178,7 +177,7 @@ BattleFrontier_BattleTowerLobby_EventScript_2B6B81:
setvar VAR_0x8004, 15
special CallApprenticeFunction
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6B09
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6B09
BattleFrontier_BattleTowerLobby_EventScript_2B6BD4:
apprentice_msg TRUE, 14
@@ -203,7 +202,7 @@ BattleFrontier_BattleTowerLobby_EventScript_2B6C0C:
setvar VAR_0x8004, 15
special CallApprenticeFunction
compare VAR_RESULT, 0
- goto_eq BattleFrontier_BattleTowerLobby_EventScript_2B6B09
+ goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6B09
goto BattleFrontier_BattleTowerLobby_EventScript_2B6BD4
end
@@ -218,9 +217,9 @@ BattleFrontier_BattleTowerLobby_EventScript_2B6C77:
apprentice_menu APPRENTICE_ASK_MOVES
copyvar VAR_0x8005, VAR_RESULT
compare VAR_0x8005, 0
- call_if 1, BattleFrontier_BattleTowerLobby_EventScript_2B6D50
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6D50
compare VAR_0x8005, 1
- call_if 1, BattleFrontier_BattleTowerLobby_EventScript_2B6D56
+ call_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6D56
setvar VAR_0x8004, 17
special CallApprenticeFunction
setvar VAR_0x8004, 5
@@ -297,7 +296,7 @@ Script_Apprentice_LeaveGoRight:
setvar VAR_0x8004, 24
special CallApprenticeFunction
compare VAR_0x8004, 0
- goto_eq Script_Apprentice_End
+ goto_if_eq Script_Apprentice_End
applymovement 6, BattleFrontier_BattleTowerLobby_Movement_2B6E94
waitmovement 0
end
@@ -306,7 +305,7 @@ Script_Apprentice_Leave:
setvar VAR_0x8004, 24
special CallApprenticeFunction
compare VAR_0x8004, 0
- goto_eq Script_Apprentice_End
+ goto_if_eq Script_Apprentice_End
applymovement 6, BattleFrontier_BattleTowerLobby_Movement_2B6E95
waitmovement 0
end
diff --git a/data/scripts/berry_tree.inc b/data/scripts/berry_tree.inc
index f4208afd0..685949006 100644
--- a/data/scripts/berry_tree.inc
+++ b/data/scripts/berry_tree.inc
@@ -23,7 +23,7 @@ Route102_EventScript_274359:: @ 8274359
faceplayer
specialvar VAR_RESULT, PlayerHasBerries
compare VAR_RESULT, 1
- goto_eq Route102_EventScript_274374
+ goto_if_eq Route102_EventScript_274374
message Route102_Text_2744F0
waitmessage
waitbuttonpress
@@ -33,9 +33,9 @@ Route102_EventScript_274359:: @ 8274359
Route102_EventScript_274374:: @ 8274374
msgbox Route102_Text_274507, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq Route102_EventScript_274393
+ goto_if_eq Route102_EventScript_274393
compare VAR_RESULT, 0
- goto_eq Route102_EventScript_2743AF
+ goto_if_eq Route102_EventScript_2743AF
end
Route102_EventScript_274393:: @ 8274393
@@ -44,7 +44,7 @@ Route102_EventScript_274393:: @ 8274393
special Bag_ChooseBerry
waitstate
compare VAR_ITEM_ID, 0
- goto_eq Route102_EventScript_2743AF
+ goto_if_eq Route102_EventScript_2743AF
takeitem VAR_ITEM_ID, 1
call Route102_EventScript_2744DD
@@ -87,9 +87,9 @@ Route102_EventScript_2743E1:: @ 82743E1
Route102_EventScript_2743F6:: @ 82743F6
compare VAR_0x8005, 0
- goto_eq Route102_EventScript_27441A
+ goto_if_eq Route102_EventScript_27441A
compare VAR_0x8005, 4
- goto_eq Route102_EventScript_274413
+ goto_if_eq Route102_EventScript_274413
bufferstring 1, Route102_Text_2745E5
return
@@ -108,14 +108,14 @@ Route102_EventScript_274421:: @ 8274421
special EventObjectInteractionGetBerryCountString
msgbox Route102_Text_2745EE, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq Route102_EventScript_274448
+ goto_if_eq Route102_EventScript_274448
compare VAR_RESULT, 0
- goto_eq Route102_EventScript_274479
+ goto_if_eq Route102_EventScript_274479
Route102_EventScript_274448:: @ 8274448
special EventObjectInteractionPickBerryTree
compare VAR_0x8004, 0
- goto_eq Route102_EventScript_274470
+ goto_if_eq Route102_EventScript_274470
special sub_80EED34
special EventObjectInteractionRemoveBerryTree
message Route102_Text_27461B
@@ -153,13 +153,13 @@ Route102_EventScript_274482:: @ 8274482
Route102_EventScript_27448D:: @ 827448D
checkitem ITEM_WAILMER_PAIL, 1
compare VAR_RESULT, 0
- goto_eq Route102_EventScript_2744BE
+ goto_if_eq Route102_EventScript_2744BE
special EventObjectInteractionGetBerryName
msgbox Route102_Text_2746E4, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq Route102_EventScript_2744C4
+ goto_if_eq Route102_EventScript_2744C4
compare VAR_RESULT, 0
- goto_eq Route102_EventScript_2744BE
+ goto_if_eq Route102_EventScript_2744BE
Route102_EventScript_2744BE:: @ 82744BE
releaseall
@@ -174,7 +174,7 @@ Route102_EventScript_2744C4:: @ 82744C4
message Route102_Text_274710
waitmessage
special EventObjectInteractionWaterBerryTree
- special sub_80FAFF8
+ special DoWateringBerryTreeAnim
waitstate
message Route102_Text_274723
waitmessage
diff --git a/data/scripts/cable_club.inc b/data/scripts/cable_club.inc
index f77017830..b73d7e1fa 100644
--- a/data/scripts/cable_club.inc
+++ b/data/scripts/cable_club.inc
@@ -21,10 +21,10 @@ VerdanturfTown_PokemonCenter_2F_MapScript1_276ACF: @ 8276ACF
OldaleTown_PokemonCenter_2F_EventScript_276AD5:: @ 8276AD5
specialvar VAR_RESULT, sub_813B514
compare VAR_RESULT, 1
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_276AFB
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276AFB
specialvar VAR_RESULT, sub_801B27C
compare VAR_RESULT, 0
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_276AFF
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276AFF
goto OldaleTown_PokemonCenter_2F_EventScript_276AFB
end
@@ -55,7 +55,7 @@ SootopolisCity_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
VerdanturfTown_PokemonCenter_2F_EventScript_276B03:: @ 8276B03
specialvar VAR_RESULT, sub_813B514
compare VAR_RESULT, 1
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_276B23
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276B23
goto OldaleTown_PokemonCenter_2F_EventScript_276B19
end
@@ -69,9 +69,8 @@ OldaleTown_PokemonCenter_2F_EventScript_276B1A:: @ 8276B1A
OldaleTown_PokemonCenter_2F_EventScript_276B23:: @ 8276B23
checkitem ITEM_EON_TICKET, 1
compare VAR_RESULT, 1
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_276B19
- checkflag FLAG_SYS_HAS_EON_TICKET
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_276B19
+ 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
setflag FLAG_SYS_HAS_EON_TICKET
@@ -115,7 +114,7 @@ VerdanturfTown_PokemonCenter_2F_MapScript2_276B6C: @ 8276B6C
MossdeepCity_GameCorner_1F_EventScript_276BAE:: @ 8276BAE
OldaleTown_PokemonCenter_2F_EventScript_276BAE:: @ 8276BAE
compare VAR_0x8007, 0
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_276BBD
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276BBD
turnobject VAR_0x8007, 3
OldaleTown_PokemonCenter_2F_EventScript_276BBD:: @ 8276BBD
@@ -140,21 +139,21 @@ SlateportCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE
SootopolisCity_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE
VerdanturfTown_PokemonCenter_2F_MapScript1_276BBE: @ 8276BBE
compare VAR_0x4087, 1
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_276C17
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C17
compare VAR_0x4087, 2
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_276C17
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C17
compare VAR_0x4087, 5
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_276C17
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C17
compare VAR_0x4087, 3
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_276C1D
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C1D
compare VAR_0x4087, 4
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_276C23
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C23
compare VAR_0x4087, 6
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_276C29
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C29
compare VAR_0x4087, 7
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_276C2F
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C2F
compare VAR_0x4087, 8
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_276C35
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276C35
end
OldaleTown_PokemonCenter_2F_EventScript_276C17:: @ 8276C17
@@ -234,10 +233,10 @@ OldaleTown_PokemonCenter_2F_EventScript_276CB5:: @ 8276CB5
special CloseLink
setvar VAR_0x4087, 0
compare VAR_0x8007, 0
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_276DD5
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276DD5
applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_27734D
waitmovement 0
- applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27734F
+ applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27734F
waitmovement 0
applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_277349
waitmovement 0
@@ -257,8 +256,8 @@ OldaleTown_PokemonCenter_2F_EventScript_276CFF:: @ 8276CFF
special CloseLink
setvar VAR_0x4087, 0
compare VAR_0x8007, 0
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_276DD5
- applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27735E
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276DD5
+ applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735E
waitmovement 0
applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_27734D
waitmovement 0
@@ -278,10 +277,10 @@ OldaleTown_PokemonCenter_2F_EventScript_276D2C:: @ 8276D2C
OldaleTown_PokemonCenter_2F_EventScript_276D44:: @ 8276D44
special CloseLink
setvar VAR_0x4087, 0
- applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27734F
+ applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27734F
waitmovement 0
compare VAR_0x8007, 0
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_276D6B
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276D6B
applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_277349
waitmovement 0
@@ -301,8 +300,8 @@ OldaleTown_PokemonCenter_2F_EventScript_276D6C:: @ 8276D6C
OldaleTown_PokemonCenter_2F_EventScript_276D84:: @ 8276D84
setvar VAR_0x4087, 0
compare VAR_0x8007, 0
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_276DD5
- applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27735E
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276DD5
+ applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735E
waitmovement 0
applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_27734D
waitmovement 0
@@ -316,24 +315,24 @@ OldaleTown_PokemonCenter_2F_EventScript_276DAE:: @ 8276DAE
delay 60
message OldaleTown_PokemonCenter_2F_Text_27854C
waitmessage
- applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27734F
+ applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27734F
waitmovement 0
applymovement VAR_0x8007, OldaleTown_PokemonCenter_2F_Movement_277349
waitmovement 0
return
OldaleTown_PokemonCenter_2F_EventScript_276DD5:: @ 8276DD5
- applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27734F
+ applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27734F
waitmovement 0
return
OldaleTown_PokemonCenter_2F_EventScript_276DE0:: @ 8276DE0
lockall
- applymovement 255, OldaleTown_PokemonCenter_2F_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_2725A6
waitmovement 0
msgbox OldaleTown_PokemonCenter_2F_Text_27964A, MSGBOX_DEFAULT
closemessage
- applymovement 255, OldaleTown_PokemonCenter_2F_Movement_276E10
+ applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_276E10
waitmovement 0
delay 30
msgbox OldaleTown_PokemonCenter_2F_Text_279718, MSGBOX_DEFAULT
@@ -360,8 +359,7 @@ OldaleTown_PokemonCenter_2F_EventScript_276E22:: @ 8276E22
OldaleTown_PokemonCenter_2F_EventScript_276E30:: @ 8276E30
setvar VAR_0x8004, 0
- checkflag FLAG_VISITED_MAUVILLE_CITY
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_276E75
+ goto_if_set FLAG_VISITED_MAUVILLE_CITY, OldaleTown_PokemonCenter_2F_EventScript_276E75
multichoice 0, 0, 74, 0
switch VAR_RESULT
case 0, OldaleTown_PokemonCenter_2F_EventScript_2770B2
@@ -411,7 +409,7 @@ OldaleTown_PokemonCenter_2F_EventScript_276F23:: @ 8276F23
OldaleTown_PokemonCenter_2F_EventScript_276F2E:: @ 8276F2E
special HasEnoughMonsForDoubleBattle
compare VAR_RESULT, 0
- goto_if 5, OldaleTown_PokemonCenter_2F_EventScript_276F47
+ goto_if_ne OldaleTown_PokemonCenter_2F_EventScript_276F47
setvar VAR_0x8004, 2
goto OldaleTown_PokemonCenter_2F_EventScript_276F60
end
@@ -429,23 +427,23 @@ OldaleTown_PokemonCenter_2F_EventScript_276F55:: @ 8276F55
OldaleTown_PokemonCenter_2F_EventScript_276F60:: @ 8276F60
call OldaleTown_PokemonCenter_2F_EventScript_27134F
compare VAR_RESULT, 0
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
message gText_PleaseWaitForLink
waitmessage
special sub_80B2DA4
waitstate
compare VAR_RESULT, 1
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_276FBD
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276FBD
compare VAR_RESULT, 2
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772D2
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772D2
compare VAR_RESULT, 3
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772DF
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772DF
compare VAR_RESULT, 4
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_277046
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277046
compare VAR_RESULT, 5
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
compare VAR_RESULT, 6
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772C5
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772C5
end
OldaleTown_PokemonCenter_2F_EventScript_276FBD:: @ 8276FBD
@@ -462,18 +460,18 @@ OldaleTown_PokemonCenter_2F_EventScript_276FBD:: @ 8276FBD
applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D
waitmovement 0
closemessage
- applymovement 255, OldaleTown_PokemonCenter_2F_Movement_277356
+ applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_277356
waitmovement 0
opendoor 9, 1
waitdooranim
- applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27735A
+ applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735A
waitmovement 0
- hideobjectat 255, MAP_PETALBURG_CITY
+ hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY
closedoor 9, 1
waitdooranim
release
compare VAR_0x8004, 5
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_277036
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277036
special SetCableClubWarp
warp MAP_SINGLE_BATTLE_COLOSSEUM, 255, 6, 8
special sub_80AF948
@@ -481,7 +479,7 @@ OldaleTown_PokemonCenter_2F_EventScript_276FBD:: @ 8276FBD
end
OldaleTown_PokemonCenter_2F_EventScript_27702B:: @ 827702B
- applymovement 255, Movement_277352
+ applymovement EVENT_OBJ_ID_PLAYER, Movement_277352
waitmovement 0
return
@@ -528,30 +526,30 @@ OldaleTown_PokemonCenter_2F_EventScript_2770B2:: @ 82770B2
copyvar VAR_0x8007, VAR_LAST_TALKED
call OldaleTown_PokemonCenter_2F_EventScript_277199
compare VAR_RESULT, 0
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
call OldaleTown_PokemonCenter_2F_EventScript_27134F
compare VAR_RESULT, 0
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
message gText_PleaseWaitForLink
waitmessage
special sub_80B2E4C
waitstate
compare VAR_RESULT, 1
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_27713A
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27713A
compare VAR_RESULT, 2
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772D2
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772D2
compare VAR_RESULT, 3
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772DF
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772DF
compare VAR_RESULT, 4
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_27730E
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27730E
compare VAR_RESULT, 5
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
compare VAR_RESULT, 6
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772C5
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772C5
compare VAR_RESULT, 7
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772AB
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772AB
compare VAR_RESULT, 9
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772B8
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772B8
end
OldaleTown_PokemonCenter_2F_EventScript_27713A:: @ 827713A
@@ -566,13 +564,13 @@ OldaleTown_PokemonCenter_2F_EventScript_27713A:: @ 827713A
applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D
waitmovement 0
closemessage
- applymovement 255, OldaleTown_PokemonCenter_2F_Movement_277356
+ applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_277356
waitmovement 0
opendoor 9, 1
waitdooranim
- applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27735A
+ applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735A
waitmovement 0
- hideobjectat 255, MAP_PETALBURG_CITY
+ hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY
closedoor 9, 1
waitdooranim
release
@@ -585,10 +583,10 @@ OldaleTown_PokemonCenter_2F_EventScript_27713A:: @ 827713A
OldaleTown_PokemonCenter_2F_EventScript_277199:: @ 8277199
specialvar VAR_RESULT, CalculatePlayerPartyCount
compare VAR_RESULT, 2
- goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_2771BF
+ goto_if_lt OldaleTown_PokemonCenter_2F_EventScript_2771BF
specialvar VAR_RESULT, sub_80F9370
compare VAR_RESULT, 1
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_2771CD
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2771CD
setvar VAR_RESULT, 1
return
@@ -606,7 +604,7 @@ OldaleTown_PokemonCenter_2F_EventScript_2771DB:: @ 82771DB
copyvar VAR_0x8007, VAR_LAST_TALKED
call OldaleTown_PokemonCenter_2F_EventScript_27134F
compare VAR_RESULT, 0
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
message gText_PleaseWaitForLink
waitmessage
special sub_80B2E74
@@ -614,19 +612,19 @@ OldaleTown_PokemonCenter_2F_EventScript_2771DB:: @ 82771DB
special sub_80B2EA8
waitstate
compare VAR_RESULT, 12
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_277328
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277328
compare VAR_RESULT, 1
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_27724C
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27724C
compare VAR_RESULT, 2
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772D2
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772D2
compare VAR_RESULT, 3
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772DF
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772DF
compare VAR_RESULT, 4
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_27730E
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27730E
compare VAR_RESULT, 5
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
compare VAR_RESULT, 6
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772C5
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772C5
end
OldaleTown_PokemonCenter_2F_EventScript_27724C:: @ 827724C
@@ -641,13 +639,13 @@ OldaleTown_PokemonCenter_2F_EventScript_27724C:: @ 827724C
applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D
waitmovement 0
closemessage
- applymovement 255, OldaleTown_PokemonCenter_2F_Movement_277356
+ applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_277356
waitmovement 0
opendoor 9, 1
waitdooranim
- applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27735A
+ applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735A
waitmovement 0
- hideobjectat 255, MAP_PETALBURG_CITY
+ hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY
closedoor 9, 1
waitdooranim
release
@@ -810,7 +808,7 @@ gUnknown_08277388:: @ 8277388
special sub_80F9438
waitstate
compare VAR_RESULT, 0
- goto_eq DoubleBattleColosseum_EventScript_2773F4
+ goto_if_eq DoubleBattleColosseum_EventScript_2773F4
setvar VAR_0x8005, 0
special sub_80B3968
waitstate
@@ -821,7 +819,7 @@ gUnknown_082773A3:: @ 82773A3
special sub_80F9438
waitstate
compare VAR_RESULT, 0
- goto_eq DoubleBattleColosseum_EventScript_2773F4
+ goto_if_eq DoubleBattleColosseum_EventScript_2773F4
setvar VAR_0x8005, 1
special sub_80B3968
waitstate
@@ -832,7 +830,7 @@ gUnknown_082773BE:: @ 82773BE
special sub_80F9438
waitstate
compare VAR_RESULT, 0
- goto_eq DoubleBattleColosseum_EventScript_2773F4
+ goto_if_eq DoubleBattleColosseum_EventScript_2773F4
setvar VAR_0x8005, 2
special sub_80B3968
waitstate
@@ -843,7 +841,7 @@ gUnknown_082773D9:: @ 82773D9
special sub_80F9438
waitstate
compare VAR_RESULT, 0
- goto_eq DoubleBattleColosseum_EventScript_2773F4
+ goto_if_eq DoubleBattleColosseum_EventScript_2773F4
setvar VAR_0x8005, 3
special sub_80B3968
waitstate
@@ -881,7 +879,7 @@ gUnknown_0827741D:: @ 827741D
special sub_80E6BE8
waitstate
compare VAR_TEMP_1, 0
- goto_if 5, RecordCorner_EventScript_277471
+ goto_if_ne RecordCorner_EventScript_277471
end
gUnknown_08277432:: @ 8277432
@@ -889,7 +887,7 @@ gUnknown_08277432:: @ 8277432
special sub_80E6BE8
waitstate
compare VAR_TEMP_1, 0
- goto_if 5, RecordCorner_EventScript_277471
+ goto_if_ne RecordCorner_EventScript_277471
end
gUnknown_08277447:: @ 8277447
@@ -897,7 +895,7 @@ gUnknown_08277447:: @ 8277447
special sub_80E6BE8
waitstate
compare VAR_TEMP_1, 0
- goto_if 5, RecordCorner_EventScript_277471
+ goto_if_ne RecordCorner_EventScript_277471
end
gUnknown_0827745C:: @ 827745C
@@ -905,7 +903,7 @@ gUnknown_0827745C:: @ 827745C
special sub_80E6BE8
waitstate
compare VAR_TEMP_1, 0
- goto_if 5, RecordCorner_EventScript_277471
+ goto_if_ne RecordCorner_EventScript_277471
end
RecordCorner_EventScript_277471:: @ 8277471
@@ -951,7 +949,7 @@ TradeCenter_EventScript_2774B6:: @ 82774B6
RecordCorner_EventScript_2774C6:: @ 82774C6
compare VAR_TEMP_0, 0
- goto_if 5, RecordCorner_EventScript_2774E0
+ goto_if_ne RecordCorner_EventScript_2774E0
special sub_8098574
message RecordCorner_Text_27861C
waitmessage
@@ -972,7 +970,7 @@ RecordCorner_EventScript_2774E0:: @ 82774E0
gUnknown_082774EF:: @ 82774EF
msgbox Text_2783A8, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq gUnknown_08277509
+ goto_if_eq gUnknown_08277509
erasebox 0, 0, 29, 19
releaseall
end
@@ -993,15 +991,14 @@ OldaleTown_PokemonCenter_2F_EventScript_27751B:: @ 827751B
lock
faceplayer
setvar VAR_FRONTIER_FACILITY, 8
- checkflag FLAG_SYS_POKEDEX_GET
- goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_277335
+ goto_if_unset FLAG_SYS_POKEDEX_GET, OldaleTown_PokemonCenter_2F_EventScript_277335
specialvar VAR_RESULT, sub_813990C
compare VAR_RESULT, 1
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_27731B
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27731B
copyvar VAR_0x8007, VAR_LAST_TALKED
specialvar VAR_RESULT, IsWirelessAdapterConnected
compare VAR_RESULT, 0
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_277668
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277668
message OldaleTown_PokemonCenter_2F_Text_27940D
waitmessage
goto OldaleTown_PokemonCenter_2F_EventScript_27755C
@@ -1025,10 +1022,10 @@ OldaleTown_PokemonCenter_2F_EventScript_277593:: @ 8277593
OldaleTown_PokemonCenter_2F_EventScript_27759F:: @ 827759F
call OldaleTown_PokemonCenter_2F_EventScript_277626
compare VAR_RESULT, 0
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
call OldaleTown_PokemonCenter_2F_EventScript_27134F
compare VAR_RESULT, 0
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
msgbox OldaleTown_PokemonCenter_2F_Text_27961C, MSGBOX_DEFAULT
closemessage
special HealPlayerParty
@@ -1040,13 +1037,13 @@ OldaleTown_PokemonCenter_2F_EventScript_27759F:: @ 827759F
delay 60
applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D
waitmovement 0
- applymovement 255, OldaleTown_PokemonCenter_2F_Movement_277356
+ applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_277356
waitmovement 0
opendoor 5, 1
waitdooranim
- applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27735A
+ applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735A
waitmovement 0
- hideobjectat 255, MAP_PETALBURG_CITY
+ hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY
closedoor 5, 1
waitdooranim
special sub_8018090
@@ -1060,10 +1057,10 @@ OldaleTown_PokemonCenter_2F_EventScript_27759F:: @ 827759F
OldaleTown_PokemonCenter_2F_EventScript_277626:: @ 8277626
specialvar VAR_RESULT, CountPartyNonEggMons
compare VAR_RESULT, 2
- goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_27764C
+ goto_if_lt OldaleTown_PokemonCenter_2F_EventScript_27764C
specialvar VAR_RESULT, sub_80F9370
compare VAR_RESULT, 1
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_27765A
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27765A
setvar VAR_RESULT, 1
return
@@ -1085,11 +1082,10 @@ OldaleTown_PokemonCenter_2F_EventScript_277668:: @ 8277668
OldaleTown_PokemonCenter_2F_EventScript_277672:: @ 8277672
lock
faceplayer
- checkflag FLAG_SYS_POKEDEX_GET
- goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_277335
+ 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_eq OldaleTown_PokemonCenter_2F_EventScript_27769A
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27769A
msgbox OldaleTown_PokemonCenter_2F_Text_2799AA, MSGBOX_DEFAULT
release
return
@@ -1103,14 +1099,13 @@ OldaleTown_PokemonCenter_2F_EventScript_2776A4:: @ 82776A4
lock
faceplayer
setvar VAR_FRONTIER_FACILITY, 9
- checkflag FLAG_SYS_POKEDEX_GET
- goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_277335
+ goto_if_unset FLAG_SYS_POKEDEX_GET, OldaleTown_PokemonCenter_2F_EventScript_277335
specialvar VAR_RESULT, sub_813990C
compare VAR_RESULT, 1
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_27731B
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_27731B
specialvar VAR_RESULT, IsWirelessAdapterConnected
compare VAR_RESULT, 0
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_276E13
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_276E13
message OldaleTown_PokemonCenter_2F_Text_279013
waitmessage
delay 28
@@ -1120,9 +1115,8 @@ OldaleTown_PokemonCenter_2F_EventScript_2776A4:: @ 82776A4
OldaleTown_PokemonCenter_2F_EventScript_2776E3:: @ 82776E3
checkitem ITEM_POWDER_JAR, 1
compare VAR_RESULT, 0
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_27778B
- checkflag FLAG_VISITED_MAUVILLE_CITY
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_27773E
+ 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
switch VAR_RESULT
case 0, OldaleTown_PokemonCenter_2F_EventScript_27780D
@@ -1144,8 +1138,7 @@ OldaleTown_PokemonCenter_2F_EventScript_27773E:: @ 827773E
end
OldaleTown_PokemonCenter_2F_EventScript_27778B:: @ 827778B
- checkflag FLAG_VISITED_MAUVILLE_CITY
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_2777CB
+ goto_if_set FLAG_VISITED_MAUVILLE_CITY, OldaleTown_PokemonCenter_2F_EventScript_2777CB
multichoice 0, 0, 75, 0
switch VAR_RESULT
case 0, OldaleTown_PokemonCenter_2F_EventScript_27780D
@@ -1167,10 +1160,10 @@ OldaleTown_PokemonCenter_2F_EventScript_2777CB:: @ 82777CB
OldaleTown_PokemonCenter_2F_EventScript_27780D:: @ 827780D
msgbox OldaleTown_PokemonCenter_2F_Text_27909D, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
call OldaleTown_PokemonCenter_2F_EventScript_277199
compare VAR_RESULT, 0
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
setvar VAR_0x8004, 3
goto OldaleTown_PokemonCenter_2F_EventScript_277931
end
@@ -1196,7 +1189,7 @@ OldaleTown_PokemonCenter_2F_EventScript_27788E:: @ 827788E
OldaleTown_PokemonCenter_2F_EventScript_277899:: @ 8277899
special HasEnoughMonsForDoubleBattle
compare VAR_RESULT, 0
- goto_if 5, OldaleTown_PokemonCenter_2F_EventScript_2778B2
+ goto_if_ne OldaleTown_PokemonCenter_2F_EventScript_2778B2
setvar VAR_0x8004, 1
goto OldaleTown_PokemonCenter_2F_EventScript_277931
end
@@ -1219,7 +1212,7 @@ OldaleTown_PokemonCenter_2F_EventScript_2778CB:: @ 82778CB
OldaleTown_PokemonCenter_2F_EventScript_2778D9:: @ 82778D9
msgbox OldaleTown_PokemonCenter_2F_Text_2790E8, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
setvar VAR_0x8004, 12
goto OldaleTown_PokemonCenter_2F_EventScript_277931
end
@@ -1227,10 +1220,10 @@ OldaleTown_PokemonCenter_2F_EventScript_2778D9:: @ 82778D9
OldaleTown_PokemonCenter_2F_EventScript_2778F7:: @ 82778F7
msgbox OldaleTown_PokemonCenter_2F_Text_279114, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
special HasAtLeastOneBerry
compare VAR_RESULT, 0
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_277923
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277923
setvar VAR_0x8004, 5
goto OldaleTown_PokemonCenter_2F_EventScript_277931
end
@@ -1243,7 +1236,7 @@ OldaleTown_PokemonCenter_2F_EventScript_277923:: @ 8277923
OldaleTown_PokemonCenter_2F_EventScript_277931:: @ 8277931
call OldaleTown_PokemonCenter_2F_EventScript_27134F
compare VAR_RESULT, 0
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
switch VAR_0x8004
case 3, OldaleTown_PokemonCenter_2F_EventScript_277989
case 0, OldaleTown_PokemonCenter_2F_EventScript_277989
@@ -1267,22 +1260,22 @@ OldaleTown_PokemonCenter_2F_EventScript_277989:: @ 8277989
OldaleTown_PokemonCenter_2F_EventScript_2779C6:: @ 82779C6
call OldaleTown_PokemonCenter_2F_EventScript_277B30
compare VAR_RESULT, 1
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A
compare VAR_RESULT, 5
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_277989
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277989
compare VAR_RESULT, 8
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_2779C6
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2779C6
release
return
OldaleTown_PokemonCenter_2F_EventScript_2779EE:: @ 82779EE
call OldaleTown_PokemonCenter_2F_EventScript_277B35
compare VAR_RESULT, 1
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A
compare VAR_RESULT, 5
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_277989
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277989
compare VAR_RESULT, 8
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_2779EE
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_2779EE
release
return
@@ -1300,22 +1293,22 @@ OldaleTown_PokemonCenter_2F_EventScript_277A16:: @ 8277A16
OldaleTown_PokemonCenter_2F_EventScript_277A53:: @ 8277A53
call OldaleTown_PokemonCenter_2F_EventScript_277B30
compare VAR_RESULT, 1
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A
compare VAR_RESULT, 5
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_277A16
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277A16
compare VAR_RESULT, 8
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_277A53
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277A53
release
return
OldaleTown_PokemonCenter_2F_EventScript_277A7B:: @ 8277A7B
call OldaleTown_PokemonCenter_2F_EventScript_277B35
compare VAR_RESULT, 1
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A
compare VAR_RESULT, 5
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_277A16
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277A16
compare VAR_RESULT, 8
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_277A7B
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277A7B
release
return
@@ -1333,22 +1326,22 @@ OldaleTown_PokemonCenter_2F_EventScript_277AA3:: @ 8277AA3
OldaleTown_PokemonCenter_2F_EventScript_277AE0:: @ 8277AE0
call OldaleTown_PokemonCenter_2F_EventScript_277B30
compare VAR_RESULT, 1
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A
compare VAR_RESULT, 5
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_277AA3
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277AA3
compare VAR_RESULT, 8
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_277AE0
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277AE0
release
return
OldaleTown_PokemonCenter_2F_EventScript_277B08:: @ 8277B08
call OldaleTown_PokemonCenter_2F_EventScript_277B35
compare VAR_RESULT, 1
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277B3A
compare VAR_RESULT, 5
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_277AA3
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277AA3
compare VAR_RESULT, 8
- goto_eq OldaleTown_PokemonCenter_2F_EventScript_277B08
+ goto_if_eq OldaleTown_PokemonCenter_2F_EventScript_277B08
release
return
@@ -1379,13 +1372,13 @@ OldaleTown_PokemonCenter_2F_EventScript_277B3A:: @ 8277B3A
applymovement VAR_LAST_TALKED, OldaleTown_PokemonCenter_2F_Movement_27734D
waitmovement 0
closemessage
- applymovement 255, OldaleTown_PokemonCenter_2F_Movement_277356
+ applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_277356
waitmovement 0
opendoor 9, 1
waitdooranim
- applymovement 255, OldaleTown_PokemonCenter_2F_Movement_27735A
+ applymovement EVENT_OBJ_ID_PLAYER, OldaleTown_PokemonCenter_2F_Movement_27735A
waitmovement 0
- hideobjectat 255, MAP_PETALBURG_CITY
+ hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY
closedoor 9, 1
waitdooranim
release
@@ -1394,11 +1387,10 @@ OldaleTown_PokemonCenter_2F_EventScript_277B3A:: @ 8277B3A
EventScript_WirelessBoxResults:: @ 8277B8A
lockall
- checkflag FLAG_SYS_POKEDEX_GET
- goto_if 0, OldaleTown_PokemonCenter_2F_EventScript_27733F
+ goto_if_unset FLAG_SYS_POKEDEX_GET, OldaleTown_PokemonCenter_2F_EventScript_27733F
specialvar VAR_RESULT, IsWirelessAdapterConnected
compare VAR_RESULT, 0
- goto_eq EventScript_277BB4
+ goto_if_eq EventScript_277BB4
fadescreen 1
special sub_801A42C
waitstate
@@ -1497,7 +1489,7 @@ MossdeepCity_GameCorner_1F_EventScript_277C91:: @ 8277C91
waitmessage
specialvar VAR_RESULT, IsWirelessAdapterConnected
compare VAR_RESULT, 0
- goto_eq MossdeepCity_GameCorner_1F_EventScript_277E48
+ goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277E48
delay 60
message MossdeepCity_GameCorner_1F_Text_278DAD
waitmessage
@@ -1513,17 +1505,17 @@ MossdeepCity_GameCorner_1F_EventScript_277CE9:: @ 8277CE9
setvar VAR_0x8005, 0
special sub_802C920
compare VAR_RESULT, 0
- goto_eq MossdeepCity_GameCorner_1F_EventScript_277E55
+ goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277E55
msgbox MossdeepCity_GameCorner_1F_Text_278DD9, MSGBOX_DEFAULT
fadescreen 1
setvar VAR_0x8005, 0
special sub_81B8958
waitstate
compare VAR_0x8004, 6
- goto_if 4, MossdeepCity_GameCorner_1F_EventScript_2772F9
+ goto_if_ge MossdeepCity_GameCorner_1F_EventScript_2772F9
call MossdeepCity_GameCorner_1F_EventScript_27134F
compare VAR_RESULT, 0
- goto_eq MossdeepCity_GameCorner_1F_EventScript_2772F9
+ goto_if_eq MossdeepCity_GameCorner_1F_EventScript_2772F9
setvar VAR_0x8004, 4
goto MossdeepCity_GameCorner_1F_EventScript_277D81
end
@@ -1532,17 +1524,17 @@ MossdeepCity_GameCorner_1F_EventScript_277D35:: @ 8277D35
setvar VAR_0x8005, 1
special sub_8027A5C
compare VAR_RESULT, 0
- goto_eq MossdeepCity_GameCorner_1F_EventScript_277E55
+ goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277E55
msgbox MossdeepCity_GameCorner_1F_Text_278DD9, MSGBOX_DEFAULT
fadescreen 1
setvar VAR_0x8005, 1
special sub_81B8958
waitstate
compare VAR_0x8004, 6
- goto_if 4, MossdeepCity_GameCorner_1F_EventScript_2772F9
+ goto_if_ge MossdeepCity_GameCorner_1F_EventScript_2772F9
call MossdeepCity_GameCorner_1F_EventScript_27134F
compare VAR_RESULT, 0
- goto_eq MossdeepCity_GameCorner_1F_EventScript_2772F9
+ goto_if_eq MossdeepCity_GameCorner_1F_EventScript_2772F9
setvar VAR_0x8004, 6
goto MossdeepCity_GameCorner_1F_EventScript_277D81
end
@@ -1561,22 +1553,22 @@ MossdeepCity_GameCorner_1F_EventScript_277D81:: @ 8277D81
MossdeepCity_GameCorner_1F_EventScript_277DBE:: @ 8277DBE
call MossdeepCity_GameCorner_1F_EventScript_277B30
compare VAR_RESULT, 1
- goto_eq MossdeepCity_GameCorner_1F_EventScript_277E0E
+ goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277E0E
compare VAR_RESULT, 5
- goto_eq MossdeepCity_GameCorner_1F_EventScript_277D81
+ goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277D81
compare VAR_RESULT, 8
- goto_eq MossdeepCity_GameCorner_1F_EventScript_277DBE
+ goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277DBE
release
return
MossdeepCity_GameCorner_1F_EventScript_277DE6:: @ 8277DE6
call MossdeepCity_GameCorner_1F_EventScript_277B35
compare VAR_RESULT, 1
- goto_eq MossdeepCity_GameCorner_1F_EventScript_277E0E
+ goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277E0E
compare VAR_RESULT, 5
- goto_eq MossdeepCity_GameCorner_1F_EventScript_277D81
+ goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277D81
compare VAR_RESULT, 8
- goto_eq MossdeepCity_GameCorner_1F_EventScript_277DE6
+ goto_if_eq MossdeepCity_GameCorner_1F_EventScript_277DE6
release
return
@@ -1593,9 +1585,9 @@ MossdeepCity_GameCorner_1F_EventScript_277E0E:: @ 8277E0E
applymovement VAR_LAST_TALKED, MossdeepCity_GameCorner_1F_Movement_27734D
waitmovement 0
closemessage
- applymovement 255, MossdeepCity_GameCorner_1F_Movement_277360
+ applymovement EVENT_OBJ_ID_PLAYER, MossdeepCity_GameCorner_1F_Movement_277360
waitmovement 0
- hideobjectat 255, MAP_PETALBURG_CITY
+ hideobjectat EVENT_OBJ_ID_PLAYER, MAP_PETALBURG_CITY
release
waitstate
end
@@ -1609,11 +1601,11 @@ MossdeepCity_GameCorner_1F_EventScript_277E48:: @ 8277E48
MossdeepCity_GameCorner_1F_EventScript_277E55:: @ 8277E55
msgbox MossdeepCity_GameCorner_1F_Text_278E60, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq MossdeepCity_GameCorner_1F_EventScript_2772F9
+ goto_if_eq MossdeepCity_GameCorner_1F_EventScript_2772F9
compare VAR_0x8005, 0
- call_if 1, MossdeepCity_GameCorner_1F_EventScript_277E84
+ call_if_eq MossdeepCity_GameCorner_1F_EventScript_277E84
compare VAR_0x8005, 1
- call_if 1, MossdeepCity_GameCorner_1F_EventScript_277E8D
+ call_if_eq MossdeepCity_GameCorner_1F_EventScript_277E8D
goto MossdeepCity_GameCorner_1F_EventScript_2772F9
end
diff --git a/data/scripts/contest_hall.inc b/data/scripts/contest_hall.inc
index 2b0bfd8aa..927d61439 100644
--- a/data/scripts/contest_hall.inc
+++ b/data/scripts/contest_hall.inc
@@ -2,11 +2,9 @@ LilycoveCity_ContestLobby_EventScript_279CC5:: @ 8279CC5
lock
faceplayer
compare VAR_0x408A, 0
- goto_if 5, LilycoveCity_ContestLobby_EventScript_279D13
- checkflag FLAG_0x05F
- call_if 1, LilycoveCity_ContestLobby_EventScript_279CEA
- checkflag FLAG_0x05F
- call_if 0, LilycoveCity_ContestLobby_EventScript_279CF3
+ goto_if_ne LilycoveCity_ContestLobby_EventScript_279D13
+ call_if_set FLAG_0x05F, LilycoveCity_ContestLobby_EventScript_279CEA
+ call_if_unset FLAG_0x05F, LilycoveCity_ContestLobby_EventScript_279CF3
goto LilycoveCity_ContestLobby_EventScript_279D5A
end
@@ -30,7 +28,7 @@ LilycoveCity_ContestLobby_EventScript_279D13:: @ 8279D13
LilycoveCity_ContestLobby_EventScript_279D2C:: @ 8279D2C
giveitem_std ITEM_LUXURY_BALL
compare VAR_RESULT, 0
- goto_eq LilycoveCity_ContestLobby_EventScript_279D4B
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_279D4B
setvar VAR_0x408A, 0
closemessage
release
@@ -89,18 +87,18 @@ LilycoveCity_ContestLobby_EventScript_279E13:: @ 8279E13
msgbox LilycoveCity_ContestLobby_Text_27B44A, MSGBOX_DEFAULT
choosecontestmon
compare VAR_0x8004, 255
- goto_eq LilycoveCity_ContestLobby_EventScript_279E09
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_279E09
special sub_80F7F30
compare VAR_RESULT, 0
- goto_eq LilycoveCity_ContestLobby_EventScript_279F12
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_279F12
compare VAR_RESULT, 1
- goto_eq LilycoveCity_ContestLobby_EventScript_279F87
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_279F87
compare VAR_RESULT, 2
- goto_eq LilycoveCity_ContestLobby_EventScript_279F45
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_279F45
compare VAR_RESULT, 3
- goto_eq LilycoveCity_ContestLobby_EventScript_279F69
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_279F69
compare VAR_RESULT, 4
- goto_eq LilycoveCity_ContestLobby_EventScript_279F78
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_279F78
end
LilycoveCity_ContestLobby_EventScript_279E62:: @ 8279E62
@@ -274,7 +272,7 @@ LinkContestRoom1_EventScript_27A097:: @ 827A097
LinkContestRoom1_EventScript_27A0B1:: @ 827A0B1
compare VAR_0x4088, 5
- goto_eq LinkContestRoom1_EventScript_27A0C7
+ goto_if_eq LinkContestRoom1_EventScript_27A0C7
lockall
msgbox LinkContestRoom1_Text_27B711, MSGBOX_DEFAULT
releaseall
@@ -283,7 +281,7 @@ LinkContestRoom1_EventScript_27A0B1:: @ 827A0B1
LinkContestRoom1_EventScript_27A0C7:: @ 827A0C7
specialvar VAR_RESULT, sub_80F9160
compare VAR_RESULT, 1
- goto_eq LinkContestRoom1_EventScript_27A0DE
+ goto_if_eq LinkContestRoom1_EventScript_27A0DE
messageautoscroll LinkContestRoom1_Text_27B78F
waitmessage
return
@@ -307,7 +305,7 @@ LinkContestRoom1_EventScript_27A0F5:: @ 827A0F5
call LinkContestRoom1_EventScript_27A133
addvar VAR_0x8006, 1
compare VAR_0x8006, 4
- goto_if 5, LinkContestRoom1_EventScript_27A0F5
+ goto_if_ne LinkContestRoom1_EventScript_27A0F5
call LinkContestRoom1_EventScript_27A230
setvar VAR_TEMP_1, 6
return
@@ -315,7 +313,7 @@ LinkContestRoom1_EventScript_27A0F5:: @ 827A0F5
LinkContestRoom1_EventScript_27A133:: @ 827A133
specialvar VAR_RESULT, sub_80F9160
compare VAR_RESULT, 1
- goto_eq LinkContestRoom1_EventScript_27A144
+ goto_if_eq LinkContestRoom1_EventScript_27A144
return
LinkContestRoom1_EventScript_27A144:: @ 827A144
@@ -325,13 +323,13 @@ LinkContestRoom1_EventScript_27A144:: @ 827A144
LinkContestRoom1_EventScript_27A149:: @ 827A149
compare VAR_0x8006, 0
- goto_eq LinkContestRoom1_EventScript_27A176
+ goto_if_eq LinkContestRoom1_EventScript_27A176
compare VAR_0x8006, 1
- goto_eq LinkContestRoom1_EventScript_27A18D
+ goto_if_eq LinkContestRoom1_EventScript_27A18D
compare VAR_0x8006, 2
- goto_eq LinkContestRoom1_EventScript_27A1A4
+ goto_if_eq LinkContestRoom1_EventScript_27A1A4
compare VAR_0x8006, 3
- goto_eq LinkContestRoom1_EventScript_27A1BB
+ goto_if_eq LinkContestRoom1_EventScript_27A1BB
return
LinkContestRoom1_EventScript_27A176:: @ 827A176
@@ -394,7 +392,7 @@ LinkContestRoom1_EventScript_27A1D2:: @ 827A1D2
LinkContestRoom1_EventScript_27A217:: @ 827A217
compare VAR_0x4088, 5
- goto_eq LinkContestRoom1_EventScript_27A229
+ goto_if_eq LinkContestRoom1_EventScript_27A229
message LinkContestRoom1_Text_27B815
waitmessage
return
@@ -422,14 +420,14 @@ LinkContestRoom1_EventScript_27A230:: @ 827A230
LinkContestRoom1_EventScript_27A26C:: @ 827A26C
compare VAR_0x4088, 5
- goto_eq LinkContestRoom1_EventScript_27A280
+ goto_if_eq LinkContestRoom1_EventScript_27A280
msgbox LinkContestRoom1_Text_27B830, MSGBOX_DEFAULT
return
LinkContestRoom1_EventScript_27A280:: @ 827A280
specialvar VAR_RESULT, sub_80F9160
compare VAR_RESULT, 1
- goto_eq LinkContestRoom1_EventScript_27A297
+ goto_if_eq LinkContestRoom1_EventScript_27A297
messageautoscroll LinkContestRoom1_Text_27B830
waitmessage
return
@@ -448,7 +446,7 @@ LinkContestRoom1_EventScript_27A297:: @ 827A297
LinkContestRoom1_EventScript_27A2B9:: @ 827A2B9
compare VAR_0x4088, 5
- goto_eq LinkContestRoom1_EventScript_27A2CA
+ goto_if_eq LinkContestRoom1_EventScript_27A2CA
message LinkContestRoom1_Text_27B8F2
return
@@ -486,15 +484,15 @@ LinkContestRoom1_EventScript_27A2D5:: @ 827A2D5
LinkContestRoom1_EventScript_27A34F:: @ 827A34F
special sub_80F82FC
compare VAR_0x4088, 1
- call_if 1, LinkContestRoom1_EventScript_27A454
+ call_if_eq LinkContestRoom1_EventScript_27A454
compare VAR_0x4088, 2
- call_if 1, LinkContestRoom1_EventScript_27A4B2
+ call_if_eq LinkContestRoom1_EventScript_27A4B2
compare VAR_0x4088, 3
- call_if 1, LinkContestRoom1_EventScript_27A510
+ call_if_eq LinkContestRoom1_EventScript_27A510
compare VAR_0x4088, 4
- call_if 1, LinkContestRoom1_EventScript_27A56E
+ call_if_eq LinkContestRoom1_EventScript_27A56E
compare VAR_0x4088, 5
- call_if 1, LinkContestRoom1_EventScript_27A5CC
+ call_if_eq LinkContestRoom1_EventScript_27A5CC
setvar VAR_TEMP_1, 9
setvar VAR_TEMP_2, 9
setvar VAR_TEMP_3, 9
@@ -504,7 +502,7 @@ LinkContestRoom1_EventScript_27A34F:: @ 827A34F
setvar VAR_TEMP_7, 9
setvar VAR_TEMP_8, 9
compare VAR_TEMP_0, 0
- call_if 2, LinkContestRoom1_EventScript_27A3E5
+ call_if_gt LinkContestRoom1_EventScript_27A3E5
setvar VAR_TEMP_1, 0
setvar VAR_TEMP_2, 0
setvar VAR_TEMP_3, 0
@@ -519,123 +517,123 @@ LinkContestRoom1_EventScript_27A3E5:: @ 827A3E5
setvar VAR_RESULT, 8
special ScriptRandom
compare VAR_RESULT, 0
- call_if 1, LinkContestRoom1_EventScript_27A65A
+ call_if_eq LinkContestRoom1_EventScript_27A65A
compare VAR_RESULT, 1
- call_if 1, LinkContestRoom1_EventScript_27A67E
+ call_if_eq LinkContestRoom1_EventScript_27A67E
compare VAR_RESULT, 2
- call_if 1, LinkContestRoom1_EventScript_27A6A2
+ call_if_eq LinkContestRoom1_EventScript_27A6A2
compare VAR_RESULT, 3
- call_if 1, LinkContestRoom1_EventScript_27A6C6
+ call_if_eq LinkContestRoom1_EventScript_27A6C6
compare VAR_RESULT, 4
- call_if 1, LinkContestRoom1_EventScript_27A6EA
+ call_if_eq LinkContestRoom1_EventScript_27A6EA
compare VAR_RESULT, 5
- call_if 1, LinkContestRoom1_EventScript_27A70E
+ call_if_eq LinkContestRoom1_EventScript_27A70E
compare VAR_RESULT, 6
- call_if 1, LinkContestRoom1_EventScript_27A732
+ call_if_eq LinkContestRoom1_EventScript_27A732
compare VAR_RESULT, 7
- call_if 1, LinkContestRoom1_EventScript_27A756
+ call_if_eq LinkContestRoom1_EventScript_27A756
compare VAR_TEMP_0, 0
- goto_if 2, LinkContestRoom1_EventScript_27A3E5
+ goto_if_gt LinkContestRoom1_EventScript_27A3E5
waitmovement 0
return
LinkContestRoom1_EventScript_27A454:: @ 827A454
compare VAR_0x8004, 80
- goto_if 2, LinkContestRoom1_EventScript_27A654
+ goto_if_gt LinkContestRoom1_EventScript_27A654
compare VAR_0x8004, 70
- goto_if 2, LinkContestRoom1_EventScript_27A64E
+ goto_if_gt LinkContestRoom1_EventScript_27A64E
compare VAR_0x8004, 60
- goto_if 2, LinkContestRoom1_EventScript_27A648
+ goto_if_gt LinkContestRoom1_EventScript_27A648
compare VAR_0x8004, 50
- goto_if 2, LinkContestRoom1_EventScript_27A642
+ goto_if_gt LinkContestRoom1_EventScript_27A642
compare VAR_0x8004, 40
- goto_if 2, LinkContestRoom1_EventScript_27A63C
+ goto_if_gt LinkContestRoom1_EventScript_27A63C
compare VAR_0x8004, 30
- goto_if 2, LinkContestRoom1_EventScript_27A636
+ goto_if_gt LinkContestRoom1_EventScript_27A636
compare VAR_0x8004, 20
- goto_if 2, LinkContestRoom1_EventScript_27A630
+ goto_if_gt LinkContestRoom1_EventScript_27A630
compare VAR_0x8004, 10
- goto_if 2, LinkContestRoom1_EventScript_27A62A
+ goto_if_gt LinkContestRoom1_EventScript_27A62A
setvar VAR_TEMP_0, 0
return
LinkContestRoom1_EventScript_27A4B2:: @ 827A4B2
compare VAR_0x8004, 230
- goto_if 2, LinkContestRoom1_EventScript_27A654
+ goto_if_gt LinkContestRoom1_EventScript_27A654
compare VAR_0x8004, 210
- goto_if 2, LinkContestRoom1_EventScript_27A64E
+ goto_if_gt LinkContestRoom1_EventScript_27A64E
compare VAR_0x8004, 190
- goto_if 2, LinkContestRoom1_EventScript_27A648
+ goto_if_gt LinkContestRoom1_EventScript_27A648
compare VAR_0x8004, 170
- goto_if 2, LinkContestRoom1_EventScript_27A642
+ goto_if_gt LinkContestRoom1_EventScript_27A642
compare VAR_0x8004, 150
- goto_if 2, LinkContestRoom1_EventScript_27A63C
+ goto_if_gt LinkContestRoom1_EventScript_27A63C
compare VAR_0x8004, 130
- goto_if 2, LinkContestRoom1_EventScript_27A636
+ goto_if_gt LinkContestRoom1_EventScript_27A636
compare VAR_0x8004, 110
- goto_if 2, LinkContestRoom1_EventScript_27A630
+ goto_if_gt LinkContestRoom1_EventScript_27A630
compare VAR_0x8004, 90
- goto_if 2, LinkContestRoom1_EventScript_27A62A
+ goto_if_gt LinkContestRoom1_EventScript_27A62A
setvar VAR_TEMP_0, 0
return
LinkContestRoom1_EventScript_27A510:: @ 827A510
compare VAR_0x8004, 380
- goto_if 2, LinkContestRoom1_EventScript_27A654
+ goto_if_gt LinkContestRoom1_EventScript_27A654
compare VAR_0x8004, 350
- goto_if 2, LinkContestRoom1_EventScript_27A64E
+ goto_if_gt LinkContestRoom1_EventScript_27A64E
compare VAR_0x8004, 320
- goto_if 2, LinkContestRoom1_EventScript_27A648
+ goto_if_gt LinkContestRoom1_EventScript_27A648
compare VAR_0x8004, 290
- goto_if 2, LinkContestRoom1_EventScript_27A642
+ goto_if_gt LinkContestRoom1_EventScript_27A642
compare VAR_0x8004, 260
- goto_if 2, LinkContestRoom1_EventScript_27A63C
+ goto_if_gt LinkContestRoom1_EventScript_27A63C
compare VAR_0x8004, 230
- goto_if 2, LinkContestRoom1_EventScript_27A636
+ goto_if_gt LinkContestRoom1_EventScript_27A636
compare VAR_0x8004, 200
- goto_if 2, LinkContestRoom1_EventScript_27A630
+ goto_if_gt LinkContestRoom1_EventScript_27A630
compare VAR_0x8004, 170
- goto_if 2, LinkContestRoom1_EventScript_27A62A
+ goto_if_gt LinkContestRoom1_EventScript_27A62A
setvar VAR_TEMP_0, 0
return
LinkContestRoom1_EventScript_27A56E:: @ 827A56E
compare VAR_0x8004, 600
- goto_if 2, LinkContestRoom1_EventScript_27A654
+ goto_if_gt LinkContestRoom1_EventScript_27A654
compare VAR_0x8004, 560
- goto_if 2, LinkContestRoom1_EventScript_27A64E
+ goto_if_gt LinkContestRoom1_EventScript_27A64E
compare VAR_0x8004, 520
- goto_if 2, LinkContestRoom1_EventScript_27A648
+ goto_if_gt LinkContestRoom1_EventScript_27A648
compare VAR_0x8004, 480
- goto_if 2, LinkContestRoom1_EventScript_27A642
+ goto_if_gt LinkContestRoom1_EventScript_27A642
compare VAR_0x8004, 440
- goto_if 2, LinkContestRoom1_EventScript_27A63C
+ goto_if_gt LinkContestRoom1_EventScript_27A63C
compare VAR_0x8004, 400
- goto_if 2, LinkContestRoom1_EventScript_27A636
+ goto_if_gt LinkContestRoom1_EventScript_27A636
compare VAR_0x8004, 360
- goto_if 2, LinkContestRoom1_EventScript_27A630
+ goto_if_gt LinkContestRoom1_EventScript_27A630
compare VAR_0x8004, 320
- goto_if 2, LinkContestRoom1_EventScript_27A62A
+ goto_if_gt LinkContestRoom1_EventScript_27A62A
setvar VAR_TEMP_0, 0
return
LinkContestRoom1_EventScript_27A5CC:: @ 827A5CC
compare VAR_0x8004, 600
- goto_if 2, LinkContestRoom1_EventScript_27A654
+ goto_if_gt LinkContestRoom1_EventScript_27A654
compare VAR_0x8004, 550
- goto_if 2, LinkContestRoom1_EventScript_27A64E
+ goto_if_gt LinkContestRoom1_EventScript_27A64E
compare VAR_0x8004, 500
- goto_if 2, LinkContestRoom1_EventScript_27A648
+ goto_if_gt LinkContestRoom1_EventScript_27A648
compare VAR_0x8004, 450
- goto_if 2, LinkContestRoom1_EventScript_27A642
+ goto_if_gt LinkContestRoom1_EventScript_27A642
compare VAR_0x8004, 400
- goto_if 2, LinkContestRoom1_EventScript_27A63C
+ goto_if_gt LinkContestRoom1_EventScript_27A63C
compare VAR_0x8004, 300
- goto_if 2, LinkContestRoom1_EventScript_27A636
+ goto_if_gt LinkContestRoom1_EventScript_27A636
compare VAR_0x8004, 200
- goto_if 2, LinkContestRoom1_EventScript_27A630
+ goto_if_gt LinkContestRoom1_EventScript_27A630
compare VAR_0x8004, 100
- goto_if 2, LinkContestRoom1_EventScript_27A62A
+ goto_if_gt LinkContestRoom1_EventScript_27A62A
setvar VAR_TEMP_0, 0
return
@@ -673,7 +671,7 @@ LinkContestRoom1_EventScript_27A654:: @ 827A654
LinkContestRoom1_EventScript_27A65A:: @ 827A65A
compare VAR_TEMP_1, 1
- goto_eq LinkContestRoom1_EventScript_27A67D
+ goto_if_eq LinkContestRoom1_EventScript_27A67D
applymovement 6, LinkContestRoom1_Movement_27AD11
playse SE_PIN
delay 14
@@ -686,7 +684,7 @@ LinkContestRoom1_EventScript_27A67D:: @ 827A67D
LinkContestRoom1_EventScript_27A67E:: @ 827A67E
compare VAR_TEMP_2, 1
- goto_eq LinkContestRoom1_EventScript_27A6A1
+ goto_if_eq LinkContestRoom1_EventScript_27A6A1
applymovement 12, LinkContestRoom1_Movement_27AD11
playse SE_PIN
delay 14
@@ -699,7 +697,7 @@ LinkContestRoom1_EventScript_27A6A1:: @ 827A6A1
LinkContestRoom1_EventScript_27A6A2:: @ 827A6A2
compare VAR_TEMP_3, 1
- goto_eq LinkContestRoom1_EventScript_27A6C5
+ goto_if_eq LinkContestRoom1_EventScript_27A6C5
applymovement 7, LinkContestRoom1_Movement_27AD11
playse SE_PIN
delay 14
@@ -712,7 +710,7 @@ LinkContestRoom1_EventScript_27A6C5:: @ 827A6C5
LinkContestRoom1_EventScript_27A6C6:: @ 827A6C6
compare VAR_TEMP_4, 1
- goto_eq LinkContestRoom1_EventScript_27A6E9
+ goto_if_eq LinkContestRoom1_EventScript_27A6E9
applymovement 8, LinkContestRoom1_Movement_27AD11
playse SE_PIN
delay 14
@@ -725,7 +723,7 @@ LinkContestRoom1_EventScript_27A6E9:: @ 827A6E9
LinkContestRoom1_EventScript_27A6EA:: @ 827A6EA
compare VAR_TEMP_5, 1
- goto_eq LinkContestRoom1_EventScript_27A70D
+ goto_if_eq LinkContestRoom1_EventScript_27A70D
applymovement 9, LinkContestRoom1_Movement_27AD11
playse SE_PIN
delay 14
@@ -738,7 +736,7 @@ LinkContestRoom1_EventScript_27A70D:: @ 827A70D
LinkContestRoom1_EventScript_27A70E:: @ 827A70E
compare VAR_TEMP_6, 1
- goto_eq LinkContestRoom1_EventScript_27A731
+ goto_if_eq LinkContestRoom1_EventScript_27A731
applymovement 10, LinkContestRoom1_Movement_27AD11
playse SE_PIN
delay 14
@@ -751,7 +749,7 @@ LinkContestRoom1_EventScript_27A731:: @ 827A731
LinkContestRoom1_EventScript_27A732:: @ 827A732
compare VAR_TEMP_7, 1
- goto_eq LinkContestRoom1_EventScript_27A755
+ goto_if_eq LinkContestRoom1_EventScript_27A755
applymovement 11, LinkContestRoom1_Movement_27AD11
playse SE_PIN
delay 14
@@ -764,7 +762,7 @@ LinkContestRoom1_EventScript_27A755:: @ 827A755
LinkContestRoom1_EventScript_27A756:: @ 827A756
compare VAR_TEMP_8, 1
- goto_eq LinkContestRoom1_EventScript_27A779
+ goto_if_eq LinkContestRoom1_EventScript_27A779
applymovement 15, LinkContestRoom1_Movement_27AD11
playse SE_PIN
delay 14
@@ -846,14 +844,14 @@ LinkContestRoom1_EventScript_27A801:: @ 827A801
LinkContestRoom1_EventScript_27A853:: @ 827A853
compare VAR_0x4088, 5
- goto_eq LinkContestRoom1_EventScript_27A867
+ goto_if_eq LinkContestRoom1_EventScript_27A867
msgbox LinkContestRoom1_Text_27B904, MSGBOX_DEFAULT
return
LinkContestRoom1_EventScript_27A867:: @ 827A867
specialvar VAR_RESULT, sub_80F9160
compare VAR_RESULT, 1
- goto_eq LinkContestRoom1_EventScript_27A87E
+ goto_if_eq LinkContestRoom1_EventScript_27A87E
messageautoscroll LinkContestRoom1_Text_27B904
waitmessage
return
@@ -896,7 +894,7 @@ LinkContestRoom1_EventScript_27A8A5:: @ 827A8A5
LinkContestRoom1_EventScript_27A8FB:: @ 827A8FB
compare VAR_0x4088, 5
- goto_eq LinkContestRoom1_EventScript_27A90F
+ goto_if_eq LinkContestRoom1_EventScript_27A90F
msgbox LinkContestRoom1_Text_27BA15, MSGBOX_DEFAULT
return
@@ -909,7 +907,7 @@ LinkContestRoom1_EventScript_27A90F:: @ 827A90F
LinkContestRoom1_EventScript_27A91E:: @ 827A91E
compare VAR_0x4088, 5
- goto_eq LinkContestRoom1_EventScript_27A932
+ goto_if_eq LinkContestRoom1_EventScript_27A932
msgbox LinkContestRoom1_Text_27BA30, MSGBOX_DEFAULT
return
@@ -922,7 +920,7 @@ LinkContestRoom1_EventScript_27A932:: @ 827A932
LinkContestRoom1_EventScript_27A941:: @ 827A941
compare VAR_0x4088, 5
- goto_eq LinkContestRoom1_EventScript_27A955
+ goto_if_eq LinkContestRoom1_EventScript_27A955
msgbox LinkContestRoom1_Text_27BAAC, MSGBOX_DEFAULT
return
@@ -935,7 +933,7 @@ LinkContestRoom1_EventScript_27A955:: @ 827A955
LinkContestRoom1_EventScript_27A964:: @ 827A964
compare VAR_0x4088, 5
- goto_eq LinkContestRoom1_EventScript_27A978
+ goto_if_eq LinkContestRoom1_EventScript_27A978
msgbox LinkContestRoom1_Text_27BB25, MSGBOX_DEFAULT
return
@@ -986,7 +984,7 @@ LinkContestRoom1_EventScript_27A9D4:: @ 827A9D4
LinkContestRoom1_EventScript_27AA00:: @ 827AA00
compare VAR_0x4088, 5
- goto_eq LinkContestRoom1_EventScript_27AA14
+ goto_if_eq LinkContestRoom1_EventScript_27AA14
msgbox LinkContestRoom1_Text_27BB4C, MSGBOX_DEFAULT
return
@@ -999,7 +997,7 @@ LinkContestRoom1_EventScript_27AA1B:: @ 827AA1B
addvar VAR_TEMP_1, 1
lockall
compare VAR_0x4088, 1
- call_if 2, LinkContestRoom1_EventScript_27AA6F
+ call_if_gt LinkContestRoom1_EventScript_27AA6F
applymovement 9, LinkContestRoom1_Movement_27AD3B
applymovement 12, LinkContestRoom1_Movement_27AD3F
applymovement 7, LinkContestRoom1_Movement_27AD3B
@@ -1009,7 +1007,7 @@ LinkContestRoom1_EventScript_27AA1B:: @ 827AA1B
applymovement 6, LinkContestRoom1_Movement_27AD37
applymovement 8, LinkContestRoom1_Movement_27AD33
compare VAR_TEMP_1, 4
- goto_if 5, LinkContestRoom1_EventScript_27AA1B
+ goto_if_ne LinkContestRoom1_EventScript_27AA1B
delay 30
return
@@ -1084,10 +1082,9 @@ LinkContestRoom1_EventScript_27AA6F:: @ 827AA6F
LinkContestRoom1_EventScript_27AB36:: @ 827AB36
compare VAR_0x4088, 5
- goto_eq LinkContestRoom1_EventScript_27ABD8
+ goto_if_eq LinkContestRoom1_EventScript_27ABD8
call LinkContestRoom1_EventScript_27AB9E
- checkflag FLAG_TEMP_2
- goto_eq LinkContestRoom1_EventScript_27AB82
+ goto_if_set FLAG_TEMP_2, LinkContestRoom1_EventScript_27AB82
lockall
msgbox LinkContestRoom1_Text_27BBA8, MSGBOX_DEFAULT
releaseall
@@ -1099,7 +1096,7 @@ LinkContestRoom1_EventScript_27AB36:: @ 827AB36
delay 30
special sub_80F88E8
compare VAR_0x8004, 1
- goto_eq LinkContestRoom1_EventScript_27ABD2
+ goto_if_eq LinkContestRoom1_EventScript_27ABD2
return
LinkContestRoom1_EventScript_27AB82:: @ 827AB82
@@ -1109,24 +1106,24 @@ LinkContestRoom1_EventScript_27AB82:: @ 827AB82
delay 90
special sub_80F88E8
compare VAR_0x8004, 1
- goto_eq LinkContestRoom1_EventScript_27ABD2
+ goto_if_eq LinkContestRoom1_EventScript_27ABD2
return
LinkContestRoom1_EventScript_27AB9E:: @ 827AB9E
specialvar VAR_RESULT, sub_80F7F7C
compare VAR_RESULT, 1
- goto_eq LinkContestRoom1_EventScript_27ABAF
+ goto_if_eq LinkContestRoom1_EventScript_27ABAF
return
LinkContestRoom1_EventScript_27ABAF:: @ 827ABAF
special sub_80F831C
compare VAR_0x8005, 3
- goto_eq LinkContestRoom1_EventScript_27ABBE
+ goto_if_eq LinkContestRoom1_EventScript_27ABBE
return
LinkContestRoom1_EventScript_27ABBE:: @ 827ABBE
compare VAR_CONTEST_RANK, 3
- goto_eq LinkContestRoom1_EventScript_27ABCD
+ goto_if_eq LinkContestRoom1_EventScript_27ABCD
setflag FLAG_TEMP_2
return
@@ -1147,7 +1144,7 @@ LinkContestRoom1_EventScript_27ABD8:: @ 827ABD8
special sub_80F831C
special sub_80F88E8
compare VAR_0x8004, 1
- goto_eq LinkContestRoom1_EventScript_27ABF1
+ goto_if_eq LinkContestRoom1_EventScript_27ABF1
closemessage
return
@@ -1197,7 +1194,7 @@ LinkContestRoom1_EventScript_27AC51:: @ 827AC51
LinkContestRoom1_EventScript_27AC5E:: @ 827AC5E
special sub_80F831C
compare VAR_0x8005, 3
- goto_eq LinkContestRoom1_EventScript_27AC77
+ goto_if_eq LinkContestRoom1_EventScript_27AC77
lockall
msgbox LinkContestRoom1_Text_27BB7A, MSGBOX_DEFAULT
releaseall
@@ -1205,12 +1202,12 @@ LinkContestRoom1_EventScript_27AC5E:: @ 827AC5E
LinkContestRoom1_EventScript_27AC77:: @ 827AC77
compare VAR_0x4088, 2
- call_if 1, LinkContestRoom1_EventScript_27ABCE
+ call_if_eq LinkContestRoom1_EventScript_27ABCE
specialvar VAR_RESULT, sub_80F7F7C
compare VAR_RESULT, 0
- goto_eq LinkContestRoom1_EventScript_27ACDF
+ goto_if_eq LinkContestRoom1_EventScript_27ACDF
compare VAR_CONTEST_RANK, 3
- goto_eq LinkContestRoom1_EventScript_27ACBD
+ goto_if_eq LinkContestRoom1_EventScript_27ACBD
lockall
msgbox LinkContestRoom1_Text_27BB7A, MSGBOX_DEFAULT
releaseall
@@ -1227,7 +1224,7 @@ LinkContestRoom1_EventScript_27ACA8:: @ 827ACA8
LinkContestRoom1_EventScript_27ACBD:: @ 827ACBD
giveitem_std ITEM_LUXURY_BALL
compare VAR_RESULT, 0
- goto_eq LinkContestRoom1_EventScript_27ACA8
+ goto_if_eq LinkContestRoom1_EventScript_27ACA8
lockall
msgbox LinkContestRoom1_Text_27BB7A, MSGBOX_DEFAULT
releaseall
@@ -1433,7 +1430,7 @@ LinkContestRoom1_Movement_27AD7E: @ 827AD7E
LinkContestRoom1_EventScript_27AD80:: @ 827AD80
specialvar VAR_RESULT, sub_80F9134
compare VAR_RESULT, 1
- goto_eq LinkContestRoom1_EventScript_27AD91
+ goto_if_eq LinkContestRoom1_EventScript_27AD91
return
LinkContestRoom1_EventScript_27AD91:: @ 827AD91
@@ -1442,7 +1439,7 @@ LinkContestRoom1_EventScript_27AD91:: @ 827AD91
LilycoveCity_ContestLobby_EventScript_27AD92:: @ 827AD92
specialvar VAR_RESULT, sub_80F9134
compare VAR_RESULT, 1
- goto_eq LilycoveCity_ContestLobby_EventScript_27ADA3
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_27ADA3
return
LilycoveCity_ContestLobby_EventScript_27ADA3:: @ 827ADA3
diff --git a/data/scripts/day_care.inc b/data/scripts/day_care.inc
index 13b68617a..057a2fa07 100644
--- a/data/scripts/day_care.inc
+++ b/data/scripts/day_care.inc
@@ -4,11 +4,11 @@ Route117_EventScript_291C18:: @ 8291C18
special GetDaycareMonNicknames
specialvar VAR_RESULT, GetDaycareState
compare VAR_RESULT, 1
- goto_eq Route117_EventScript_291C4D
+ goto_if_eq Route117_EventScript_291C4D
compare VAR_RESULT, 2
- goto_eq Route117_EventScript_291CD1
+ goto_if_eq Route117_EventScript_291CD1
compare VAR_RESULT, 3
- goto_eq Route117_EventScript_291CE8
+ goto_if_eq Route117_EventScript_291CE8
msgbox Route117_Text_291FCF, MSGBOX_DEFAULT
release
end
@@ -16,10 +16,10 @@ Route117_EventScript_291C18:: @ 8291C18
Route117_EventScript_291C4D:: @ 8291C4D
msgbox Route117_Text_29205D, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq Route117_EventScript_291C83
+ goto_if_eq Route117_EventScript_291C83
msgbox Route117_Text_2922C6, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq Route117_EventScript_291C83
+ goto_if_eq Route117_EventScript_291C83
msgbox Route117_Text_292149, MSGBOX_DEFAULT
clearflag FLAG_PENDING_DAYCARE_EGG
special RejectEggFromDayCare
@@ -29,7 +29,7 @@ Route117_EventScript_291C4D:: @ 8291C4D
Route117_EventScript_291C83:: @ 8291C83
specialvar VAR_RESULT, CalculatePlayerPartyCount
compare VAR_RESULT, 6
- goto_if 5, Route117_EventScript_291C9D
+ goto_if_ne Route117_EventScript_291C9D
msgbox Route117_Text_29216A, MSGBOX_DEFAULT
release
end
@@ -48,7 +48,7 @@ Route117_EventScript_291C9D:: @ 8291C9D
Route117_EventScript_291CB7:: @ 8291CB7
specialvar VAR_RESULT, sub_8071614
compare VAR_RESULT, 1
- call_if 1, Route117_EventScript_291CC8
+ call_if_eq Route117_EventScript_291CC8
return
Route117_EventScript_291CC8:: @ 8291CC8
@@ -82,14 +82,14 @@ Route117_PokemonDayCare_EventScript_291D11:: @ 8291D11
faceplayer
specialvar VAR_RESULT, GetDaycareState
compare VAR_RESULT, 1
- goto_eq Route117_PokemonDayCare_EventScript_291E0B
+ goto_if_eq Route117_PokemonDayCare_EventScript_291E0B
compare VAR_RESULT, 2
- goto_eq Route117_PokemonDayCare_EventScript_291E2F
+ goto_if_eq Route117_PokemonDayCare_EventScript_291E2F
compare VAR_RESULT, 3
- goto_eq Route117_PokemonDayCare_EventScript_291F5C
+ goto_if_eq Route117_PokemonDayCare_EventScript_291F5C
msgbox Route117_PokemonDayCare_Text_2922F4, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq Route117_PokemonDayCare_EventScript_291D56
+ goto_if_eq Route117_PokemonDayCare_EventScript_291D56
msgbox Route117_PokemonDayCare_Text_292416, MSGBOX_DEFAULT
release
end
@@ -97,19 +97,19 @@ Route117_PokemonDayCare_EventScript_291D11:: @ 8291D11
Route117_PokemonDayCare_EventScript_291D56:: @ 8291D56
specialvar VAR_RESULT, CountPartyNonEggMons
compare VAR_RESULT, 1
- goto_eq Route117_PokemonDayCare_EventScript_291DED
+ goto_if_eq Route117_PokemonDayCare_EventScript_291DED
specialvar VAR_RESULT, sub_80722E0
compare VAR_RESULT, 2
- goto_eq Route117_PokemonDayCare_EventScript_291E01
+ goto_if_eq Route117_PokemonDayCare_EventScript_291E01
msgbox Route117_PokemonDayCare_Text_292349, MSGBOX_DEFAULT
fadescreen 1
special ChooseSendDaycareMon
waitstate
compare VAR_0x8004, 255
- goto_eq Route117_PokemonDayCare_EventScript_291DCA
+ goto_if_eq Route117_PokemonDayCare_EventScript_291DCA
specialvar VAR_RESULT, CountPartyAliveNonEggMons_IgnoreVar0x8004Slot
compare VAR_RESULT, 0
- goto_eq Route117_PokemonDayCare_EventScript_291DF7
+ goto_if_eq Route117_PokemonDayCare_EventScript_291DF7
specialvar VAR_0x8005, GetSelectedMonNickAndSpecies
waitse
playmoncry VAR_0x8005, 0
@@ -119,7 +119,7 @@ Route117_PokemonDayCare_EventScript_291D56:: @ 8291D56
incrementgamestat 47
specialvar VAR_RESULT, GetDaycareState
compare VAR_RESULT, 2
- goto_eq Route117_PokemonDayCare_EventScript_291DD4
+ goto_if_eq Route117_PokemonDayCare_EventScript_291DD4
release
end
@@ -131,7 +131,7 @@ Route117_PokemonDayCare_EventScript_291DCA:: @ 8291DCA
Route117_PokemonDayCare_EventScript_291DD4:: @ 8291DD4
msgbox Route117_PokemonDayCare_Text_2923AF, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq Route117_PokemonDayCare_EventScript_291D56
+ goto_if_eq Route117_PokemonDayCare_EventScript_291D56
goto Route117_PokemonDayCare_EventScript_291DCA
end
@@ -162,7 +162,7 @@ Route117_PokemonDayCare_EventScript_291E15:: @ 8291E15
Route117_PokemonDayCare_EventScript_291E1E:: @ 8291E1E
specialvar VAR_RESULT, GetNumLevelsGainedFromDaycare
compare VAR_RESULT, 0
- call_if 5, Route117_PokemonDayCare_EventScript_291E15
+ call_if_ne Route117_PokemonDayCare_EventScript_291E15
return
Route117_PokemonDayCare_EventScript_291E2F:: @ 8291E2F
@@ -171,26 +171,26 @@ Route117_PokemonDayCare_EventScript_291E2F:: @ 8291E2F
call Route117_PokemonDayCare_EventScript_291E1E
msgbox Route117_PokemonDayCare_Text_2923AF, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq Route117_PokemonDayCare_EventScript_291D56
+ goto_if_eq Route117_PokemonDayCare_EventScript_291D56
msgbox Route117_PokemonDayCare_Text_2925F6, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq Route117_PokemonDayCare_EventScript_291E6D
+ goto_if_eq Route117_PokemonDayCare_EventScript_291E6D
goto Route117_PokemonDayCare_EventScript_291DCA
end
Route117_PokemonDayCare_EventScript_291E6D:: @ 8291E6D
specialvar VAR_RESULT, CalculatePlayerPartyCount
compare VAR_RESULT, 6
- goto_eq Route117_PokemonDayCare_EventScript_291F3D
+ goto_if_eq Route117_PokemonDayCare_EventScript_291F3D
specialvar VAR_RESULT, GetDaycareState
setvar VAR_0x8004, 0
compare VAR_RESULT, 2
- goto_eq Route117_PokemonDayCare_EventScript_291EAC
+ goto_if_eq Route117_PokemonDayCare_EventScript_291EAC
special ShowDaycareLevelMenu
waitstate
copyvar VAR_0x8004, VAR_RESULT
compare VAR_RESULT, 2
- goto_eq Route117_PokemonDayCare_EventScript_291DCA
+ goto_if_eq Route117_PokemonDayCare_EventScript_291DCA
goto Route117_PokemonDayCare_EventScript_291EAC
end
@@ -198,14 +198,14 @@ Route117_PokemonDayCare_EventScript_291EAC:: @ 8291EAC
special GetDaycareCost
msgbox Route117_PokemonDayCare_Text_292549, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq Route117_PokemonDayCare_EventScript_291EC8
+ goto_if_eq Route117_PokemonDayCare_EventScript_291EC8
goto Route117_PokemonDayCare_EventScript_291DCA
end
Route117_PokemonDayCare_EventScript_291EC8:: @ 8291EC8
specialvar VAR_RESULT, IsEnoughForCostInVar0x8005
compare VAR_RESULT, 1
- goto_eq Route117_PokemonDayCare_EventScript_291EE2
+ goto_if_eq Route117_PokemonDayCare_EventScript_291EE2
msgbox Route117_PokemonDayCare_Text_292432, MSGBOX_DEFAULT
release
end
@@ -223,14 +223,14 @@ Route117_PokemonDayCare_EventScript_291EE2:: @ 8291EE2
waitmoncry
specialvar VAR_RESULT, GetDaycareState
compare VAR_RESULT, 2
- goto_eq Route117_PokemonDayCare_EventScript_291F24
+ goto_if_eq Route117_PokemonDayCare_EventScript_291F24
goto Route117_PokemonDayCare_EventScript_291DCA
end
Route117_PokemonDayCare_EventScript_291F24:: @ 8291F24
msgbox Route117_PokemonDayCare_Text_29244F, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq Route117_PokemonDayCare_EventScript_291E6D
+ goto_if_eq Route117_PokemonDayCare_EventScript_291E6D
goto Route117_PokemonDayCare_EventScript_291DCA
end
@@ -272,7 +272,7 @@ Route117_PokemonDayCare_EventScript_291F5C:: @ 8291F5C
call Route117_PokemonDayCare_EventScript_291E1E
msgbox Route117_PokemonDayCare_Text_2925F6, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq Route117_PokemonDayCare_EventScript_291E6D
+ goto_if_eq Route117_PokemonDayCare_EventScript_291E6D
msgbox Route117_PokemonDayCare_Text_292476, MSGBOX_DEFAULT
release
end
@@ -281,7 +281,7 @@ Route117_PokemonDayCare_EventScript_291F95:: @ 8291F95
special ShowDaycareLevelMenu
waitstate
compare VAR_RESULT, 2
- goto_eq Route117_PokemonDayCare_EventScript_291DCA
+ goto_if_eq Route117_PokemonDayCare_EventScript_291DCA
copyvar VAR_0x8004, VAR_RESULT
specialvar VAR_RESULT, TakePokemonFromDaycare
msgbox Route117_PokemonDayCare_Text_292575, MSGBOX_DEFAULT
diff --git a/data/scripts/field_move_scripts.inc b/data/scripts/field_move_scripts.inc
index 1d3c8dfe5..024ffbf85 100644
--- a/data/scripts/field_move_scripts.inc
+++ b/data/scripts/field_move_scripts.inc
@@ -10,17 +10,16 @@ Route120_EventScript_2906BB:: @ 82906BB
Route121_EventScript_2906BB:: @ 82906BB
Route123_EventScript_2906BB:: @ 82906BB
lockall
- checkflag FLAG_BADGE01_GET
- goto_if 0, Route103_EventScript_290721
+ goto_if_unset FLAG_BADGE01_GET, Route103_EventScript_290721
checkpartymove MOVE_CUT
compare VAR_RESULT, 6
- goto_eq Route103_EventScript_290721
+ goto_if_eq Route103_EventScript_290721
setfieldeffectargument 0, VAR_RESULT
bufferpartymonnick 0, VAR_RESULT
buffermovename 1, MOVE_CUT
msgbox Route103_Text_29072E, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq Route103_EventScript_29072B
+ goto_if_eq Route103_EventScript_29072B
msgbox Route103_Text_290771, MSGBOX_DEFAULT
closemessage
dofieldeffect 2
@@ -84,17 +83,16 @@ SeafloorCavern_Room2_EventScript_2907A6:: @ 82907A6
SeafloorCavern_Room5_EventScript_2907A6:: @ 82907A6
VictoryRoad_B1F_EventScript_2907A6:: @ 82907A6
lockall
- checkflag FLAG_BADGE03_GET
- goto_if 0, Route111_EventScript_29082D
+ goto_if_unset FLAG_BADGE03_GET, Route111_EventScript_29082D
checkpartymove MOVE_ROCK_SMASH
compare VAR_RESULT, 6
- goto_eq Route111_EventScript_29082D
+ goto_if_eq Route111_EventScript_29082D
setfieldeffectargument 0, VAR_RESULT
bufferpartymonnick 0, VAR_RESULT
buffermovename 1, MOVE_ROCK_SMASH
msgbox Route111_Text_29083A, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq Route111_EventScript_290837
+ goto_if_eq Route111_EventScript_290837
msgbox Route111_Text_290771, MSGBOX_DEFAULT
closemessage
dofieldeffect 37
@@ -115,10 +113,10 @@ Route111_EventScript_2907FB:: @ 82907FB
removeobject VAR_LAST_TALKED
specialvar VAR_RESULT, TryUpdateRusturfTunnelState
compare VAR_RESULT, 1
- goto_eq Route111_EventScript_290829
+ goto_if_eq Route111_EventScript_290829
special RockSmashWildEncounter
compare VAR_RESULT, 0
- goto_eq Route111_EventScript_290829
+ goto_if_eq Route111_EventScript_290829
waitstate
releaseall
end
@@ -160,17 +158,15 @@ SeafloorCavern_Room8_EventScript_2908BA:: @ 82908BA
ShoalCave_LowTideLowerRoom_EventScript_2908BA:: @ 82908BA
VictoryRoad_B1F_EventScript_2908BA:: @ 82908BA
lockall
- checkflag FLAG_BADGE04_GET
- goto_if 0, FieryPath_EventScript_290915
- checkflag FLAG_SYS_USE_STRENGTH
- goto_eq FieryPath_EventScript_29091F
+ goto_if_unset FLAG_BADGE04_GET, FieryPath_EventScript_290915
+ goto_if_set FLAG_SYS_USE_STRENGTH, FieryPath_EventScript_29091F
checkpartymove MOVE_STRENGTH
compare VAR_RESULT, 6
- goto_eq FieryPath_EventScript_290915
+ goto_if_eq FieryPath_EventScript_290915
setfieldeffectargument 0, VAR_RESULT
msgbox FieryPath_Text_29092C, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq FieryPath_EventScript_290929
+ goto_if_eq FieryPath_EventScript_290929
closemessage
dofieldeffect 40
waitstate
@@ -227,12 +223,12 @@ EventScript_UseWaterfall:: @ 8290A49
lockall
checkpartymove MOVE_WATERFALL
compare VAR_RESULT, 6
- goto_eq EventScript_290A84
+ goto_if_eq EventScript_290A84
bufferpartymonnick 0, VAR_RESULT
setfieldeffectargument 0, VAR_RESULT
msgbox Text_290AC3, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq EventScript_290A8C
+ goto_if_eq EventScript_290A8C
msgbox Text_290AFC, MSGBOX_DEFAULT
dofieldeffect 43
goto EventScript_290A8C
@@ -262,13 +258,13 @@ EventScript_UseDive:: @ 8290B0F
lockall
checkpartymove MOVE_DIVE
compare VAR_RESULT, 6
- goto_eq EventScript_290B4E
+ goto_if_eq EventScript_290B4E
bufferpartymonnick 0, VAR_RESULT
setfieldeffectargument 0, VAR_RESULT
setfieldeffectargument 1, 1
msgbox Text_290BE8, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq EventScript_290B58
+ goto_if_eq EventScript_290B58
msgbox Text_290C1A, MSGBOX_DEFAULT
dofieldeffect 44
goto EventScript_290B58
@@ -287,13 +283,13 @@ EventScript_UseDiveUnderwater:: @ 8290B5A
lockall
checkpartymove MOVE_DIVE
compare VAR_RESULT, 6
- goto_eq EventScript_290B99
+ goto_if_eq EventScript_290B99
bufferpartymonnick 0, VAR_RESULT
setfieldeffectargument 0, VAR_RESULT
setfieldeffectargument 1, 1
msgbox Text_290C6E, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq EventScript_290BA8
+ goto_if_eq EventScript_290BA8
msgbox Text_290C1A, MSGBOX_DEFAULT
dofieldeffect 44
goto EventScript_290BA8
diff --git a/data/scripts/gabby_and_ty.inc b/data/scripts/gabby_and_ty.inc
index f95cfa0ab..39de44ba6 100644
--- a/data/scripts/gabby_and_ty.inc
+++ b/data/scripts/gabby_and_ty.inc
@@ -2,7 +2,7 @@ EventScript_28CCAA:: @ 828CCAA
setvar VAR_0x8005, 8
special InterviewBefore
compare VAR_RESULT, 1
- goto_eq EventScript_28CCC6
+ goto_if_eq EventScript_28CCC6
setvar VAR_0x8005, 8
special InterviewAfter
return
@@ -215,13 +215,12 @@ Route111_EventScript_28CF56:: @ 828CF56
special GabbyAndTyBeforeInterview
special GabbyAndTySetScriptVarsToEventObjectLocalIds
compare VAR_FACING, 2
- call_if 1, Route111_EventScript_28CF94
+ call_if_eq Route111_EventScript_28CF94
compare VAR_FACING, 1
- call_if 1, Route111_EventScript_28CF9F
+ call_if_eq Route111_EventScript_28CF9F
compare VAR_FACING, 4
- call_if 1, Route111_EventScript_28CFB1
- checkflag FLAG_TEMP_1
- goto_eq Route111_EventScript_28D0EE
+ 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
end
@@ -249,16 +248,15 @@ Route120_EventScript_28CFC3:: @ 828CFC3
special GabbyAndTyBeforeInterview
special GabbyAndTySetScriptVarsToEventObjectLocalIds
compare VAR_FACING, 2
- call_if 1, Route111_EventScript_28CF94
+ call_if_eq Route111_EventScript_28CF94
compare VAR_FACING, 1
- call_if 1, Route111_EventScript_28CF9F
+ call_if_eq Route111_EventScript_28CF9F
compare VAR_FACING, 4
- call_if 1, Route111_EventScript_28CFB1
- checkflag FLAG_TEMP_1
- goto_eq Route111_EventScript_28D0EE
+ call_if_eq Route111_EventScript_28CFB1
+ goto_if_set FLAG_TEMP_1, Route111_EventScript_28D0EE
specialvar VAR_RESULT, GabbyAndTyGetLastQuote
compare VAR_RESULT, 0
- goto_eq Route111_EventScript_28D053
+ goto_if_eq Route111_EventScript_28D053
msgbox Route111_Text_28B137, MSGBOX_DEFAULT
specialvar VAR_RESULT, GabbyAndTyGetLastBattleTrivia
switch VAR_RESULT
@@ -313,14 +311,14 @@ Route111_EventScript_28D099:: @ 828D099
Route111_EventScript_28D0A7:: @ 828D0A7
compare VAR_RESULT, 0
- goto_eq Route111_EventScript_28D0E1
+ goto_if_eq Route111_EventScript_28D0E1
msgbox Route111_Text_28B433, MSGBOX_DEFAULT
setvar VAR_0x8004, 10
call Route111_EventScript_271E7C
lock
faceplayer
compare VAR_RESULT, 0
- goto_eq Route111_EventScript_28D0E1
+ goto_if_eq Route111_EventScript_28D0E1
msgbox Route111_Text_28B4AB, MSGBOX_DEFAULT
special GabbyAndTyAfterInterview
setflag FLAG_TEMP_1
diff --git a/data/scripts/mauville_man.inc b/data/scripts/mauville_man.inc
index e19453b66..2791e5d9f 100644
--- a/data/scripts/mauville_man.inc
+++ b/data/scripts/mauville_man.inc
@@ -13,9 +13,9 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E0A6:: @ 828E0A6
faceplayer
msgbox MauvilleCity_PokemonCenter_1F_Text_29038E, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E0C7
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E0C7
compare VAR_RESULT, 0
- goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E0EA
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E0EA
end
MauvilleCity_PokemonCenter_1F_EventScript_28E0C7:: @ 828E0C7
@@ -24,7 +24,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E0C7:: @ 828E0C7
delay 60
special ScrSpecial_HasBardSongBeenChanged
compare VAR_RESULT, 0
- goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E0F4
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E0F4
msgbox MauvilleCity_PokemonCenter_1F_Text_2903E6, MSGBOX_DEFAULT
release
end
@@ -37,9 +37,9 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E0EA:: @ 828E0EA
MauvilleCity_PokemonCenter_1F_EventScript_28E0F4:: @ 828E0F4
msgbox MauvilleCity_PokemonCenter_1F_Text_290421, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E113
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E113
compare VAR_RESULT, 0
- goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E15D
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E15D
end
MauvilleCity_PokemonCenter_1F_EventScript_28E113:: @ 828E113
@@ -48,14 +48,14 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E113:: @ 828E113
lock
faceplayer
compare VAR_RESULT, 0
- goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E15D
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E15D
msgbox MauvilleCity_PokemonCenter_1F_Text_2904C1, MSGBOX_DEFAULT
setvar VAR_0x8004, 1
special ScrSpecial_PlayBardSong
delay 60
msgbox MauvilleCity_PokemonCenter_1F_Text_2904EB, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E113
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E113
special ScrSpecial_SaveBardSongLyrics
msgbox MauvilleCity_PokemonCenter_1F_Text_290514, MSGBOX_DEFAULT
release
@@ -73,7 +73,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E167:: @ 828E167
msgbox MauvilleCity_PokemonCenter_1F_Text_29054C, MSGBOX_DEFAULT
special ScrSpecial_GetHipsterSpokenFlag
compare VAR_RESULT, 0
- goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E18C
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E18C
msgbox MauvilleCity_PokemonCenter_1F_Text_290598, MSGBOX_DEFAULT
release
end
@@ -81,7 +81,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E167:: @ 828E167
MauvilleCity_PokemonCenter_1F_EventScript_28E18C:: @ 828E18C
special ScrSpecial_HipsterTeachWord
compare VAR_RESULT, 1
- goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E1A4
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E1A4
msgbox MauvilleCity_PokemonCenter_1F_Text_290602, MSGBOX_DEFAULT
release
end
@@ -156,10 +156,10 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E4D4:: @ 828E4D4
faceplayer
msgbox MauvilleCity_PokemonCenter_1F_Text_28E1B1, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E503
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E503
special ScrSpecial_GetTraderTradedFlag
compare VAR_RESULT, 1
- goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E50D
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E50D
message MauvilleCity_PokemonCenter_1F_Text_28E23F
waitmessage
goto MauvilleCity_PokemonCenter_1F_EventScript_28E517
@@ -179,15 +179,15 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E517:: @ 828E517
special ScrSpecial_TraderMenuGetDecoration
waitstate
compare VAR_0x8004, 0
- goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E558
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E558
compare VAR_0x8004, 65535
- goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E562
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E562
msgbox MauvilleCity_PokemonCenter_1F_Text_28E2A9, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E56E
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E56E
special ScrSpecial_DoesPlayerHaveNoDecorations
compare VAR_RESULT, 1
- goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E57A
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E57A
goto MauvilleCity_PokemonCenter_1F_EventScript_28E584
end
@@ -218,15 +218,15 @@ MauvilleCity_PokemonCenter_1F_EventScript_28E584:: @ 828E584
special ScrSpecial_TraderMenuGiveDecoration
waitstate
compare VAR_0x8006, 0
- goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E5D4
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E5D4
compare VAR_0x8006, 65535
- goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E5DE
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E5DE
special ScrSpecial_IsDecorationFull
compare VAR_RESULT, 1
- goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E5EC
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E5EC
msgbox MauvilleCity_PokemonCenter_1F_Text_28E3C4, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq MauvilleCity_PokemonCenter_1F_EventScript_28E584
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_28E584
special ScrSpecial_TraderDoDecorationTrade
msgbox MauvilleCity_PokemonCenter_1F_Text_28E424, MSGBOX_DEFAULT
release
@@ -812,23 +812,23 @@ MauvilleCity_PokemonCenter_1F_EventScript_29014A:: @ 829014A
setvar VAR_0x800B, 0
msgbox MauvilleCity_PokemonCenter_1F_Text_28E5F6, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290219
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_290219
specialvar VAR_RESULT, ScrSpecial_StorytellerGetFreeStorySlot
compare VAR_RESULT, 0
- goto_eq MauvilleCity_PokemonCenter_1F_EventScript_2901DA
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_2901DA
message MauvilleCity_PokemonCenter_1F_Text_28E673
waitmessage
special ScrSpecial_StorytellerStoryListMenu
waitstate
compare VAR_RESULT, 0
- goto_eq MauvilleCity_PokemonCenter_1F_EventScript_2901B7
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_2901B7
setvar VAR_0x8008, 1
special ScrSpecial_StorytellerDisplayStory
waitmessage
waitbuttonpress
specialvar VAR_RESULT, ScrSpecial_StorytellerUpdateStat
compare VAR_RESULT, 0
- goto_eq MauvilleCity_PokemonCenter_1F_EventScript_2901BD
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_2901BD
goto MauvilleCity_PokemonCenter_1F_EventScript_29020F
MauvilleCity_PokemonCenter_1F_EventScript_2901B7:: @ 82901B7
@@ -839,7 +839,7 @@ MauvilleCity_PokemonCenter_1F_EventScript_2901BD:: @ 82901BD
msgbox MauvilleCity_PokemonCenter_1F_Text_28E78A, MSGBOX_DEFAULT
specialvar VAR_RESULT, ScrSpecial_HasStorytellerAlreadyRecorded
compare VAR_RESULT, 1
- goto_eq MauvilleCity_PokemonCenter_1F_EventScript_29022D
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_29022D
goto MauvilleCity_PokemonCenter_1F_EventScript_2901E2
MauvilleCity_PokemonCenter_1F_EventScript_2901DA:: @ 82901DA
@@ -848,10 +848,10 @@ MauvilleCity_PokemonCenter_1F_EventScript_2901DA:: @ 82901DA
MauvilleCity_PokemonCenter_1F_EventScript_2901E2:: @ 82901E2
msgbox MauvilleCity_PokemonCenter_1F_Text_28E7EE, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290219
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_290219
specialvar VAR_RESULT, ScrSpecial_StorytellerInitializeRandomStat
compare VAR_RESULT, 1
- goto_eq MauvilleCity_PokemonCenter_1F_EventScript_29020F
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_29020F
msgbox MauvilleCity_PokemonCenter_1F_Text_28E881, MSGBOX_DEFAULT
release
end
@@ -897,25 +897,25 @@ MauvilleCity_PokemonCenter_1F_EventScript_2902F6:: @ 82902F6
faceplayer
msgbox MauvilleCity_PokemonCenter_1F_Text_29022F, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290317
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_290317
compare VAR_RESULT, 0
- goto_eq MauvilleCity_PokemonCenter_1F_EventScript_29037A
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_29037A
end
MauvilleCity_PokemonCenter_1F_EventScript_290317:: @ 8290317
special ScrSpecial_GiddyShouldTellAnotherTale
compare VAR_RESULT, 1
- goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290359
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_290359
compare VAR_RESULT, 0
- goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290384
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_290384
end
MauvilleCity_PokemonCenter_1F_EventScript_290331:: @ 8290331
special ScrSpecial_GiddyShouldTellAnotherTale
compare VAR_RESULT, 1
- goto_eq MauvilleCity_PokemonCenter_1F_EventScript_29034B
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_29034B
compare VAR_RESULT, 0
- goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290384
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_290384
end
MauvilleCity_PokemonCenter_1F_EventScript_29034B:: @ 829034B
@@ -929,9 +929,9 @@ MauvilleCity_PokemonCenter_1F_EventScript_290359:: @ 8290359
waitmessage
yesnobox 20, 8
compare VAR_RESULT, 1
- goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290331
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_290331
compare VAR_RESULT, 0
- goto_eq MauvilleCity_PokemonCenter_1F_EventScript_290331
+ goto_if_eq MauvilleCity_PokemonCenter_1F_EventScript_290331
end
MauvilleCity_PokemonCenter_1F_EventScript_29037A:: @ 829037A
diff --git a/data/scripts/mystery_event_club.inc b/data/scripts/mystery_event_club.inc
index dde799a4b..ea805edc4 100644
--- a/data/scripts/mystery_event_club.inc
+++ b/data/scripts/mystery_event_club.inc
@@ -1,8 +1,7 @@
PetalburgCity_PokemonCenter_1F_EventScript_291539:: @ 8291539
lock
faceplayer
- checkflag FLAG_SYS_CHAT_USED
- goto_eq PetalburgCity_PokemonCenter_1F_EventScript_2915F5
+ 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
end
@@ -30,9 +29,9 @@ PetalburgCity_PokemonCenter_1F_EventScript_29159F:: @ 829159F
lock
faceplayer
compare VAR_RESULT, 0
- goto_eq PetalburgCity_PokemonCenter_1F_EventScript_2915CB
+ goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_2915CB
compare VAR_RESULT, 1
- goto_eq PetalburgCity_PokemonCenter_1F_EventScript_2915D5
+ goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_2915D5
end
PetalburgCity_PokemonCenter_1F_EventScript_2915CB:: @ 82915CB
@@ -82,9 +81,9 @@ PetalburgCity_PokemonCenter_1F_EventScript_291650:: @ 8291650
lock
faceplayer
compare VAR_RESULT, 0
- goto_eq PetalburgCity_PokemonCenter_1F_EventScript_2915CB
+ goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_2915CB
compare VAR_RESULT, 1
- goto_eq PetalburgCity_PokemonCenter_1F_EventScript_2915D5
+ goto_if_eq PetalburgCity_PokemonCenter_1F_EventScript_2915D5
end
PetalburgCity_PokemonCenter_1F_EventScript_29167C:: @ 829167C
diff --git a/data/scripts/players_house.inc b/data/scripts/players_house.inc
index 81ea87871..f9c6cf24e 100644
--- a/data/scripts/players_house.inc
+++ b/data/scripts/players_house.inc
@@ -9,25 +9,25 @@ LittlerootTown_MaysHouse_1F_EventScript_292704:: @ 8292704
applymovement VAR_0x8004, LittlerootTown_BrendansHouse_1F_Movement_27259E
waitmovement 0
compare VAR_0x8005, 0
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_29274D
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_29274D
compare VAR_0x8005, 1
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292758
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292758
msgbox LittlerootTown_BrendansHouse_1F_Text_1F7A46, MSGBOX_DEFAULT
closemessage
setvar VAR_0x4092, 4
- applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292763
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292763
applymovement VAR_0x8004, LittlerootTown_BrendansHouse_1F_Movement_2725A6
waitmovement 0
releaseall
end
LittlerootTown_BrendansHouse_1F_EventScript_29274D:: @ 829274D
- applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A8
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_2725A8
waitmovement 0
return
LittlerootTown_BrendansHouse_1F_EventScript_292758:: @ 8292758
- applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A4
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_2725A4
waitmovement 0
return
@@ -40,7 +40,7 @@ LittlerootTown_MaysHouse_1F_EventScript_292765:: @ 8292765
msgbox LittlerootTown_BrendansHouse_1F_Text_1F7B24, MSGBOX_DEFAULT
closemessage
applymovement VAR_0x8004, LittlerootTown_BrendansHouse_1F_Movement_2725A6
- applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292AF0
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292AF0
waitmovement 0
releaseall
end
@@ -59,8 +59,7 @@ LittlerootTown_MaysHouse_2F_EventScript_29278D:: @ 829278D
LittlerootTown_BrendansHouse_2F_EventScript_292799:: @ 8292799
LittlerootTown_MaysHouse_2F_EventScript_292799:: @ 8292799
- checkflag FLAG_0x051
- goto_eq LittlerootTown_BrendansHouse_2F_EventScript_29283F
+ goto_if_set FLAG_0x051, LittlerootTown_BrendansHouse_2F_EventScript_29283F
msgbox LittlerootTown_BrendansHouse_2F_Text_1F8668, MSGBOX_DEFAULT
call LittlerootTown_BrendansHouse_2F_EventScript_292849
delay 30
@@ -70,9 +69,9 @@ LittlerootTown_MaysHouse_2F_EventScript_292799:: @ 8292799
setflag FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_2
checkplayergender
compare VAR_RESULT, 0
- call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_2927DF
+ call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_2927DF
compare VAR_RESULT, 1
- call_if 1, LittlerootTown_BrendansHouse_2F_EventScript_29280F
+ call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_29280F
playse SE_KAIDAN
removeobject VAR_0x8008
releaseall
@@ -83,7 +82,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_2927DF:: @ 82927DF
addobject VAR_0x8008
applymovement VAR_0x8008, LittlerootTown_BrendansHouse_2F_Movement_292850
waitmovement 0
- applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A8
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_2725A8
waitmovement 0
msgbox LittlerootTown_BrendansHouse_2F_Text_1F869A, MSGBOX_DEFAULT
closemessage
@@ -96,7 +95,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_29280F:: @ 829280F
addobject VAR_0x8008
applymovement VAR_0x8008, LittlerootTown_BrendansHouse_2F_Movement_29285B
waitmovement 0
- applymovement 255, LittlerootTown_BrendansHouse_2F_Movement_2725A4
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_2F_Movement_2725A4
waitmovement 0
msgbox LittlerootTown_BrendansHouse_2F_Text_1F869A, MSGBOX_DEFAULT
closemessage
@@ -158,17 +157,17 @@ LittlerootTown_BrendansHouse_1F_EventScript_29286D:: @ 829286D
applymovement VAR_0x8005, LittlerootTown_BrendansHouse_1F_Movement_2725A8
waitmovement 0
call LittlerootTown_BrendansHouse_1F_EventScript_29294B
- applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292AE0
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292AE0
waitmovement 0
playbgm MUS_INTER_V, 0
msgbox LittlerootTown_BrendansHouse_1F_Text_1F7BBC, MSGBOX_DEFAULT
closemessage
applymovement VAR_0x8005, LittlerootTown_BrendansHouse_1F_Movement_2929B7
waitmovement 0
- applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292AE6
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292AE6
waitmovement 0
call LittlerootTown_BrendansHouse_1F_EventScript_29296C
- applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A4
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_2725A4
waitmovement 0
msgbox LittlerootTown_BrendansHouse_1F_Text_1F7BF1, MSGBOX_DEFAULT
msgbox LittlerootTown_BrendansHouse_1F_Text_1F7C35, MSGBOX_DEFAULT
@@ -183,17 +182,17 @@ LittlerootTown_MaysHouse_1F_EventScript_2928DC:: @ 82928DC
applymovement VAR_0x8005, LittlerootTown_MaysHouse_1F_Movement_2725A4
waitmovement 0
call LittlerootTown_MaysHouse_1F_EventScript_29294B
- applymovement 255, LittlerootTown_MaysHouse_1F_Movement_292AE8
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_292AE8
waitmovement 0
playbgm MUS_INTER_V, 0
msgbox LittlerootTown_MaysHouse_1F_Text_1F7BBC, MSGBOX_DEFAULT
closemessage
applymovement VAR_0x8005, LittlerootTown_MaysHouse_1F_Movement_2929BA
waitmovement 0
- applymovement 255, LittlerootTown_MaysHouse_1F_Movement_292AEE
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_292AEE
waitmovement 0
call LittlerootTown_MaysHouse_1F_EventScript_29296C
- applymovement 255, LittlerootTown_MaysHouse_1F_Movement_2725A8
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_MaysHouse_1F_Movement_2725A8
waitmovement 0
msgbox LittlerootTown_MaysHouse_1F_Text_1F7BF1, MSGBOX_DEFAULT
msgbox LittlerootTown_MaysHouse_1F_Text_1F7C35, MSGBOX_DEFAULT
@@ -217,7 +216,7 @@ LittlerootTown_MaysHouse_1F_EventScript_29294B:: @ 829294B
LittlerootTown_BrendansHouse_1F_EventScript_29296C:: @ 829296C
LittlerootTown_MaysHouse_1F_EventScript_29296C:: @ 829296C
- applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A6
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_2725A6
waitmovement 0
msgbox LittlerootTown_BrendansHouse_1F_Text_1F7EC6, MSGBOX_DEFAULT
fadedefaultbgm
@@ -315,17 +314,15 @@ LittlerootTown_MaysHouse_1F_EventScript_2929C5:: @ 82929C5
lock
faceplayer
compare VAR_0x4082, 4
- goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A0F
+ goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292A0F
compare VAR_0x408C, 4
- goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A0F
- checkflag FLAG_HAS_MATCH_CALL
- goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A19
- checkflag FLAG_0x052
- goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A86
+ goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292A0F
+ goto_if_set FLAG_HAS_MATCH_CALL, LittlerootTown_BrendansHouse_1F_EventScript_292A19
+ goto_if_set FLAG_0x052, LittlerootTown_BrendansHouse_1F_EventScript_292A86
compare VAR_TEMP_1, 1
- goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A94
+ goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292A94
compare VAR_0x4092, 7
- goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292AB0
+ goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292AB0
msgbox LittlerootTown_BrendansHouse_1F_Text_1F7A1C, MSGBOX_DEFAULT
release
end
@@ -336,8 +333,7 @@ LittlerootTown_BrendansHouse_1F_EventScript_292A0F:: @ 8292A0F
end
LittlerootTown_BrendansHouse_1F_EventScript_292A19:: @ 8292A19
- checkflag FLAG_0x0D8
- goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A43
+ goto_if_set FLAG_0x0D8, LittlerootTown_BrendansHouse_1F_EventScript_292A43
msgbox LittlerootTown_BrendansHouse_1F_Text_1F7E0E, MSGBOX_DEFAULT
closemessage
delay 30
@@ -351,17 +347,15 @@ LittlerootTown_BrendansHouse_1F_EventScript_292A19:: @ 8292A19
end
LittlerootTown_BrendansHouse_1F_EventScript_292A43:: @ 8292A43
- checkflag FLAG_BADGE05_GET
- goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A51
+ goto_if_set FLAG_BADGE05_GET, LittlerootTown_BrendansHouse_1F_EventScript_292A51
goto LittlerootTown_BrendansHouse_1F_EventScript_292A86
LittlerootTown_BrendansHouse_1F_EventScript_292A51:: @ 8292A51
- checkflag FLAG_0x085
- goto_eq LittlerootTown_BrendansHouse_1F_EventScript_292A86
+ goto_if_set FLAG_0x085, LittlerootTown_BrendansHouse_1F_EventScript_292A86
msgbox LittlerootTown_BrendansHouse_1F_Text_1F7D73, MSGBOX_DEFAULT
giveitem_std ITEM_AMULET_COIN
compare VAR_RESULT, 0
- goto_eq LittlerootTown_BrendansHouse_1F_EventScript_272054
+ goto_if_eq LittlerootTown_BrendansHouse_1F_EventScript_272054
msgbox LittlerootTown_BrendansHouse_1F_Text_1F7DBE, MSGBOX_DEFAULT
setflag FLAG_0x085
release
@@ -445,13 +439,13 @@ LittlerootTown_MaysHouse_1F_EventScript_292AF2:: @ 8292AF2
lockall
checkplayergender
compare VAR_RESULT, 0
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292C76
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292C76
compare VAR_RESULT, 1
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292C86
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292C86
compare VAR_0x8008, 0
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D08
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D08
compare VAR_0x8008, 1
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D13
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D13
applymovement VAR_0x8009, LittlerootTown_BrendansHouse_1F_Movement_27259E
waitmovement 0
playse SE_PIN
@@ -461,32 +455,32 @@ LittlerootTown_MaysHouse_1F_EventScript_292AF2:: @ 8292AF2
waitmovement 0
delay 20
compare VAR_0x8008, 0
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292C96
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292C96
compare VAR_0x8008, 1
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292CA1
+ 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
closemessage
delay 20
compare VAR_0x8008, 0
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292CAC
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292CAC
compare VAR_0x8008, 1
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292CC1
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292CC1
msgbox LittlerootTown_BrendansHouse_1F_Text_1F815B, MSGBOX_DEFAULT
closemessage
compare VAR_0x8008, 0
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292CD6
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292CD6
compare VAR_0x8008, 1
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292CEF
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292CEF
playse SE_DOOR
removeobject VAR_0x8009
setflag FLAG_0x123
delay 30
compare VAR_0x8008, 0
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D48
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D48
compare VAR_0x8008, 1
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D5D
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D5D
delay 20
msgbox LittlerootTown_BrendansHouse_1F_Text_1F81B9, MSGBOX_DEFAULT
closemessage
@@ -494,24 +488,24 @@ LittlerootTown_MaysHouse_1F_EventScript_292AF2:: @ 8292AF2
special TurnOnTVScreen
delay 60
compare VAR_0x8008, 0
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D72
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D72
compare VAR_0x8008, 1
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D7D
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D7D
msgbox LittlerootTown_BrendansHouse_1F_Text_1F824B, MSGBOX_DEFAULT
closemessage
compare VAR_0x8008, 0
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D1E
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D1E
compare VAR_0x8008, 1
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D33
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D33
msgbox LittlerootTown_BrendansHouse_1F_Text_1F826F, MSGBOX_DEFAULT
closemessage
clearflag FLAG_SYS_TV_LATI
setflag FLAG_0x0FF
special TurnOffTVScreen
compare VAR_0x8008, 0
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D88
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D88
compare VAR_0x8008, 1
- call_if 1, LittlerootTown_BrendansHouse_1F_EventScript_292D9D
+ call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D9D
msgbox LittlerootTown_BrendansHouse_1F_Text_1F8351, MSGBOX_DEFAULT
multichoice 22, 8, 108, 1
copyvar VAR_0x8004, VAR_RESULT
@@ -565,38 +559,38 @@ LittlerootTown_BrendansHouse_1F_EventScript_292CC1:: @ 8292CC1
return
LittlerootTown_BrendansHouse_1F_EventScript_292CD6:: @ 8292CD6
- applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292DCC
+ 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
waitmovement 0
return
LittlerootTown_BrendansHouse_1F_EventScript_292CEF:: @ 8292CEF
- applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292DCC
+ 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
waitmovement 0
return
LittlerootTown_BrendansHouse_1F_EventScript_292D08:: @ 8292D08
- applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292DC6
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292DC6
waitmovement 0
return
LittlerootTown_BrendansHouse_1F_EventScript_292D13:: @ 8292D13
- applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292DD1
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292DD1
waitmovement 0
return
LittlerootTown_BrendansHouse_1F_EventScript_292D1E:: @ 8292D1E
- applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292DD7
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292DD7
waitmovement 0
applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_2725A4
waitmovement 0
return
LittlerootTown_BrendansHouse_1F_EventScript_292D33:: @ 8292D33
- applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_292DDE
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_292DDE
waitmovement 0
applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_2725A8
waitmovement 0
@@ -605,14 +599,14 @@ LittlerootTown_BrendansHouse_1F_EventScript_292D33:: @ 8292D33
LittlerootTown_BrendansHouse_1F_EventScript_292D48:: @ 8292D48
applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_292999
waitmovement 0
- applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A4
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_2725A4
waitmovement 0
return
LittlerootTown_BrendansHouse_1F_EventScript_292D5D:: @ 8292D5D
applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_29299B
waitmovement 0
- applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A8
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_2725A8
waitmovement 0
return
@@ -629,14 +623,14 @@ LittlerootTown_BrendansHouse_1F_EventScript_292D7D:: @ 8292D7D
LittlerootTown_BrendansHouse_1F_EventScript_292D88:: @ 8292D88
applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_2929AF
waitmovement 0
- applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A8
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_2725A8
waitmovement 0
return
LittlerootTown_BrendansHouse_1F_EventScript_292D9D:: @ 8292D9D
applymovement VAR_0x800A, LittlerootTown_BrendansHouse_1F_Movement_2929B3
waitmovement 0
- applymovement 255, LittlerootTown_BrendansHouse_1F_Movement_2725A4
+ applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_BrendansHouse_1F_Movement_2725A4
waitmovement 0
return
diff --git a/data/scripts/pokeblocks.inc b/data/scripts/pokeblocks.inc
index c1f53aa5d..834fc38a2 100644
--- a/data/scripts/pokeblocks.inc
+++ b/data/scripts/pokeblocks.inc
@@ -247,14 +247,13 @@ LilycoveCity_ContestLobby_Text_293BB4: @ 8293BB4
EventScript_Pblock1_Ask:: @ 8293C3E
lockall
- checkflag FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS
- goto_if 0, LilycoveCity_ContestLobby_EventScript_293EFB
+ 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_eq EventScript_Pblock1_Yes
+ goto_if_eq EventScript_Pblock1_Yes
goto EventScript_Pblock1_No
end
@@ -266,8 +265,7 @@ EventScript_Pblock1_No: @ 8293C70
EventScript_Pblock1_NoBerries: @ 8293C7A
msgbox Text_Pblock1_NoBerries, MSGBOX_DEFAULT
dodailyevents
- checkflag FLAG_0x921
- goto_eq LilycoveCity_ContestLobby_EventScript_293C92
+ goto_if_set FLAG_0x921, LilycoveCity_ContestLobby_EventScript_293C92
goto LilycoveCity_ContestLobby_EventScript_293C9C
end
@@ -286,7 +284,7 @@ LilycoveCity_ContestLobby_EventScript_293C9C: @ 8293C9C
EventScript_Pblock1_KnowHow: @ 8293CB9
msgbox Text_Pblock1_KnowHow, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq EventScript_Pblock1_Start
+ goto_if_eq EventScript_Pblock1_Start
goto EventScript_Pblock1_Explain
end
@@ -303,13 +301,13 @@ EventScript_Pblock1_Explain: @ 8293CE0
EventScript_Pblock1_Yes: @ 8293CEE
checkitem ITEM_POKEBLOCK_CASE, 1
compare VAR_RESULT, 0
- goto_eq EventScript_Pblock1_NoPokeblock
+ goto_if_eq EventScript_Pblock1_NoPokeblock
specialvar VAR_RESULT, GetFirstFreePokeblockSlot
compare VAR_RESULT, 65535
- goto_eq EventScript_Pblock1_FullPokeblock
+ goto_if_eq EventScript_Pblock1_FullPokeblock
specialvar VAR_RESULT, PlayerHasBerries
compare VAR_RESULT, 0
- goto_eq EventScript_Pblock1_NoBerries
+ goto_if_eq EventScript_Pblock1_NoBerries
msgbox Text_Pblock1_Yes, MSGBOX_DEFAULT
goto EventScript_Pblock1_KnowHow
end
@@ -340,7 +338,7 @@ LilycoveCity_ContestLobby_EventScript_293D4D:: @ 8293D4D
waitmovement 0
msgbox LilycoveCity_ContestLobby_Text_293201, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq LilycoveCity_ContestLobby_EventScript_293DC6
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_293DC6
goto LilycoveCity_ContestLobby_EventScript_293D7D
end
@@ -357,7 +355,7 @@ LilycoveCity_ContestLobby_EventScript_293D87: @ 8293D87
LilycoveCity_ContestLobby_EventScript_293D91: @ 8293D91
msgbox LilycoveCity_ContestLobby_Text_29328C, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq LilycoveCity_ContestLobby_EventScript_293DAA
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_293DAA
goto LilycoveCity_ContestLobby_EventScript_293DB8
end
@@ -374,16 +372,16 @@ LilycoveCity_ContestLobby_EventScript_293DB8: @ 8293DB8
LilycoveCity_ContestLobby_EventScript_293DC6: @ 8293DC6
specialvar VAR_RESULT, PlayerHasBerries
compare VAR_RESULT, 0
- goto_eq LilycoveCity_ContestLobby_EventScript_293D87
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_293D87
checkitem ITEM_POKEBLOCK_CASE, 1
compare VAR_RESULT, 0
- goto_eq LilycoveCity_ContestLobby_EventScript_293E14
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_293E14
msgbox LilycoveCity_ContestLobby_Text_293237, MSGBOX_DEFAULT
specialvar VAR_RESULT, GetFirstFreePokeblockSlot
compare VAR_RESULT, 65535
- goto_if 5, LilycoveCity_ContestLobby_EventScript_293D91
+ goto_if_ne LilycoveCity_ContestLobby_EventScript_293D91
compare VAR_RESULT, 65535
- goto_eq LilycoveCity_ContestLobby_EventScript_293E0A
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_293E0A
end
LilycoveCity_ContestLobby_EventScript_293E0A: @ 8293E0A
@@ -406,7 +404,7 @@ LilycoveCity_ContestLobby_EventScript_293E1E:: @ 8293E1E
waitmovement 0
msgbox LilycoveCity_ContestLobby_Text_293842, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq LilycoveCity_ContestLobby_EventScript_293EA3
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_293EA3
goto LilycoveCity_ContestLobby_EventScript_293E5A
end
@@ -423,7 +421,7 @@ LilycoveCity_ContestLobby_EventScript_293E64: @ 8293E64
LilycoveCity_ContestLobby_EventScript_293E6E: @ 8293E6E
msgbox LilycoveCity_ContestLobby_Text_29357E, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq LilycoveCity_ContestLobby_EventScript_293E87
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_293E87
goto LilycoveCity_ContestLobby_EventScript_293E95
end
@@ -440,16 +438,16 @@ LilycoveCity_ContestLobby_EventScript_293E95: @ 8293E95
LilycoveCity_ContestLobby_EventScript_293EA3: @ 8293EA3
specialvar VAR_RESULT, PlayerHasBerries
compare VAR_RESULT, 0
- goto_eq LilycoveCity_ContestLobby_EventScript_293E64
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_293E64
checkitem ITEM_POKEBLOCK_CASE, 1
compare VAR_RESULT, 0
- goto_eq LilycoveCity_ContestLobby_EventScript_293EF1
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_293EF1
msgbox LilycoveCity_ContestLobby_Text_29354E, MSGBOX_DEFAULT
specialvar VAR_RESULT, GetFirstFreePokeblockSlot
compare VAR_RESULT, 65535
- goto_if 5, LilycoveCity_ContestLobby_EventScript_293E6E
+ goto_if_ne LilycoveCity_ContestLobby_EventScript_293E6E
compare VAR_RESULT, 65535
- goto_eq LilycoveCity_ContestLobby_EventScript_293EE7
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_293EE7
end
LilycoveCity_ContestLobby_EventScript_293EE7: @ 8293EE7
@@ -467,7 +465,7 @@ LilycoveCity_ContestLobby_EventScript_293EFB: @ 8293EFB
setvar VAR_0x8009, 1
msgbox LilycoveCity_ContestLobby_Text_2C42F4, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq LilycoveCity_ContestLobby_EventScript_293F28
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_293F28
msgbox LilycoveCity_ContestLobby_Text_2C4332, MSGBOX_DEFAULT
releaseall
end
@@ -480,21 +478,21 @@ LilycoveCity_ContestLobby_EventScript_293F1E: @ 8293F1E
LilycoveCity_ContestLobby_EventScript_293F28: @ 8293F28
checkitem ITEM_POKEBLOCK_CASE, 1
compare VAR_RESULT, 0
- goto_eq LilycoveCity_ContestLobby_EventScript_293F8E
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_293F8E
specialvar VAR_RESULT, PlayerHasBerries
compare VAR_RESULT, 0
- goto_eq LilycoveCity_ContestLobby_EventScript_293F1E
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_293F1E
specialvar VAR_RESULT, GetFirstFreePokeblockSlot
compare VAR_RESULT, 65535
- goto_if 5, LilycoveCity_ContestLobby_EventScript_293F64
+ goto_if_ne LilycoveCity_ContestLobby_EventScript_293F64
compare VAR_RESULT, 65535
- goto_eq LilycoveCity_ContestLobby_EventScript_293F98
+ 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 1, LilycoveCity_ContestLobby_EventScript_293F85
+ call_if_eq LilycoveCity_ContestLobby_EventScript_293F85
msgbox LilycoveCity_ContestLobby_Text_2C451B, MSGBOX_DEFAULT
goto EventScript_StartBlending
end
@@ -536,9 +534,9 @@ LilycoveCity_ContestLobby_EventScript_293FC8: @ 8293FC8
msgbox Text_Pblock1_Talk_0, MSGBOX_DEFAULT
specialvar VAR_RESULT, PlayerHasBerries
compare VAR_RESULT, 1
- goto_eq LilycoveCity_ContestLobby_EventScript_293FEE
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_293FEE
compare VAR_RESULT, 0
- goto_eq LilycoveCity_ContestLobby_EventScript_293FF8
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_293FF8
end
LilycoveCity_ContestLobby_EventScript_293FEE: @ 8293FEE
@@ -549,13 +547,12 @@ LilycoveCity_ContestLobby_EventScript_293FEE: @ 8293FEE
LilycoveCity_ContestLobby_EventScript_293FF8: @ 8293FF8
checkitem ITEM_POKEBLOCK_CASE, 1
compare VAR_RESULT, 0
- goto_eq LilycoveCity_ContestLobby_EventScript_294028
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_294028
specialvar VAR_RESULT, GetFirstFreePokeblockSlot
compare VAR_RESULT, 65535
- goto_eq LilycoveCity_ContestLobby_EventScript_294028
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_294028
dodailyevents
- checkflag FLAG_0x921
- goto_eq LilycoveCity_ContestLobby_EventScript_294028
+ goto_if_set FLAG_0x921, LilycoveCity_ContestLobby_EventScript_294028
goto LilycoveCity_ContestLobby_EventScript_294032
end
@@ -580,23 +577,23 @@ EventScript_PblockLink:: @ 8294055
lockall
specialvar VAR_RESULT, PlayerHasBerries
compare VAR_RESULT, 0
- goto_eq EventScript_PblocLink_NoBerries
+ goto_if_eq EventScript_PblocLink_NoBerries
checkitem ITEM_POKEBLOCK_CASE, 1
compare VAR_RESULT, 0
- goto_eq EventScript_PblocLink_NoPokeblock
+ goto_if_eq EventScript_PblocLink_NoPokeblock
specialvar VAR_RESULT, GetFirstFreePokeblockSlot
compare VAR_RESULT, 65535
- goto_if 5, EventScript_PblocLink_Ask
+ goto_if_ne EventScript_PblocLink_Ask
compare VAR_RESULT, 65535
- goto_eq EventScript_PblocLink_FullPokeblock
+ goto_if_eq EventScript_PblocLink_FullPokeblock
end
EventScript_PblocLink_Ask: @ 8294092
msgbox Text_PblockLink_Ask, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq EventScript_PblocLink_TryConnect
+ goto_if_eq EventScript_PblocLink_TryConnect
compare VAR_RESULT, 0
- goto_eq EventScript_PblocLink_End
+ goto_if_eq EventScript_PblocLink_End
end
EventScript_PblocLink_NoBerries: @ 82940B1
@@ -607,24 +604,24 @@ EventScript_PblocLink_NoBerries: @ 82940B1
EventScript_PblocLink_TryConnect: @ 82940BB
call LilycoveCity_ContestLobby_EventScript_27134F
compare VAR_RESULT, 0
- goto_eq EventScript_PblocLink_End
+ goto_if_eq EventScript_PblocLink_End
specialvar VAR_RESULT, IsWirelessAdapterConnected
compare VAR_RESULT, 1
- goto_eq LilycoveCity_ContestLobby_EventScript_2941ED
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_2941ED
message Text_PblockLink_Searching
waitmessage
special sub_80B2FD8
waitstate
compare VAR_RESULT, 1
- goto_eq EventScript_PblocLink_SpawnPartners
+ goto_if_eq EventScript_PblocLink_SpawnPartners
compare VAR_RESULT, 2
- goto_eq EventScript_PblocLink_SomeoneNotReady
+ goto_if_eq EventScript_PblocLink_SomeoneNotReady
compare VAR_RESULT, 3
- goto_eq EventScript_PblocLink_DifferentSelections
+ goto_if_eq EventScript_PblocLink_DifferentSelections
compare VAR_RESULT, 5
- goto_eq EventScript_PblocLink_CloseLink
+ goto_if_eq EventScript_PblocLink_CloseLink
compare VAR_RESULT, 6
- goto_eq EventScript_PblocLink_LinkError
+ goto_if_eq EventScript_PblocLink_LinkError
end
EventScript_PblocLink_1Arrived: @ 829411D
@@ -728,22 +725,22 @@ EventScript_PblocLink_DecideLeader: @ 82941F8
EventScript_PblocLink_TryBecomeLeader: @ 8294235
call EventScript_PblocLink_BecomeLeader
compare VAR_RESULT, 1
- goto_eq EventScript_PblocLink_SpawnPartners_
+ goto_if_eq EventScript_PblocLink_SpawnPartners_
compare VAR_RESULT, 5
- goto_eq EventScript_PblocLink_DecideLeader
+ goto_if_eq EventScript_PblocLink_DecideLeader
compare VAR_RESULT, 8
- goto_eq EventScript_PblocLink_TryBecomeLeader
+ goto_if_eq EventScript_PblocLink_TryBecomeLeader
release
end
EventScript_PblocLink_TryJoinGroup: @ 829425D
call EventScript_PblocLink_JoinGroup
compare VAR_RESULT, 1
- goto_eq EventScript_PblocLink_SpawnPartners_
+ goto_if_eq EventScript_PblocLink_SpawnPartners_
compare VAR_RESULT, 5
- goto_eq EventScript_PblocLink_DecideLeader
+ goto_if_eq EventScript_PblocLink_DecideLeader
compare VAR_RESULT, 8
- goto_eq EventScript_PblocLink_TryJoinGroup
+ goto_if_eq EventScript_PblocLink_TryJoinGroup
release
end
diff --git a/data/scripts/safari_zone.inc b/data/scripts/safari_zone.inc
index 5a5244f1b..2932401e1 100644
--- a/data/scripts/safari_zone.inc
+++ b/data/scripts/safari_zone.inc
@@ -15,7 +15,7 @@ EventScript_2A4B6F:: @ 82A4B6F
lockall
msgbox Text_2A4BF4, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq EventScript_2A4B85
+ goto_if_eq EventScript_2A4B85
releaseall
end
@@ -44,10 +44,10 @@ EventScript_2A4BAC:: @ 82A4BAC
lockall
special GetPokeblockFeederInFront
compare VAR_RESULT, 65535
- goto_if 5, EventScript_2A4BEB
+ goto_if_ne EventScript_2A4BEB
msgbox Text_2A4C90, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq EventScript_2A4BD0
+ goto_if_eq EventScript_2A4BD0
releaseall
end
@@ -56,7 +56,7 @@ EventScript_2A4BD0:: @ 82A4BD0
special OpenPokeblockCaseOnFeeder
waitstate
compare VAR_RESULT, 65535
- goto_if 5, EventScript_2A4BE2
+ goto_if_ne EventScript_2A4BE2
end
EventScript_2A4BE2:: @ 82A4BE2
diff --git a/data/scripts/secret_base.inc b/data/scripts/secret_base.inc
index 35a2731a7..ff5e53a06 100644
--- a/data/scripts/secret_base.inc
+++ b/data/scripts/secret_base.inc
@@ -313,32 +313,32 @@ EventScript_2759F1:: @ 82759F1
special sub_80E8C98
special sub_80E8BC8
compare VAR_RESULT, 1
- goto_eq EventScript_275BE8
+ goto_if_eq EventScript_275BE8
checkpartymove MOVE_SECRET_POWER
setfieldeffectargument 0, VAR_RESULT
buffermovename 1, MOVE_SECRET_POWER
compare VAR_0x8007, 1
- goto_eq EventScript_275A50
+ goto_if_eq EventScript_275A50
compare VAR_0x8007, 2
- goto_eq EventScript_275A50
+ goto_if_eq EventScript_275A50
compare VAR_0x8007, 3
- goto_eq EventScript_275A50
+ goto_if_eq EventScript_275A50
compare VAR_0x8007, 4
- goto_eq EventScript_275A50
+ goto_if_eq EventScript_275A50
compare VAR_0x8007, 5
- goto_eq EventScript_275AA9
+ goto_if_eq EventScript_275AA9
compare VAR_0x8007, 6
- goto_eq EventScript_275B02
+ goto_if_eq EventScript_275B02
end
EventScript_275A50:: @ 8275A50
lockall
compare VAR_RESULT, 6
- goto_eq EventScript_275A91
+ goto_if_eq EventScript_275A91
bufferpartymonnick 0, VAR_RESULT
msgbox gText_23B704, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq EventScript_275CDE
+ goto_if_eq EventScript_275CDE
msgbox Route103_Text_290771, MSGBOX_DEFAULT
closemessage
dofieldeffect FLDEFF_USE_SECRET_POWER_CAVE
@@ -366,11 +366,11 @@ EventScript_275A9B:: @ 8275A9B
EventScript_275AA9:: @ 8275AA9
lockall
compare VAR_RESULT, 6
- goto_eq EventScript_275AEA
+ goto_if_eq EventScript_275AEA
bufferpartymonnick 0, VAR_RESULT
msgbox Text_274779, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq EventScript_275CDE
+ goto_if_eq EventScript_275CDE
msgbox Route103_Text_290771, MSGBOX_DEFAULT
closemessage
dofieldeffect FLDEFF_USE_SECRET_POWER_TREE
@@ -398,11 +398,11 @@ EventScript_275AF4:: @ 8275AF4
EventScript_275B02:: @ 8275B02
lockall
compare VAR_RESULT, 6
- goto_eq EventScript_275B43
+ goto_if_eq EventScript_275B43
bufferpartymonnick 0, VAR_RESULT
msgbox Text_274825, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq EventScript_275CDE
+ goto_if_eq EventScript_275CDE
msgbox Route103_Text_290771, MSGBOX_DEFAULT
closemessage
dofieldeffect FLDEFF_USE_SECRET_POWER_SHRUB
@@ -442,12 +442,12 @@ EventScript_275B5B:: @ 8275B5B
end
SecretBase_RedCave1_EventScript_275B81:: @ 8275B81
- applymovement 255, SecretBase_RedCave1_Movement_275BB4
+ applymovement EVENT_OBJ_ID_PLAYER, SecretBase_RedCave1_Movement_275BB4
waitmovement 0
setvar VAR_0x4097, 1
msgbox SecretBase_RedCave1_Text_23B759, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq SecretBase_RedCave1_EventScript_275BAB
+ goto_if_eq SecretBase_RedCave1_EventScript_275BAB
closemessage
playse SE_KAIDAN
special sub_80E9A90
@@ -471,7 +471,7 @@ EventScript_275BB7:: @ 8275BB7
playse SE_KAIDAN
special sub_80E9744
compare VAR_RESULT, 0
- goto_eq EventScript_275BDB
+ goto_if_eq EventScript_275BDB
clearflag FLAG_DECORATION_0
special sub_80E9068
setvar VAR_0x4089, 0
@@ -488,58 +488,58 @@ EventScript_275BDB:: @ 8275BDB
EventScript_275BE8:: @ 8275BE8
checkpartymove MOVE_SECRET_POWER
compare VAR_RESULT, 6
- goto_eq EventScript_275C9A
+ goto_if_eq EventScript_275C9A
setfieldeffectargument 0, VAR_RESULT
setorcopyvar VAR_0x8004, VAR_RESULT
lockall
special GetSecretBaseNearbyMapName
msgbox Text_276A3D, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq EventScript_275CDE
+ goto_if_eq EventScript_275CDE
msgbox Text_2766AA, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq EventScript_275CDE
+ goto_if_eq EventScript_275CDE
fadescreenswapbuffers 1
special sub_80E9B70
closemessage
fadescreenswapbuffers 0
msgbox Text_276A95, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq EventScript_275CDE
+ goto_if_eq EventScript_275CDE
bufferpartymonnick 0, VAR_0x8004
buffermovename 1, MOVE_SECRET_POWER
msgbox Route103_Text_290771, MSGBOX_DEFAULT
closemessage
closemessage
compare VAR_0x8007, 1
- goto_eq EventScript_275A86
+ goto_if_eq EventScript_275A86
compare VAR_0x8007, 2
- goto_eq EventScript_275A86
+ goto_if_eq EventScript_275A86
compare VAR_0x8007, 3
- goto_eq EventScript_275A86
+ goto_if_eq EventScript_275A86
compare VAR_0x8007, 4
- goto_eq EventScript_275A86
+ goto_if_eq EventScript_275A86
compare VAR_0x8007, 5
- goto_eq EventScript_275ADF
+ goto_if_eq EventScript_275ADF
compare VAR_0x8007, 6
- goto_eq EventScript_275B38
+ goto_if_eq EventScript_275B38
releaseall
end
EventScript_275C9A:: @ 8275C9A
lockall
compare VAR_0x8007, 1
- goto_eq EventScript_275A91
+ goto_if_eq EventScript_275A91
compare VAR_0x8007, 2
- goto_eq EventScript_275A91
+ goto_if_eq EventScript_275A91
compare VAR_0x8007, 3
- goto_eq EventScript_275A91
+ goto_if_eq EventScript_275A91
compare VAR_0x8007, 4
- goto_eq EventScript_275A91
+ goto_if_eq EventScript_275A91
compare VAR_0x8007, 5
- goto_eq EventScript_275AEA
+ goto_if_eq EventScript_275AEA
compare VAR_0x8007, 6
- goto_eq EventScript_275B43
+ goto_if_eq EventScript_275B43
end
EventScript_275CDE:: @ 8275CDE
@@ -590,10 +590,10 @@ EventScript_275D2E:: @ 8275D2E
EventScript_275D39:: @ 8275D39
special sub_8129708
compare VAR_RESULT, 1
- goto_eq EventScript_275D63
+ goto_if_eq EventScript_275D63
addvar VAR_0x8004, 1
compare VAR_0x8005, 0
- goto_eq EventScript_275D39
+ goto_if_eq EventScript_275D39
removeobject VAR_0x8006
setflag 0x8005
goto EventScript_275D39
@@ -628,42 +628,41 @@ SecretBase_YellowCave3_EventScript_275D64:: @ 8275D64
SecretBase_YellowCave4_EventScript_275D64:: @ 8275D64
special sub_80EA354
compare VAR_0x8004, 0
- goto_eq SecretBase_RedCave1_EventScript_275DD6
+ goto_if_eq SecretBase_RedCave1_EventScript_275DD6
compare VAR_0x8004, 1
- goto_eq SecretBase_RedCave1_EventScript_275E4E
+ goto_if_eq SecretBase_RedCave1_EventScript_275E4E
compare VAR_0x8004, 2
- goto_eq SecretBase_RedCave1_EventScript_275EC6
+ goto_if_eq SecretBase_RedCave1_EventScript_275EC6
compare VAR_0x8004, 3
- goto_eq SecretBase_RedCave1_EventScript_275F3E
+ goto_if_eq SecretBase_RedCave1_EventScript_275F3E
compare VAR_0x8004, 4
- goto_eq SecretBase_RedCave1_EventScript_275FB6
+ goto_if_eq SecretBase_RedCave1_EventScript_275FB6
compare VAR_0x8004, 5
- goto_eq SecretBase_RedCave1_EventScript_27602E
+ goto_if_eq SecretBase_RedCave1_EventScript_27602E
compare VAR_0x8004, 6
- goto_eq SecretBase_RedCave1_EventScript_2760A6
+ goto_if_eq SecretBase_RedCave1_EventScript_2760A6
compare VAR_0x8004, 7
- goto_eq SecretBase_RedCave1_EventScript_27611E
+ goto_if_eq SecretBase_RedCave1_EventScript_27611E
compare VAR_0x8004, 8
- goto_eq SecretBase_RedCave1_EventScript_276196
+ goto_if_eq SecretBase_RedCave1_EventScript_276196
compare VAR_0x8004, 9
- goto_eq SecretBase_RedCave1_EventScript_27620E
+ goto_if_eq SecretBase_RedCave1_EventScript_27620E
end
SecretBase_RedCave1_EventScript_275DD6:: @ 8275DD6
lock
faceplayer
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, SecretBase_RedCave1_EventScript_275E25
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_275E25
compare VAR_RESULT, 1
- goto_eq SecretBase_RedCave1_EventScript_275E44
+ goto_if_eq SecretBase_RedCave1_EventScript_275E44
msgbox SecretBase_RedCave1_Text_2748A0, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq SecretBase_RedCave1_EventScript_275E2F
+ goto_if_eq SecretBase_RedCave1_EventScript_275E2F
setvar VAR_RESULT, 1
special sub_80EA30C
call SecretBase_RedCave1_EventScript_27134F
compare VAR_RESULT, 0
- goto_eq SecretBase_RedCave1_EventScript_275E2F
+ goto_if_eq SecretBase_RedCave1_EventScript_275E2F
msgbox SecretBase_RedCave1_Text_274939, MSGBOX_DEFAULT
goto SecretBase_RedCave1_EventScript_276286
end
@@ -689,18 +688,17 @@ SecretBase_RedCave1_EventScript_275E44:: @ 8275E44
SecretBase_RedCave1_EventScript_275E4E:: @ 8275E4E
lock
faceplayer
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, SecretBase_RedCave1_EventScript_275E9D
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_275E9D
compare VAR_RESULT, 1
- goto_eq SecretBase_RedCave1_EventScript_275EBC
+ goto_if_eq SecretBase_RedCave1_EventScript_275EBC
msgbox SecretBase_RedCave1_Text_274C13, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq SecretBase_RedCave1_EventScript_275EA7
+ goto_if_eq SecretBase_RedCave1_EventScript_275EA7
setvar VAR_RESULT, 1
special sub_80EA30C
call SecretBase_RedCave1_EventScript_27134F
compare VAR_RESULT, 0
- goto_eq SecretBase_RedCave1_EventScript_275EA7
+ goto_if_eq SecretBase_RedCave1_EventScript_275EA7
msgbox SecretBase_RedCave1_Text_274CB0, MSGBOX_DEFAULT
goto SecretBase_RedCave1_EventScript_276286
end
@@ -726,18 +724,17 @@ SecretBase_RedCave1_EventScript_275EBC:: @ 8275EBC
SecretBase_RedCave1_EventScript_275EC6:: @ 8275EC6
lock
faceplayer
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, SecretBase_RedCave1_EventScript_275F15
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_275F15
compare VAR_RESULT, 1
- goto_eq SecretBase_RedCave1_EventScript_275F34
+ goto_if_eq SecretBase_RedCave1_EventScript_275F34
msgbox SecretBase_RedCave1_Text_274F39, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq SecretBase_RedCave1_EventScript_275F1F
+ goto_if_eq SecretBase_RedCave1_EventScript_275F1F
setvar VAR_RESULT, 1
special sub_80EA30C
call SecretBase_RedCave1_EventScript_27134F
compare VAR_RESULT, 0
- goto_eq SecretBase_RedCave1_EventScript_275F1F
+ goto_if_eq SecretBase_RedCave1_EventScript_275F1F
msgbox SecretBase_RedCave1_Text_274FCA, MSGBOX_DEFAULT
goto SecretBase_RedCave1_EventScript_276286
end
@@ -763,18 +760,17 @@ SecretBase_RedCave1_EventScript_275F34:: @ 8275F34
SecretBase_RedCave1_EventScript_275F3E:: @ 8275F3E
lock
faceplayer
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, SecretBase_RedCave1_EventScript_275F8D
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_275F8D
compare VAR_RESULT, 1
- goto_eq SecretBase_RedCave1_EventScript_275FAC
+ goto_if_eq SecretBase_RedCave1_EventScript_275FAC
msgbox SecretBase_RedCave1_Text_275287, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq SecretBase_RedCave1_EventScript_275F97
+ goto_if_eq SecretBase_RedCave1_EventScript_275F97
setvar VAR_RESULT, 1
special sub_80EA30C
call SecretBase_RedCave1_EventScript_27134F
compare VAR_RESULT, 0
- goto_eq SecretBase_RedCave1_EventScript_275F97
+ goto_if_eq SecretBase_RedCave1_EventScript_275F97
msgbox SecretBase_RedCave1_Text_275315, MSGBOX_DEFAULT
goto SecretBase_RedCave1_EventScript_276286
end
@@ -800,18 +796,17 @@ SecretBase_RedCave1_EventScript_275FAC:: @ 8275FAC
SecretBase_RedCave1_EventScript_275FB6:: @ 8275FB6
lock
faceplayer
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, SecretBase_RedCave1_EventScript_276005
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_276005
compare VAR_RESULT, 1
- goto_eq SecretBase_RedCave1_EventScript_276024
+ goto_if_eq SecretBase_RedCave1_EventScript_276024
msgbox SecretBase_RedCave1_Text_2755D2, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq SecretBase_RedCave1_EventScript_27600F
+ goto_if_eq SecretBase_RedCave1_EventScript_27600F
setvar VAR_RESULT, 1
special sub_80EA30C
call SecretBase_RedCave1_EventScript_27134F
compare VAR_RESULT, 0
- goto_eq SecretBase_RedCave1_EventScript_27600F
+ goto_if_eq SecretBase_RedCave1_EventScript_27600F
msgbox SecretBase_RedCave1_Text_275679, MSGBOX_DEFAULT
goto SecretBase_RedCave1_EventScript_276286
end
@@ -837,18 +832,17 @@ SecretBase_RedCave1_EventScript_276024:: @ 8276024
SecretBase_RedCave1_EventScript_27602E:: @ 827602E
lock
faceplayer
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, SecretBase_RedCave1_EventScript_27607D
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_27607D
compare VAR_RESULT, 1
- goto_eq SecretBase_RedCave1_EventScript_27609C
+ goto_if_eq SecretBase_RedCave1_EventScript_27609C
msgbox SecretBase_RedCave1_Text_274A64, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq SecretBase_RedCave1_EventScript_276087
+ goto_if_eq SecretBase_RedCave1_EventScript_276087
setvar VAR_RESULT, 1
special sub_80EA30C
call SecretBase_RedCave1_EventScript_27134F
compare VAR_RESULT, 0
- goto_eq SecretBase_RedCave1_EventScript_276087
+ goto_if_eq SecretBase_RedCave1_EventScript_276087
msgbox SecretBase_RedCave1_Text_274AFA, MSGBOX_DEFAULT
goto SecretBase_RedCave1_EventScript_276286
end
@@ -874,18 +868,17 @@ SecretBase_RedCave1_EventScript_27609C:: @ 827609C
SecretBase_RedCave1_EventScript_2760A6:: @ 82760A6
lock
faceplayer
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, SecretBase_RedCave1_EventScript_2760F5
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_2760F5
compare VAR_RESULT, 1
- goto_eq SecretBase_RedCave1_EventScript_276114
+ goto_if_eq SecretBase_RedCave1_EventScript_276114
msgbox SecretBase_RedCave1_Text_274DD2, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq SecretBase_RedCave1_EventScript_2760FF
+ goto_if_eq SecretBase_RedCave1_EventScript_2760FF
setvar VAR_RESULT, 1
special sub_80EA30C
call SecretBase_RedCave1_EventScript_27134F
compare VAR_RESULT, 0
- goto_eq SecretBase_RedCave1_EventScript_2760FF
+ goto_if_eq SecretBase_RedCave1_EventScript_2760FF
msgbox SecretBase_RedCave1_Text_274E41, MSGBOX_DEFAULT
goto SecretBase_RedCave1_EventScript_276286
end
@@ -911,18 +904,17 @@ SecretBase_RedCave1_EventScript_276114:: @ 8276114
SecretBase_RedCave1_EventScript_27611E:: @ 827611E
lock
faceplayer
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, SecretBase_RedCave1_EventScript_27616D
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_27616D
compare VAR_RESULT, 1
- goto_eq SecretBase_RedCave1_EventScript_27618C
+ goto_if_eq SecretBase_RedCave1_EventScript_27618C
msgbox SecretBase_RedCave1_Text_275114, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq SecretBase_RedCave1_EventScript_276177
+ goto_if_eq SecretBase_RedCave1_EventScript_276177
setvar VAR_RESULT, 1
special sub_80EA30C
call SecretBase_RedCave1_EventScript_27134F
compare VAR_RESULT, 0
- goto_eq SecretBase_RedCave1_EventScript_276177
+ goto_if_eq SecretBase_RedCave1_EventScript_276177
msgbox SecretBase_RedCave1_Text_2751AF, MSGBOX_DEFAULT
goto SecretBase_RedCave1_EventScript_276286
end
@@ -948,18 +940,17 @@ SecretBase_RedCave1_EventScript_27618C:: @ 827618C
SecretBase_RedCave1_EventScript_276196:: @ 8276196
lock
faceplayer
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, SecretBase_RedCave1_EventScript_2761E5
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_2761E5
compare VAR_RESULT, 1
- goto_eq SecretBase_RedCave1_EventScript_276204
+ goto_if_eq SecretBase_RedCave1_EventScript_276204
msgbox SecretBase_RedCave1_Text_275405, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq SecretBase_RedCave1_EventScript_2761EF
+ goto_if_eq SecretBase_RedCave1_EventScript_2761EF
setvar VAR_RESULT, 1
special sub_80EA30C
call SecretBase_RedCave1_EventScript_27134F
compare VAR_RESULT, 0
- goto_eq SecretBase_RedCave1_EventScript_2761EF
+ goto_if_eq SecretBase_RedCave1_EventScript_2761EF
msgbox SecretBase_RedCave1_Text_2754B2, MSGBOX_DEFAULT
goto SecretBase_RedCave1_EventScript_276286
end
@@ -985,18 +976,17 @@ SecretBase_RedCave1_EventScript_276204:: @ 8276204
SecretBase_RedCave1_EventScript_27620E:: @ 827620E
lock
faceplayer
- checkflag FLAG_SYS_GAME_CLEAR
- goto_if 0, SecretBase_RedCave1_EventScript_27625D
+ goto_if_unset FLAG_SYS_GAME_CLEAR, SecretBase_RedCave1_EventScript_27625D
compare VAR_RESULT, 1
- goto_eq SecretBase_RedCave1_EventScript_27627C
+ goto_if_eq SecretBase_RedCave1_EventScript_27627C
msgbox SecretBase_RedCave1_Text_2757B5, MSGBOX_YESNO
compare VAR_RESULT, 0
- goto_eq SecretBase_RedCave1_EventScript_276267
+ goto_if_eq SecretBase_RedCave1_EventScript_276267
setvar VAR_RESULT, 1
special sub_80EA30C
call SecretBase_RedCave1_EventScript_27134F
compare VAR_RESULT, 0
- goto_eq SecretBase_RedCave1_EventScript_276267
+ goto_if_eq SecretBase_RedCave1_EventScript_276267
msgbox SecretBase_RedCave1_Text_275884, MSGBOX_DEFAULT
goto SecretBase_RedCave1_EventScript_276286
end
@@ -1026,11 +1016,11 @@ SecretBase_RedCave1_EventScript_276286:: @ 8276286
special DoSpecialTrainerBattle
waitstate
compare VAR_RESULT, 3
- call_if 1, SecretBase_RedCave1_EventScript_2762BD
+ call_if_eq SecretBase_RedCave1_EventScript_2762BD
compare VAR_RESULT, 1
- call_if 1, SecretBase_RedCave1_EventScript_2762C1
+ call_if_eq SecretBase_RedCave1_EventScript_2762C1
compare VAR_RESULT, 2
- call_if 1, SecretBase_RedCave1_EventScript_2762C5
+ call_if_eq SecretBase_RedCave1_EventScript_2762C5
special HealPlayerParty
release
end
diff --git a/data/scripts/secret_power_tm.inc b/data/scripts/secret_power_tm.inc
index 031835c14..072d154f0 100644
--- a/data/scripts/secret_power_tm.inc
+++ b/data/scripts/secret_power_tm.inc
@@ -38,7 +38,7 @@ Route111_EventScript_2765FF:: @ 82765FF
faceplayer
msgbox Route111_Text_2762C9, MSGBOX_YESNO
compare VAR_RESULT, 1
- goto_eq Route111_EventScript_27661E
+ goto_if_eq Route111_EventScript_27661E
msgbox Route111_Text_27655C, MSGBOX_DEFAULT
release
end
@@ -46,17 +46,17 @@ Route111_EventScript_2765FF:: @ 82765FF
Route111_EventScript_27661E:: @ 827661E
giveitem_std ITEM_TM43
compare VAR_RESULT, 0
- goto_eq Route111_EventScript_276680
+ goto_if_eq Route111_EventScript_276680
msgbox Route111_Text_27636E, MSGBOX_DEFAULT
closemessage
setflag FLAG_0x060
clearflag FLAG_HIDE_SLATEPORT_CITY_TM_SALESMAN
compare VAR_FACING, 3
- call_if 1, Route111_EventScript_27666A
+ call_if_eq Route111_EventScript_27666A
compare VAR_FACING, 4
- call_if 1, Route111_EventScript_27666A
+ call_if_eq Route111_EventScript_27666A
compare VAR_FACING, 2
- call_if 1, Route111_EventScript_276675
+ call_if_eq Route111_EventScript_276675
removeobject VAR_LAST_TALKED
release
end
diff --git a/data/scripts/trainer_battle.inc b/data/scripts/trainer_battle.inc
index 61a1afa25..c205a9d22 100644
--- a/data/scripts/trainer_battle.inc
+++ b/data/scripts/trainer_battle.inc
@@ -11,7 +11,7 @@ EventScript_TryDoNormalTrainerBattle:: @ 8271362
waitmovement 0
specialvar VAR_RESULT, GetTrainerFlag
compare VAR_RESULT, 0
- goto_if 5, EventScript_NoNormalTrainerBattle
+ goto_if_ne EventScript_NoNormalTrainerBattle
special SetUpTrainerEncounterMusic
special SetUpTrainerMovement
goto EventScript_ShowTrainerIntroMsg
@@ -24,10 +24,10 @@ EventScript_TryDoDoubleTrainerBattle:: @ 827138A
call EventScript_RevealTrainer
specialvar VAR_RESULT, GetTrainerFlag
compare VAR_RESULT, 0
- goto_if 5, EventScript_NoDoubleTrainerBattle
+ goto_if_ne EventScript_NoDoubleTrainerBattle
special HasEnoughMonsForDoubleBattle
compare VAR_RESULT, 0
- goto_if 5, EventScript_NotEnoughMonsForDoubleBattle
+ goto_if_ne EventScript_NotEnoughMonsForDoubleBattle
special SetUpTrainerEncounterMusic
special SetUpTrainerMovement
goto EventScript_ShowTrainerIntroMsg
@@ -51,7 +51,7 @@ EventScript_TryDoRematchBattle:: @ 82713D1
call EventScript_RevealTrainer
specialvar VAR_RESULT, IsTrainerReadyForRematch
compare VAR_RESULT, 0
- goto_eq EventScript_NoRematchTrainerBattle
+ goto_if_eq EventScript_NoRematchTrainerBattle
special SetUpTrainerEncounterMusic
special SetUpTrainerMovement
special ShowTrainerIntroSpeech
@@ -67,10 +67,10 @@ EventScript_NoRematchTrainerBattle:: @ 82713F7
EventScript_TryDoDoubleRematchBattle:: @ 82713F8
specialvar VAR_RESULT, IsTrainerReadyForRematch
compare VAR_RESULT, 0
- goto_eq EventScript_NoDoubleRematchTrainerBattle
+ goto_if_eq EventScript_NoDoubleRematchTrainerBattle
special HasEnoughMonsForDoubleBattle
compare VAR_RESULT, 0
- goto_if 5, EventScript_NotEnoughMonsForDoubleRematchBattle
+ goto_if_ne EventScript_NotEnoughMonsForDoubleRematchBattle
special SetUpTrainerEncounterMusic
special SetUpTrainerMovement
special ShowTrainerIntroSpeech
@@ -104,7 +104,7 @@ EventScript_ShowTrainerIntroMsg:: @ 827143C
waitbuttonpress
special TryPrepareSecondApproachingTrainer
compare VAR_RESULT, TRUE
- goto_eq EventScript_ShowSecondTrainerIntro
+ goto_if_eq EventScript_ShowSecondTrainerIntro
goto EventScript_DoTrainerBattle
EventScript_DoTrainerBattle:: @ 8271454
@@ -112,15 +112,15 @@ EventScript_DoTrainerBattle:: @ 8271454
@ Pointless check, possibly used for debugging?
specialvar VAR_RESULT, GetTrainerBattleMode
compare VAR_RESULT, TRAINER_BATTLE_SINGLE
- goto_eq EventScript_EndTrainerBattle
+ goto_if_eq EventScript_EndTrainerBattle
compare VAR_RESULT, TRAINER_BATTLE_CONTINUE_SCRIPT
- goto_eq EventScript_EndTrainerBattle
+ goto_if_eq EventScript_EndTrainerBattle
compare VAR_RESULT, TRAINER_BATTLE_CONTINUE_SCRIPT_NO_MUSIC
- goto_eq EventScript_EndTrainerBattle
+ goto_if_eq EventScript_EndTrainerBattle
compare VAR_RESULT, TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE
- goto_eq EventScript_EndTrainerBattle
+ goto_if_eq EventScript_EndTrainerBattle
compare VAR_RESULT, TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE_NO_MUSIC
- goto_eq EventScript_EndTrainerBattle
+ goto_if_eq EventScript_EndTrainerBattle
EventScript_EndTrainerBattle:: @ 8271491
gotobeatenscript
diff --git a/data/scripts/tv.inc b/data/scripts/tv.inc
index 9033e741f..0b1224503 100644
--- a/data/scripts/tv.inc
+++ b/data/scripts/tv.inc
@@ -4,30 +4,28 @@ EventScript_TV:: @ 827EE0B
special ResetTVShowState
specialvar VAR_RESULT, CheckForBigMovieOrEmergencyNewsOnTV
compare VAR_RESULT, 2
- goto_eq EventScript_27EE9A
+ goto_if_eq EventScript_27EE9A
compare VAR_RESULT, 1
- goto_eq EventScript_27EEA4
- checkflag FLAG_SYS_TV_START
- goto_if 0, EventScript_27EE8A
- checkflag FLAG_SYS_TV_WATCH
- goto_eq EventScript_27EE8A
+ goto_if_eq EventScript_27EEA4
+ goto_if_unset FLAG_SYS_TV_START, EventScript_27EE8A
+ goto_if_set FLAG_SYS_TV_WATCH, EventScript_27EE8A
specialvar VAR_RESULT, IsTVShowInSearchOfTrainersAiring
compare VAR_RESULT, 1
- goto_eq EventScript_27EEFF
+ goto_if_eq EventScript_27EEFF
goto EventScript_27EEE9
end
EventScript_27EE54:: @ 827EE54
specialvar VAR_0x8004, special_0x44
compare VAR_0x8004, 255
- goto_eq EventScript_27EED8
+ goto_if_eq EventScript_27EED8
specialvar VAR_RESULT, special_0x4a
compare VAR_RESULT, 255
- goto_eq EventScript_27EED8
+ goto_if_eq EventScript_27EED8
copyvar VAR_0x8004, VAR_RESULT
specialvar VAR_RESULT, special_0x45
compare VAR_RESULT, 0
- goto_if 5, EventScript_27EEBA
+ goto_if_ne EventScript_27EEBA
end
EventScript_27EE8A:: @ 827EE8A
@@ -56,7 +54,7 @@ EventScript_27EEBA:: @ 827EEBA
waitmessage
waitbuttonpress
compare VAR_RESULT, 1
- goto_if 5, EventScript_27EEBA
+ goto_if_ne EventScript_27EEBA
goto EventScript_27EED0
end
@@ -75,7 +73,7 @@ EventScript_27EED8:: @ 827EED8
EventScript_27EEE9:: @ 827EEE9
special DoPokeNews
compare VAR_RESULT, 0
- goto_eq EventScript_27EE54
+ goto_if_eq EventScript_27EE54
waitmessage
waitbuttonpress
goto EventScript_27EED0
@@ -86,6 +84,6 @@ EventScript_27EEFF:: @ 827EEFF
waitmessage
waitbuttonpress
compare VAR_RESULT, 0
- goto_eq EventScript_27EEFF
+ goto_if_eq EventScript_27EEFF
goto EventScript_27EED0
end
diff --git a/data/specials.inc b/data/specials.inc
index 8ee70c306..318d272d5 100644
--- a/data/specials.inc
+++ b/data/specials.inc
@@ -34,7 +34,7 @@ gSpecials:: @ 81DBA64
def_special sub_8129708
def_special sub_80E91F8
def_special sub_80EA30C
- def_special sub_80FA57C
+ def_special DoSecretBasePCTurnOffEffect
def_special sub_80E6BE8
def_special sub_80B2DA4
def_special sub_80B2E4C
@@ -71,7 +71,7 @@ gSpecials:: @ 81DBA64
def_special ShouldTryRematchBattle
def_special IsTrainerReadyForRematch
def_special BattleSetup_StartRematchBattle
- def_special ShowPokemonStorageSystem
+ def_special ShowPokemonStorageSystemPC
def_special HasEnoughMonsForDoubleBattle
def_special TurnOffTVScreen
def_special DoTVShow
@@ -105,7 +105,7 @@ gSpecials:: @ 81DBA64
def_special GiveMonArtistRibbon
def_special sub_80B3000
def_special SaveGame
- def_special sub_80FAFF8
+ def_special DoWateringBerryTreeAnim
def_special easy_chat_input_maybe
def_special sub_811EECC
def_special ScrSpecial_GetCurrentMauvilleMan
@@ -286,8 +286,8 @@ gSpecials:: @ 81DBA64
def_special GameClear
def_special ShakeScreenInElevator
def_special nullsub_55
- def_special SpawnScriptEventObject
- def_special RemoveScriptEventObject
+ def_special SpawnCameraObject
+ def_special RemoveCameraObject
def_special GetPokeblockNameByMonNature
def_special GetSecretBaseNearbyMapName
def_special CheckRelicanthWailord
@@ -317,7 +317,7 @@ gSpecials:: @ 81DBA64
def_special ScriptCheckFreePokemonStorageSpace
def_special DoSealedChamberShakingEffect1
def_special sub_8139B60
- def_special sub_80FAC78
+ def_special GetShieldToyTVDecorationInfo
def_special IsPokerusInParty
def_special SetSootopolisGymCrackedIceMetatiles
def_special sub_8139560
diff --git a/data/unk_transition.s b/data/unk_transition.s
deleted file mode 100644
index db5744d08..000000000
--- a/data/unk_transition.s
+++ /dev/null
@@ -1,18 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
- .align 2, 0
-gUnknown_0862AD54:: @ 862AD54
- .incbin "graphics/battle_transitions/frontier_transition.4bpp.lz"
-
-gUnknown_0862AF30:: @ 862AF30
- .incbin "graphics/battle_transitions/frontier_transition.bin"
-
-gUnknown_0862B0DC:: @ 862B0DC
- .incbin "graphics/battle_transitions/frontier_transition_circles.4bpp.lz"
-
-gUnknown_0862B53C:: @ 862B53C
- .incbin "graphics/battle_transitions/frontier_transition.gbapal"
- .space 0x1c0
diff --git a/include/battle.h b/include/battle.h
index 52c4ee8ae..c5c747137 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -302,11 +302,10 @@ struct BattleResults
u8 playerSwitchesCounter; // 0x2
u8 unk3; // 0x3
u8 unk4; // 0x4
- u8 playerMonWasDamaged:1; // 0x5
+ u8 playerMonWasDamaged:1; // 0x5
u8 usedMasterBall:1; // 0x5
u8 caughtMonBall:4; // 0x5
u8 shinyWildMon:1; // 0x5
- u8 unk5_7:1; // 0x5
u16 playerMon1Species; // 0x6
u8 playerMon1Name[POKEMON_NAME_LENGTH + 1]; // 0x8
u8 battleTurnCounter; // 0x13
@@ -411,12 +410,12 @@ struct BattleStruct
{
u8 turnEffectsTracker;
u8 turnEffectsBattlerId;
- u8 filler2;
+ u8 unused_0;
u8 turnCountersTracker;
u8 wrappedMove[MAX_BATTLERS_COUNT * 2]; // Leftover from Ruby's ewram access.
u8 moveTarget[MAX_BATTLERS_COUNT];
u8 expGetterMonId;
- u8 field_11;
+ u8 unused_1;
u8 wildVictorySong;
u8 dynamicMoveType;
u8 wrappedBy[MAX_BATTLERS_COUNT];
@@ -437,28 +436,25 @@ struct BattleStruct
u8 field_60[4][3];
u8 runTries;
u8 caughtMonNick[POKEMON_NAME_LENGTH + 1];
- u8 field_78;
+ u8 unused_2;
u8 safariGoNearCounter;
u8 safariPkblThrowCounter;
u8 safariEscapeFactor;
u8 safariCatchFactor;
- u8 field_7D;
- u8 field_7E;
+ u8 field_7D; // unknown spriteId
+ u8 field_7E; // unknown spriteId
u8 formToChangeInto;
u8 chosenMovePositions[MAX_BATTLERS_COUNT];
u8 stateIdAfterSelScript[MAX_BATTLERS_COUNT];
- u8 field_88;
- u8 field_89;
- u8 field_8A;
- u8 field_8B;
- u8 field_8C;
- u8 field_8D;
+ u8 unused_3[3];
+ u8 field_8B; // related to player's pokemon switching
+ u8 unused_4[2];
u8 stringMoveType;
u8 expGetterBattlerId;
- u8 field_90;
- u8 field_91;
- u8 field_92;
- u8 field_93;
+ u8 unused_5;
+ u8 field_91; // related to gAbsentBattlerFlags, possibly absent flags turn ago?
+ u8 field_92; // battle palace related
+ u8 field_93; // related to choosing pokemon?
u8 wallyBattleState;
u8 wallyMovesState;
u8 wallyWaitFrames;
@@ -481,11 +477,11 @@ struct BattleStruct
u8 switchInItemsCounter;
u8 arenaTurnCounter;
u8 turnSideTracker;
- u8 fillerDC[0xDF-0xDC];
+ u8 unused_6[3];
u8 givenExpMons; // Bits for enemy party's pokemon that gave exp to player's party.
u8 lastTakenMoveFrom[MAX_BATTLERS_COUNT * MAX_BATTLERS_COUNT * 2]; // a 3-D array [target][attacker][byte]
u16 castformPalette[MAX_BATTLERS_COUNT][16];
- u8 field_180;
+ u8 field_180; // weird field, used in battle_main.c, once accessed as an array of u32 overwriting the field below
u8 field_181;
u8 field_182;
u8 field_183;
@@ -496,7 +492,7 @@ struct BattleStruct
u8 atkCancellerTracker;
struct BattleTvMovePoints tvMovePoints;
struct BattleTv tv;
- u8 notSureWhatFieldLol[0x28];
+ u8 unused_7[0x28];
u8 AI_monToSwitchIntoId[MAX_BATTLERS_COUNT];
s8 arenaMindPoints[2];
s8 arenaSkillPoints[2];
diff --git a/include/battle_anim.h b/include/battle_anim.h
index 3a6679414..3c783842a 100644
--- a/include/battle_anim.h
+++ b/include/battle_anim.h
@@ -58,7 +58,7 @@ void DestroyAnimSprite(struct Sprite *sprite);
void DestroyAnimVisualTask(u8 taskId);
void DestroyAnimSoundTask(u8 taskId);
bool8 IsBattlerSpriteVisible(u8 battlerId);
-void sub_80A438C(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible);
+void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible);
bool8 IsContest(void);
s8 BattleAnimAdjustPanning(s8 pan);
s8 BattleAnimAdjustPanning2(s8 pan);
@@ -75,14 +75,14 @@ int GetAnimBgAttribute(u8 bgId, u8 attributeId);
// battle_anim_80A5C6C.s
void sub_80A6450(struct Sprite *sprite);
-void SetAverageBattlerPositions(u8 battlerId, bool8 a2, s16 *x, s16 *y);
+void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x, s16 *y);
void DestroySpriteAndMatrix(struct Sprite *sprite);
-void TranslateAnimLinearSimple(struct Sprite *sprite);
-void InitAnimSpritePos(struct Sprite *sprite, u8 a2);
-void sub_80A6980(struct Sprite *sprite, bool8 a2);
+void AnimTranslateLinearSimple(struct Sprite *sprite);
+void InitSpritePosToAnimAttacker(struct Sprite *sprite, bool8 respectMonPicOffsets);
+void InitSpritePosToAnimTarget(struct Sprite *sprite, bool8 respectMonPicOffsets);
void StartAnimLinearTranslation(struct Sprite *sprite);
void InitAnimArcTranslation(struct Sprite *sprite);
-bool8 TranslateAnimLinear(struct Sprite *sprite);
+bool8 AnimTranslateLinear(struct Sprite *sprite);
void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite);
void sub_80A8EE4(struct Sprite *sprite);
u8 GetBattlerSpriteCoord2(u8 battlerId, u8 attributeId);
@@ -93,14 +93,14 @@ void RunStoredCallbackWhenAffineAnimEnds(struct Sprite *sprite);
void sub_80A66DC(struct Sprite *sprite);
void SetSpriteCoordsToAnimAttackerCoords(struct Sprite *sprite);
void RunStoredCallbackWhenAnimEnds(struct Sprite *sprite);
-void sub_80A6864(struct Sprite *sprite, s16 a2);
+void SetAnimSpriteInitialXOffset(struct Sprite *sprite, s16 a2);
s16 sub_80A861C(u8 battlerId, u8 a2);
u8 GetBattlerYCoordWithElevation(u8 battlerId);
void WaitAnimForDuration(struct Sprite *sprite);
void sub_80A7938(struct Sprite *sprite);
void InitAnimLinearTranslation(struct Sprite *sprite);
void sub_80A6F98(struct Sprite *sprite);
-u8 sub_80A8328(u8 battlerId);
+u8 GetBattlerSpriteBGPriority(u8 battlerId);
void *LoadPointerFromVars(s16 bottom, s16 top);
void StorePointerInVars(s16 *bottom, s16 *top, const void *ptr);
void sub_80A8278(void);
@@ -132,9 +132,9 @@ u8 sub_80A80C8(struct Task *task);
void sub_80A8EE4(struct Sprite *);
void sub_80A67F4(struct Sprite *);
void sub_80A6D48(u32 bgId, const void *src);
-void sub_80A7160(struct Sprite *sprite);
-bool8 sub_80A70E8(struct Sprite *sprite);
-void sub_80A70C0(struct Sprite *sprite);
+void InitAnimFastLinearTranslationWithSpeed(struct Sprite *sprite);
+bool8 AnimFastTranslateLinear(struct Sprite *sprite);
+void InitAndRunAnimFastLinearTranslation(struct Sprite *sprite);
void TranslateMonBGUntil(struct Sprite *sprite);
void TranslateSpriteOverDuration(struct Sprite *sprite);
void sub_80A77C8(struct Sprite *sprite);
@@ -150,6 +150,7 @@ void sub_80A749C(struct Sprite *sprite);
void sub_80A6814(u8 taskId);
void sub_80A8610(struct Sprite *sprite);
void sub_80A6DEC(struct Sprite *sprite);
+void SetBattlerSpriteYOffsetFromOtherYScale(u8 spriteId, u8 otherSpriteId);
enum
{
@@ -167,12 +168,16 @@ void sub_80A6C68(u32 arg0);
u8 GetAnimBattlerSpriteId(u8 wantedBattler);
bool8 IsDoubleBattle(void);
u8 sub_80A6D94(void);
-u8 sub_80A8364(u8 battlerId);
+u8 GetBattlerSpriteBGPriorityRank(u8 battlerId);
void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*spriteCallback)(struct Sprite*));
void oamt_add_pos2_onto_pos1(struct Sprite *sprite);
u8 GetBattlerSpriteDefault_Y(u8 battlerId);
u8 GetSubstituteSpriteDefault_Y(u8 battlerId);
+// battle_anim_80A64EC.c
+void sub_80A64EC(struct Sprite *sprite);
+void sub_80A718C(struct Sprite *sprite);
+
// battle_anim_80A9C70.s
#define STAT_ANIM_PLUS1 15
#define STAT_ANIM_PLUS2 39
@@ -184,6 +189,9 @@ u8 GetSubstituteSpriteDefault_Y(u8 battlerId);
#define STAT_ANIM_MULTIPLE_MINUS2 58
void LaunchStatusAnimation(u8 battlerId, u8 statusAnimId);
+// ground.c
+void sub_81152DC(u8 taskId);
+
// battle_anim_8170478.s
u8 ItemIdToBallId(u16 itemId);
u8 AnimateBallOpenParticles(u8 x, u8 y, u8 priority, u8 subpriority, u8 ballId);
diff --git a/include/battle_main.h b/include/battle_main.h
index 5a61b5ef0..c134f819f 100644
--- a/include/battle_main.h
+++ b/include/battle_main.h
@@ -7,6 +7,20 @@ struct TrainerMoney
u8 value;
};
+struct UnknownPokemonStruct4
+{
+ /*0x00*/ u16 species;
+ /*0x02*/ u16 heldItem;
+ /*0x04*/ u8 nickname[POKEMON_NAME_LENGTH + 1];
+ /*0x0F*/ u8 level;
+ /*0x10*/ u16 hp;
+ /*0x12*/ u16 maxhp;
+ /*0x14*/ u32 status;
+ /*0x18*/ u32 personality;
+ /*0x1C*/ u8 gender;
+ /*0x1D*/ u8 language;
+};
+
#define TYPE_NAME_LENGTH 6
#define ABILITY_NAME_LENGTH 12
@@ -40,7 +54,7 @@ void sub_8038B74(struct Sprite *sprite);
void sub_8038D64(void);
u32 sub_80391E0(u8 arrayId, u8 caseId);
u32 sub_80397C4(u32 setId, u32 tableId);
-void oac_poke_opponent(struct Sprite *sprite);
+void SpriteCb_WildMon(struct Sprite *sprite);
void SpriteCallbackDummy_2(struct Sprite *sprite);
void SpriteCB_FaintOpponentMon(struct Sprite *sprite);
void sub_8039AD8(struct Sprite *sprite);
@@ -70,6 +84,11 @@ void RunBattleScriptCommands_PopCallbacksStack(void);
void RunBattleScriptCommands(void);
bool8 TryRunFromBattle(u8 battlerId);
+extern struct UnknownPokemonStruct4 gUnknown_02022FF8[3];
+
+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 struct TrainerMoney gTrainerMoneyTable[];
diff --git a/include/bg.h b/include/bg.h
index a10abaa8d..ffcaf43ed 100644
--- a/include/bg.h
+++ b/include/bg.h
@@ -56,11 +56,11 @@ void ShowBg(u8 bg);
void HideBg(u8 bg);
void SetBgAttribute(u8 bg, u8 attributeId, u8 value);
u16 GetBgAttribute(u8 bg, u8 attributeId);
-u32 ChangeBgX(u8 bg, u32 value, u8 op);
-u32 GetBgX(u8 bg);
-u32 ChangeBgY(u8 bg, u32 value, u8 op);
-u32 ChangeBgY_ScreenOff(u8 bg, u32 value, u8 op);
-u32 GetBgY(u8 bg);
+s32 ChangeBgX(u8 bg, s32 value, u8 op);
+s32 GetBgX(u8 bg);
+s32 ChangeBgY(u8 bg, s32 value, u8 op);
+s32 ChangeBgY_ScreenOff(u8 bg, u32 value, u8 op);
+s32 GetBgY(u8 bg);
void SetBgAffine(u8 bg, u32 srcCenterX, u32 srcCenterY, s16 dispCenterX, s16 dispCenterY, s16 scaleX, s16 scaleY, u16 rotationAngle);
u8 Unused_AdjustBgMosaic(u8 a1, u8 a2);
void SetBgTilemapBuffer(u8 bg, void *tilemap);
diff --git a/include/blit.h b/include/blit.h
index 2fe99d7bd..78f67766e 100644
--- a/include/blit.h
+++ b/include/blit.h
@@ -3,15 +3,15 @@
struct Bitmap
{
- u8* pixels;
+ u8 *pixels;
u32 width:16;
u32 height:16;
};
-void BlitBitmapRect4BitWithoutColorKey(struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 srcY, u16 dstX, u16 dstY, u16 width, u16 height);
-void BlitBitmapRect4Bit(struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 srcY, u16 dstX, u16 dstY, u16 width, u16 height, u8 colorKey);
+void BlitBitmapRect4BitWithoutColorKey(const struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 srcY, u16 dstX, u16 dstY, u16 width, u16 height);
+void BlitBitmapRect4Bit(const struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 srcY, u16 dstX, u16 dstY, u16 width, u16 height, u8 colorKey);
void FillBitmapRect4Bit(struct Bitmap *surface, u16 x, u16 y, u16 width, u16 height, u8 fillValue);
-void BlitBitmapRect4BitTo8Bit(struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 srcY, u16 dstX, u16 dstY, u16 width, u16 height, u8 colorKey, u8 paletteOffset);
+void BlitBitmapRect4BitTo8Bit(const struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 srcY, u16 dstX, u16 dstY, u16 width, u16 height, u8 colorKey, u8 paletteOffset);
void FillBitmapRect8Bit(struct Bitmap *surface, u16 x, u16 y, u16 width, u16 height, u8 fillValue);
#endif // GUARD_BLIT_H
diff --git a/include/constants/event_objects.h b/include/constants/event_objects.h
index 4967c814d..7a97c4caf 100644
--- a/include/constants/event_objects.h
+++ b/include/constants/event_objects.h
@@ -260,4 +260,7 @@
#define TRACKS_FOOT 1
#define TRACKS_BIKE_TIRE 2
+#define EVENT_OBJ_ID_PLAYER 0xFF
+#define EVENT_OBJ_ID_CAMERA 0x7F
+
#endif // GUARD_CONSTANTS_EVENT_OBJECTS_H
diff --git a/include/constants/maps.h b/include/constants/maps.h
index bcb778422..c65f373af 100644
--- a/include/constants/maps.h
+++ b/include/constants/maps.h
@@ -587,6 +587,7 @@
// Map Group 33
#define MAP_ROUTE124_DIVING_TREASURE_HUNTERS_HOUSE (0 | (33 << 8))
+#define MAP_GROUPS_COUNT 34
#define MAP_NONE (0x7F | (0x7F << 8))
#define MAP_UNDEFINED (0xFF | (0xFF << 8))
diff --git a/include/constants/vars.h b/include/constants/vars.h
index 9854ec5a2..faffe7c70 100644
--- a/include/constants/vars.h
+++ b/include/constants/vars.h
@@ -100,7 +100,7 @@
#define VAR_0x4051 0x4051
#define VAR_0x4052 0x4052
#define VAR_0x4053 0x4053
-#define VAR_0x4054 0x4054
+#define VAR_CURRENT_SECRET_BASE 0x4054
#define VAR_0x4055 0x4055
#define VAR_0x4056 0x4056
#define VAR_0x4057 0x4057
diff --git a/include/contest.h b/include/contest.h
index 6ce563b46..54c431b94 100644
--- a/include/contest.h
+++ b/include/contest.h
@@ -432,6 +432,7 @@ bool8 Contest_IsMonsTurnDisabled(u8 a);
bool8 sub_80DE1E8(u8 a);
void SetStartledString(u8 a, u8 b);
s8 Contest_GetMoveExcitement(u16);
+u8 sub_80DAE0C(struct Pokemon *);
void sub_80DEDA8(u8);
#endif //GUARD_CONTEST_H
diff --git a/include/credits.h b/include/credits.h
index faad1058a..e7e58415b 100644
--- a/include/credits.h
+++ b/include/credits.h
@@ -7,5 +7,6 @@
extern EWRAM_DATA bool8 gHasHallOfFameRecords;
// Exported ROM declarations
+void sub_8175620(void);
-#endif //GUARD_CREDITS_H
+#endif // GUARD_CREDITS_H
diff --git a/include/decompress.h b/include/decompress.h
index 853230aea..02412defb 100644
--- a/include/decompress.h
+++ b/include/decompress.h
@@ -8,13 +8,13 @@ extern u8 gDecompressionBuffer[0x4000];
void LZDecompressWram(const u32 *src, void *dest);
void LZDecompressVram(const u32 *src, void *dest);
-u16 LoadCompressedObjectPic(const struct CompressedSpriteSheet *src);
-void LoadCompressedObjectPicOverrideBuffer(const struct CompressedSpriteSheet *src, void *buffer);
-bool8 LoadCompressedObjectPicUsingHeap(const struct CompressedSpriteSheet* src);
+u16 LoadCompressedSpriteSheet(const struct CompressedSpriteSheet *src);
+void LoadCompressedSpriteSheetOverrideBuffer(const struct CompressedSpriteSheet *src, void *buffer);
+bool8 LoadCompressedSpriteSheetUsingHeap(const struct CompressedSpriteSheet* src);
-void LoadCompressedObjectPalette(const struct CompressedSpritePalette *src);
-void LoadCompressedObjectPaletteOverrideBuffer(const struct CompressedSpritePalette *a, void *buffer);
-bool8 LoadCompressedObjectPaletteUsingHeap(const struct CompressedSpritePalette *src);
+void LoadCompressedSpritePalette(const struct CompressedSpritePalette *src);
+void LoadCompressedSpritePaletteOverrideBuffer(const struct CompressedSpritePalette *a, void *buffer);
+bool8 LoadCompressedSpritePaletteUsingHeap(const struct CompressedSpritePalette *src);
void DecompressPicFromTable(const struct CompressedSpriteSheet *src, void* buffer, s32 species);
void DecompressPicFromTable_2(const struct CompressedSpriteSheet *src, void* buffer, s32 species);
diff --git a/include/dma3.h b/include/dma3.h
index 19a69ea80..8eff34f55 100644
--- a/include/dma3.h
+++ b/include/dma3.h
@@ -1,6 +1,51 @@
#ifndef GUARD_DMA3_H
#define GUARD_DMA3_H
+// Maximum amount of data we will transfer in one operation
+#define MAX_DMA_BLOCK_SIZE 0x1000
+
+#define Dma3CopyLarge_(src, dest, size, bit) \
+{ \
+ const void *_src = src; \
+ void *_dest = dest; \
+ u32 _size = size; \
+ while (1) \
+ { \
+ if (_size <= MAX_DMA_BLOCK_SIZE) \
+ { \
+ DmaCopy##bit(3, _src, _dest, _size); \
+ break; \
+ } \
+ DmaCopy##bit(3, _src, _dest, MAX_DMA_BLOCK_SIZE); \
+ _src += MAX_DMA_BLOCK_SIZE; \
+ _dest += MAX_DMA_BLOCK_SIZE; \
+ _size -= MAX_DMA_BLOCK_SIZE; \
+ } \
+}
+
+#define Dma3CopyLarge16_(src, dest, size) Dma3CopyLarge_(src, dest, size, 16)
+#define Dma3CopyLarge32_(src, dest, size) Dma3CopyLarge_(src, dest, size, 32)
+
+#define Dma3FillLarge_(value, dest, size, bit) \
+{ \
+ void *_dest = dest; \
+ u32 _size = size; \
+ while (1) \
+ { \
+ if (_size <= MAX_DMA_BLOCK_SIZE) \
+ { \
+ DmaFill##bit(3, value, _dest, _size); \
+ break; \
+ } \
+ DmaFill##bit(3, value, _dest, MAX_DMA_BLOCK_SIZE); \
+ _dest += MAX_DMA_BLOCK_SIZE; \
+ _size -= MAX_DMA_BLOCK_SIZE; \
+ } \
+}
+
+#define Dma3FillLarge16_(value, dest, size) Dma3FillLarge_(value, dest, size, 16)
+#define Dma3FillLarge32_(value, dest, size) Dma3FillLarge_(value, dest, size, 32)
+
void ClearDma3Requests(void);
void ProcessDma3Requests(void);
s16 RequestDma3Copy(const void *src, void *dest, u16 size, u8 mode);
diff --git a/include/easy_chat.h b/include/easy_chat.h
index 541fa6c1b..23fd9ed83 100644
--- a/include/easy_chat.h
+++ b/include/easy_chat.h
@@ -1,6 +1,8 @@
#ifndef GUARD_EASYCHAT_H
#define GUARD_EASYCHAT_H
+#include "main.h"
+
void InitEasyChatPhrases(void);
void easy_chat_input_maybe(void);
u8 * CopyEasyChatWord(u8 *dest, u16 word);
@@ -12,5 +14,6 @@ u16 sub_811EE38(u16 group);
u16 sub_811F01C(void);
bool16 EasyChat_GetNumWordsInGroup(u8);
u16 sub_811EE90(u16);
+void sub_811A20C(u8 kind, u16 *words, MainCallback callback, u8 sizeParam);
#endif // GUARD_EASYCHAT_H
diff --git a/include/event_object_movement.h b/include/event_object_movement.h
index cc45f1531..284bbe8db 100644
--- a/include/event_object_movement.h
+++ b/include/event_object_movement.h
@@ -59,6 +59,9 @@ struct LockedAnimEventObjects
};
extern const struct SpriteFrameImage gEventObjectPicTable_PechaBerryTree[];
+extern const struct OamData gEventObjectBaseOam_32x8;
+extern const struct OamData gEventObjectBaseOam_32x32;
+extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[];
extern const u8 gReflectionEffectPaletteMap[];
void ResetEventObjects(void);
diff --git a/include/event_scripts.h b/include/event_scripts.h
index 2661494d3..3dcb7f929 100644
--- a/include/event_scripts.h
+++ b/include/event_scripts.h
@@ -579,4 +579,9 @@ extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A[];
+// fldeff misc
+extern const u8 EventScript_275A86[];
+extern const u8 EventScript_275ADF[];
+extern const u8 EventScript_275B38[];
+
#endif // GUARD_EVENT_SCRIPTS_H
diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h
index adb51f889..3aedec5de 100644
--- a/include/field_player_avatar.h
+++ b/include/field_player_avatar.h
@@ -58,5 +58,7 @@ u8 GetJumpSpecialMovementAction(u32);
bool8 PartyHasMonWithSurf(void);
bool8 IsPlayerFacingSurfableFishableWater(void);
bool8 IsPlayerSurfingNorth(void);
+void sub_808C228(u8 direction);
+u8 sub_808BCD0(void);
#endif // GUARD_FIELD_PLAYER_AVATAR_H
diff --git a/include/field_specials.h b/include/field_specials.h
index 5adc7f3cb..7c29ecbad 100644
--- a/include/field_specials.h
+++ b/include/field_specials.h
@@ -15,7 +15,13 @@ bool32 sub_8138168(void);
bool32 sub_81381B0(void);
bool32 sub_81381F8(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);
#endif // GUARD_FIELD_SPECIALS_H
diff --git a/include/field_weather.h b/include/field_weather.h
index c032183e1..91dcef1dc 100644
--- a/include/field_weather.h
+++ b/include/field_weather.h
@@ -134,6 +134,10 @@ struct Weather
// field_weather.c
extern struct Weather gWeather;
extern struct Weather *const gWeatherPtr;
+extern const u16 gUnknown_083970E8[];
+
+// field_weather_effect.c
+extern const u8 gWeatherFog1Tiles[];
void StartWeather(void);
void ChangeWeather(u8 weather);
diff --git a/include/fldeff.h b/include/fldeff.h
new file mode 100644
index 000000000..99758fdb5
--- /dev/null
+++ b/include/fldeff.h
@@ -0,0 +1,61 @@
+#ifndef GUARD_FLDEFF_H
+#define GUARD_FLDEFF_H
+
+// cut
+bool8 SetUpFieldMove_Cut(void);
+bool8 FldEff_UseCutOnGrass(void);
+bool8 FldEff_UseCutOnTree(void);
+bool8 FldEff_CutGrass(void);
+void sub_80D423C(s16 x, s16 y);
+void sub_80D42B8(s16 x, s16 y);
+
+extern const struct SpritePalette gFieldEffectObjectPaletteInfo6;
+
+// groundshake
+bool8 sub_81BE66C(void);
+void sub_81BE6AC(void);
+void sub_81BE6B8(void);
+void sub_81BE72C(void);
+void sub_81BE79C(void);
+void sub_81BE7F4(void);
+void sub_81BE994(void);
+
+// escalator
+void sub_80E1558(u8 var);
+void sub_80E1570(void);
+bool8 sub_80E1584(void);
+
+// soft-boiled
+bool8 SetUpFieldMove_SoftBoiled(void);
+void sub_81615A8(u8 taskId);
+void sub_8161560(u8 taskId);
+
+// flash
+bool8 SetUpFieldMove_Flash(void);
+void c2_change_map(void);
+bool8 GetMapPairFadeToType(u8 a1, u8 a2);
+bool8 GetMapPairFadeFromType(u8 a1, u8 a2);
+
+// strength
+bool8 SetUpFieldMove_Strength(void);
+bool8 sub_8145E2C(void);
+
+// sweet scent
+bool8 SetUpFieldMove_SweetScent(void);
+bool8 FldEff_SweetScent(void);
+
+// teleport
+bool8 SetUpFieldMove_Teleport(void);
+bool8 FldEff_UseTeleport(void);
+
+// dig
+bool8 SetUpFieldMove_Dig(void);
+bool8 FldEff_UseDig(void);
+
+// rock smash
+bool8 CheckObjectGraphicsInFrontOfPlayer(u8 graphicsId);
+u8 oei_task_add(void);
+bool8 SetUpFieldMove_RockSmash(void);
+bool8 FldEff_UseRockSmash(void);
+
+#endif // GUARD_FLDEFF_H
diff --git a/include/fldeff_80F9BCC.h b/include/fldeff_80F9BCC.h
deleted file mode 100644
index 027bb4273..000000000
--- a/include/fldeff_80F9BCC.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef GUARD_FLDEFF_80F9BCC_H
-#define GUARD_FLDEFF_80F9BCC_H
-
-// Exported type declarations
-
-// Exported RAM declarations
-
-// Exported ROM declarations
-
-void sub_80FA5E4(s16 id, s16 x, s16 y);
-void sub_80FA794(s16 x, s16 y);
-void CreateRecordMixingSprite(void);
-void DestroyRecordMixingSprite(void);
-void FldeffPoison_Start(void);
-void sub_80FA970(s16);
-void sub_80FA9D0(void);
-bool8 sub_80FADE4(u16, u8);
-
-#endif //GUARD_FLDEFF_80F9BCC_H
diff --git a/include/fldeff_cut.h b/include/fldeff_cut.h
deleted file mode 100644
index c89d3b6ca..000000000
--- a/include/fldeff_cut.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef GUARD_FLDEFF_CUT_H
-#define GUARD_FLDEFF_CUT_H
-
-extern const struct SpritePalette gFieldEffectObjectPaletteInfo6;
-
-bool8 SetUpFieldMove_Cut(void);
-bool8 FldEff_UseCutOnGrass(void);
-bool8 FldEff_UseCutOnTree(void);
-bool8 FldEff_CutGrass(void);
-void sub_80D423C(s16 x, s16 y);
-void sub_80D42B8(s16 x, s16 y);
-
-#endif // GUARD_FLDEFF_CUT_H
diff --git a/include/fldeff_groundshake.h b/include/fldeff_groundshake.h
deleted file mode 100644
index c1629f9bd..000000000
--- a/include/fldeff_groundshake.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef GUARD_FLDEFF_GROUNDSHAKE_H
-#define GUARD_FLDEFF_GROUNDSHAKE_H
-
-void sub_81BE72C(void);
-
-#endif // GUARD_FLDEFF_GROUNDSHAKE_H
diff --git a/include/fldeff_misc.h b/include/fldeff_misc.h
new file mode 100644
index 000000000..fd96f5646
--- /dev/null
+++ b/include/fldeff_misc.h
@@ -0,0 +1,37 @@
+#ifndef GUARD_FLDEFF_MISC_H
+#define GUARD_FLDEFF_MISC_H
+
+void sub_80F9BCC(u16 a0, u16 a1, u8 a2);
+void sub_80F9BF4(u16 a0, u16 a1, u8 a2);
+bool8 sub_80F9C1C(void);
+bool8 sub_80F9C30(void);
+bool8 SetUpFieldMove_SecretPower(void);
+bool8 FldEff_UseSecretPowerCave(void);
+bool8 FldEff_SecretPowerCave(void);
+bool8 FldEff_UseSecretPowerTree(void);
+bool8 FldEff_SecretPowerTree(void);
+bool8 FldEff_UseSecretPowerShrub(void);
+bool8 FldEff_SecretPowerShrub(void);
+bool8 FldEff_SecretBasePCTurnOn(void);
+void DoSecretBasePCTurnOffEffect(void);
+void PopSecretBaseBalloon(s16 metatileId, s16 x, s16 y);
+bool8 FldEff_NopA6FC(void);
+bool8 FldEff_NopA700(void);
+void ShatterSecretBaseBreakableDoor(s16 x, s16 y);
+void PlaySecretBaseMusicNoteMatSound(s16 metatileId);
+void DoSecretBaseGlitterMatSparkle(void);
+bool8 FldEff_SandPillar(void);
+void GetShieldToyTVDecorationInfo(void);
+bool8 sub_80FADE4(u16 arg0, u8 arg1);
+void FldEffPoison_Start(void);
+bool32 FldEffPoison_IsActive(void);
+void DoWateringBerryTreeAnim(void);
+u8 CreateRecordMixingSprite(void);
+void DestroyRecordMixingSprite(void);
+
+extern const struct SpritePalette gFieldEffectObjectPaletteInfo7;
+extern const struct SpritePalette gFieldEffectObjectPaletteInfo8;
+extern const struct SpritePalette gFieldEffectObjectPaletteInfo9;
+extern const u16 gTilesetPalettes_SecretBase[][16];
+
+#endif //GUARD_FLDEFF_MISC_H
diff --git a/include/global.h b/include/global.h
index e3792ac56..090ba7ce4 100644
--- a/include/global.h
+++ b/include/global.h
@@ -872,15 +872,15 @@ typedef union // 3b58
struct WaldaPhrase
{
- u16 field_0;
- u16 field_2;
+ u16 colors[2]; // Background, foreground.
u8 text[16];
u8 iconId;
u8 patternId;
bool8 patternUnlocked;
};
-struct UnkSaveSubstruct_3b98 {
+struct UnkSaveSubstruct_3b98
+{
u32 trainerId;
u8 trainerName[PLAYER_NAME_LENGTH + 1];
};
diff --git a/include/graphics.h b/include/graphics.h
index 8f6560318..7e1ea8506 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -3911,6 +3911,11 @@ extern const u16 gIntro2BrendanNoTurnPal[];
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[];
+
// berry pics
extern const u32 gBerryPic_Cheri[];
extern const u32 gBerryPalette_Cheri[];
@@ -4719,6 +4724,10 @@ extern const u32 gBattleAnimBackgroundTilemap_17[];
extern const u32 gBattleAnimBackgroundTilemap_20[];
extern const u32 gBattleAnimBackgroundTilemap_21[];
+extern const u32 gUnknown_08C1D0AC[];
+extern const u32 gUnknown_08C1D1E8[];
+extern const u32 gUnknown_08C1D210[];
+
extern const u32 gUnknown_08C20668[];
extern const u32 gUnknown_08C20684[];
extern const u32 gBattleStatMask_Gfx[];
@@ -4740,6 +4749,15 @@ extern const u32 gUnknown_08C16FA8[];
extern const u32 gUnknown_08C16E90[];
extern const u32 gUnknown_08C17170[];
+extern const u32 gUnknown_08D95E00[];
+extern const u32 gUnknown_08D960D0[];
+extern const u32 gUnknown_08D963A4[];
+extern const u32 gBattleAnimBackgroundImage_Surf[];
+extern const u32 gBattleAnimBackgroundPalette_Surf[];
+extern const u32 gBattleAnimBackgroundImageMuddyWater_Pal[];
+
+extern const u32 gBattleAnimFogTilemap[];
+
// Berry blender
extern const u32 gBerryBlenderArrowTiles[];
extern const u32 gBerryBlenderStartTiles[];
@@ -4761,6 +4779,20 @@ extern const u32 gUnknown_08D8D58C[];
extern const u32 gPokedexAreaScreenAreaUnknown_Gfx[];
extern const u16 gPokedexAreaScreenAreaUnknown_Pal[];
+// Pokemon Storage System
+extern const u32 gPSSMenu_Gfx[];
+extern const u16 gPSSMenu_Pal[];
+extern const u32 gWallpaperIcon_Plusle[];
+extern const u32 gWallpaperIcon_Cross[];
+extern const u32 gWallpaperIcon_Bolt[];
+extern const u32 gUnknown_08DD36C8[];
+extern const u32 gWallpaperTiles_Ribbon[];
+extern const u32 gWallpaperTilemap_Ribbon[];
+extern const u16 gWallpaperPalettes_Ribbon[][16];
+extern const u32 gWallpaperTiles_Horizontal[];
+extern const u32 gWallpaperTilemap_Horizontal[];
+extern const u16 gWallpaperPalettes_Horizontal[][16];
+
// Cable Car
extern const u32 gUnknown_08DBA5B8[];
extern const u16 gUnknown_08DBA518[];
@@ -4777,4 +4809,11 @@ extern const u16 gTradeGba2_Pal[];
extern const u8 gTradeGba_Gfx[];
extern const u16 gUnknown_08DDD704[];
+// Party menu
+extern const u32 gPartyMenuPokeball_Gfx[];
+extern const u32 gPartyMenuPokeballSmall_Gfx[];
+extern const u32 gStatusPal_Icons[];
+extern const u32 gPartyMenuPokeball_Pal[];
+extern const u32 gStatusPal_Icons[];
+
#endif //GUARD_GRAPHICS_H
diff --git a/include/item_menu.h b/include/item_menu.h
index ce439e282..d972cdf83 100644
--- a/include/item_menu.h
+++ b/include/item_menu.h
@@ -77,5 +77,7 @@ void CB2_BagMenuFromStartMenu(void);
u8 GetItemListPosition(u8 pocketId);
bool8 UseRegisteredKeyItemOnField(void);
void CB2_GoToSellMenu(void);
+void GoToBagMenu(u8 bagMenuType, u8 pocketId, void ( *postExitMenuMainCallback2)());
+void DoWallyTutorialBagMenu(void);
#endif //GUARD_item_menu_H
diff --git a/include/link_rfu.h b/include/link_rfu.h
index eb7097bc1..715b4cdd9 100644
--- a/include/link_rfu.h
+++ b/include/link_rfu.h
@@ -2,6 +2,7 @@
#define GUARD_LINK_RFU_H
#include "librfu.h"
+#include "link.h"
// Exported type declarations
diff --git a/include/menu.h b/include/menu.h
index 894dfd78e..9b2341e58 100644
--- a/include/menu.h
+++ b/include/menu.h
@@ -44,16 +44,16 @@ void SetWindowBorderStyle(u8 windowId, bool8 copyToVram, u16 tileStart, u8 palet
void schedule_bg_copy_tilemap_to_vram(u8 bgNum);
void PrintMenuTable(u8 windowId, u8 itemCount, const struct MenuAction *strs);
u8 InitMenuInUpperLeftCornerPlaySoundWhenAPressed(u8 windowId, u8 numItems, u8 initialCursorPos);
-u8 GetMenuCursorPos(void);
+u8 Menu_GetCursorPos(void);
s8 Menu_ProcessInput(void);
s8 Menu_ProcessInputNoWrap(void);
void blit_move_info_icon(u8 winId, u8 a2, u16 x, u16 y);
void reset_temp_tile_data_buffers(void);
-void *decompress_and_copy_tile_data_to_vram(u8 bgId, const void *src, int size, u16 offset, u8 mode);
+void *decompress_and_copy_tile_data_to_vram(u8 bgId, const void *src, u32 size, u16 offset, u8 mode);
bool8 free_temp_tile_data_buffers_if_possible(void);
struct WindowTemplate CreateWindowTemplate(u8 bg, u8 left, u8 top, u8 width, u8 height, u8 paletteNum, u16 baseBlock);
void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirstTileNum, u8 borderPalette, u8 initialCursorPos);
-void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void *src, int size, u16 offset, u8 mode);
+void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void *src, u32 size, u16 offset, u8 mode);
s8 Menu_ProcessInputNoWrapClearOnChoose(void);
s8 ProcessMenuInput_other(void);
void do_scheduled_bg_tilemap_copies_to_vram(void);
@@ -63,7 +63,7 @@ void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a2, u8 a3);
void sub_81995E4(u8 windowId, u8 optionsNo, const struct MenuAction *actions, const u8 *actionIds);
void sub_8197DF8(u8 windowId, bool8 copyToVram);
u16 sub_8198AA4(u8, u8, u8, u8, u8, u8, u16);
-void *malloc_and_decompress(const void *src, int *sizeOut);
+void *malloc_and_decompress(const void *src, u32 *sizeOut);
u16 copy_decompressed_tile_data_to_vram(u8 bgId, const void *src, u16 size, u16 offset, u8 mode);
void AddTextPrinterForMessage(bool8 allowSkippingDelayWithButtonPress);
void AddItemMenuActionTextPrinters(u8 windowId, u8 fontId, u8 left, u8 top, u8 letterSpacing, u8 lineHeight, u8 itemCount, const struct MenuAction *strs, const u8 *a8);
@@ -72,7 +72,8 @@ u8 sub_8199944(u8 windowId, u8 optionWidth, u8 horizontalCount, u8 verticalCount
u8 sub_8199134(s8, s8);
u8 GetStartMenuWindowId(void);
void sub_819A2BC(u8, u8);
-u8 MoveMenuCursor(s8 cursorDelta);
+u8 Menu_MoveCursor(s8 cursorDelta);
+u8 Menu_MoveCursorNoWrapAround(s8 cursorDelta);
void NewMenuHelpers_DrawStdWindowFrame(u8 windowId, bool8 CopyToVram);
u8 sub_81979C4(u8 a1);
u8 sub_81983AC(u8 windowId, u8 fontId, u8 left, u8 top, u8 cursorHeight, u8 numChoices, u8 initialCursorPos);
@@ -91,5 +92,11 @@ void sub_8198204(const u8 *string, const u8 *string2, u8 a3, u8 a4, bool8 copyTo
void sub_8197AE8(bool8 copyToVram);
void sub_81997AC(u8 windowId, u8 a4, u8 a6, u8 a7, const struct MenuAction *strs);
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);
+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);
#endif // GUARD_MENU_H
diff --git a/include/mon_markings.h b/include/mon_markings.h
index 22c3f14a4..8e4ec58bd 100644
--- a/include/mon_markings.h
+++ b/include/mon_markings.h
@@ -21,6 +21,15 @@ struct PokemonMarkMenu
/*0x10B4*/ u8 tileLoadState;
}; // 10b8
+void sub_811F90C(struct PokemonMarkMenu *ptr);
+void sub_811F918(void);
+bool8 sub_811F960(void);
+void sub_811FA90(void);
+void sub_811FAA4(u8 markings, s16 x, s16 y);
+void sub_811FAF8(void);
+bool8 sub_811FBA4(void);
struct Sprite *sub_811FF94(u16 tileTag, u16 paletteTag, const u16 *palette);
+struct Sprite *sub_811FFB4(u16 tileTag, u16 paletteTag, const u16 *palette);
+void sub_8120084(u8 markings, void *dest);
#endif //POKEEMERALD_MON_MARKINGS_H
diff --git a/include/party_menu.h b/include/party_menu.h
index 35c06f6e0..ae7c414a8 100644
--- a/include/party_menu.h
+++ b/include/party_menu.h
@@ -1,6 +1,7 @@
#ifndef GUARD_PARTY_MENU_H
#define GUARD_PARTY_MENU_H
+#include "main.h"
#include "task.h"
enum
@@ -10,7 +11,9 @@ enum
AILMENT_PRZ,
AILMENT_SLP,
AILMENT_FRZ,
- AILMENT_BRN
+ AILMENT_BRN,
+ AILMENT_PKRS,
+ AILMENT_FNT
};
enum
@@ -25,52 +28,86 @@ enum
struct Struct203CEC8
{
- u8 filler[0x9];
+ MainCallback exitCallback;
+ TaskFunc unk4;
+ u8 unk8_0:4;
+ u8 mode:2;
+ u8 unk8_2:2;
s8 unk9;
s8 unkA;
u8 unkB;
- u8 filler2[0x2];
+ u16 unkC;
+ s16 unkE;
+ s16 unk10;
};
extern struct Struct203CEC8 gUnknown_0203CEC8;
+extern u8 gUnknown_0203CEE8;
+extern u8 gUnknown_0203CEE9;
+extern MainCallback gPostMenuFieldCallback;
+extern u8 gSelectedOrderFromParty[4];
+extern u8 gUnknown_0203CF00[3];
-extern const u16 gUnknown_0861500C[];
+extern const u16 gTutorMoves[];
-bool8 pokemon_has_move(struct Pokemon *, u16);
-void sub_81B58A8(void);
-void DoWallyTutorialBagMenu(void);
-u8 pokemon_ailments_get_primary(u32 status);
-u8 *GetMonNickname(struct Pokemon *mon, u8 *dst);
+void sub_81B0FCC(u8 slot, u8 b);
+bool8 IsMultiBattle(void);
u8 GetCursorSelectionMonId(void);
+u8 sub_81B1360(void);
+void sub_81B1370(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 sub_81B205C(struct Pokemon *mon);
+void display_pokemon_menu_message(u32 stringID);
+void sub_81B47E0(u8 taskId);
bool8 FieldCallback_PrepareFadeInFromMenu(void);
+void sub_81B58A8(void);
+void LoadHeldItemIcons(void);
+void sub_81B5D4C(u8 *a, u8 *b, u8 c);
+void sub_81B617C(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);
+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);
+u8 GetItemEffectType(u16 item);
+void CB2_PartyMenuFromStartMenu(void);
void sub_81B7F60(void);
-
-void sub_81B0FCC(u8 partyIdx, u8 a);
-void sub_81B1370(u8 taskId);
-void display_pokemon_menu_message(u8 windowId);
-void sub_81B1F18(u8 taskId, u8 pokemonIdx, s8 a, s16 hp, TaskFunc func);
-void sub_81B1B5C(void *a, u8 b);
-u8 sub_81B1BD4(void);
void sub_81B8448(void);
void sub_81B8518(u8 unused);
-u8 sub_81B1360(void);
-void sub_81B8904(u8 arg0, void (*callback)(void));
-void OpenPartyMenuInBattle(u8 caseId);
-u16 ItemIdToBattleMoveId(u16 itemId);
-u8 sub_81B205C(struct Pokemon* a);
-void sub_81B617C(void);
-u8 sub_81B6D14(u16 a);
+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_81B5D30(void);
-void sub_81B5D4C(u8 *a0, u8 *a1, u8 a2);
-
-extern void dp05_ether(u8, u16, TaskFunc);
-extern void dp05_pp_up(u8, u16, TaskFunc);
-extern void dp05_rare_candy(u8, u16, TaskFunc);
-
-extern void sub_81B67C8(u8, u16, TaskFunc);
-extern void sub_81B79E8(u8, u16, TaskFunc);
-extern void sub_81B6DC4(u8, u16, TaskFunc);
-extern void sub_81B7C74(u8, u16, TaskFunc);
+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);
#endif // GUARD_PARTY_MENU_H
diff --git a/include/player_pc.h b/include/player_pc.h
index bd060faa8..5a0b83683 100644
--- a/include/player_pc.h
+++ b/include/player_pc.h
@@ -84,5 +84,6 @@ extern const struct MenuAction gMailboxMailOptions[];
void ReshowPlayerPC(u8 taskId);
void sub_816B31C(void);
+void Mailbox_ReturnToMailListAfterDeposit(void);
#endif //GUARD_PLAYER_PC_H
diff --git a/include/pokemon.h b/include/pokemon.h
index 94dae089f..cfa5cc350 100644
--- a/include/pokemon.h
+++ b/include/pokemon.h
@@ -8,9 +8,9 @@
#define MON_DATA_OT_ID 1
#define MON_DATA_NICKNAME 2
#define MON_DATA_LANGUAGE 3
-#define MON_DATA_SANITY_BIT1 4
-#define MON_DATA_SANITY_BIT2 5
-#define MON_DATA_SANITY_BIT3 6
+#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
@@ -251,14 +251,6 @@ struct Pokemon
u16 spDefense;
};
-struct PokemonStorage
-{
- /*0x0000*/ u8 currentBox;
- /*0x0001*/ struct BoxPokemon boxes[14][30];
- /*0x8344*/ u8 boxNames[14][9];
- /*0x83C2*/ u8 boxWallpapers[14];
-};
-
struct Unknown_806F160_Struct
{
u8 field_0_0:4;
@@ -430,7 +422,6 @@ extern struct Pokemon gPlayerParty[PARTY_SIZE];
extern u8 gEnemyPartyCount;
extern struct Pokemon gEnemyParty[PARTY_SIZE];
extern struct SpriteTemplate gMultiuseSpriteTemplate;
-extern struct PokemonStorage* gPokemonStoragePtr;
extern const struct BattleMove gBattleMoves[];
extern const u8 gFacilityClassToPicIndex[];
diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h
index 17c7d5573..4f27ef281 100644
--- a/include/pokemon_icon.h
+++ b/include/pokemon_icon.h
@@ -1,9 +1,14 @@
#ifndef GUARD_POKEMON_ICON_H
#define GUARD_POKEMON_ICON_H
+extern const u8 gMonIconPaletteIndices[];
+
const u8 *GetMonIconTiles(u16 species, bool32);
+void sub_80D304C(u16 offset);
+u8 GetValidMonIconPalIndex(u16 species);
const u8 *GetMonIconPtr(u16 speciesId, u32 personality, u32 frameNo);
const u16 *GetValidMonIconPalettePtr(u16 speciesId);
+u16 GetIconSpecies(u16 species, u32 personality);
u16 GetUnownLetterByPersonality(u32 personality);
u16 sub_80D2E84(u16 speciesId);
void LoadMonIconPalettes(void);
diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h
index 9b5358f06..a85ee5ff4 100644
--- a/include/pokemon_storage_system.h
+++ b/include/pokemon_storage_system.h
@@ -2,87 +2,73 @@
#define GUARD_POKEMON_STORAGE_SYSTEM_H
#define TOTAL_BOXES_COUNT 14
-#define IN_BOX_COUNT 30
+#define IN_BOX_ROWS 6
+#define IN_BOX_COLUMNS 5
+#define IN_BOX_COUNT (IN_BOX_ROWS * IN_BOX_COLUMNS)
-#include "pc_screen_effect.h"
-#include "mon_markings.h"
+/*
+ ROWS
+COLUMNS 0 1 2 3 4 5
+ 6 7 8 9 10 11
+ 12 13 14 15 16 17
+ 18 19 20 21 22 23
+ 24 25 26 27 28 29
+*/
-struct PokemonStorageSystemFunc
+struct PokemonStorage
{
- u8 (*func)(void);
- s8 unk4;
+ /*0x0000*/ u8 currentBox;
+ /*0x0001*/ struct BoxPokemon boxes[TOTAL_BOXES_COUNT][IN_BOX_COUNT];
+ /*0x8344*/ u8 boxNames[TOTAL_BOXES_COUNT][9];
+ /*0x83C2*/ u8 boxWallpapers[TOTAL_BOXES_COUNT];
};
-struct StorageAction
-{
- const u8 *text;
- u8 format;
-};
-
-struct StorageText
-{
- const u8 *text;
- int textId;
-};
-
-struct PSS_MenuStringPtrs
-{
- const u8 *text;
- const u8 *desc;
-};
-
-struct UnkStruct_2000028
-{
- const u8 *unk_00;
- u8 *unk_04;
- u16 unk_08;
- u16 unk_0a;
- void (*unk_0c)(struct UnkStruct_2000028 *data);
-};
+extern struct PokemonStorage *gPokemonStoragePtr;
-struct UnkStruct_2000020
-{
- struct UnkStruct_2000028 *unk_00;
- u8 unk_04;
- u8 unk_05;
-};
-
-struct UnkPSSStruct_2002370
-{
- struct Sprite *unk_0000;
- struct Sprite *unk_0004[4];
- u32 unk_0014[3];
- struct Sprite *unk_0020[2];
- u8 filler_0028[0x214];
- u32 unk_023c;
- u16 unk_0240;
- u16 unk_0242;
- u8 curBox;
- u8 unk_0245;
- u8 unk_0246;
-};
-
-struct PokemonStorageSystemData
-{
- u8 state;
- u8 boxOption;
- u8 unk_0002;
- u8 unk_0003;
- u8 taskId;
- u8 unk_0005[710];
- u16 bg2_X;
-};
-
-extern struct UnkPSSStruct_2002370 *gUnknown_02039D04;
-extern struct PokemonStorageSystemData *gUnknown_02039D08;
-
-u8* GetBoxNamePtr(u8 boxNumber);
-struct BoxPokemon *GetBoxedMonPtr(u8, u8);
-void SetBoxMonNickFromAnyBox(u8, u8, u8 *);
-void CompactPartySlots(void);
-u32 GetBoxMonDataFromAnyBox(u8 boxId, u8 monPosition, u32 request);
-bool8 CheckFreePokemonStorageSpace(void);
+u8 CountMonsInBox(u8 boxId);
+s16 GetFirstFreeBoxSpot(u8 boxId);
+u8 CountPartyAliveNonEggMonsExcept(u8 slotToIgnore);
+u16 CountPartyAliveNonEggMons_IgnoreVar0x8004Slot(void);
+u8 CountPartyMons(void);
+u8 *StringCopyAndFillWithSpaces(u8 *dst, const u8 *src, u16 n);
+void ShowPokemonStorageSystemPC(void);
+void ResetPokemonStorageSystem(void);
+s16 CompactPartySlots(void);
u8 StorageGetCurrentBox(void);
-u8 sub_80D214C(struct BoxPokemon *a, u8 b, u8 c, u8 d);
+u32 GetBoxMonDataAt(u8 boxId, u8 boxPosition, s32 request);
+void SetBoxMonDataAt(u8 boxId, u8 boxPosition, s32 request, const void *value);
+u32 GetCurrentBoxMonData(u8 boxPosition, s32 request);
+void SetCurrentBoxMonData(u8 boxPosition, s32 request, const void *value);
+void GetBoxMonNickAt(u8 boxId, u8 boxPosition, u8 *dst);
+u32 GetBoxMonLevelAt(u8 boxId, u8 boxPosition);
+void SetBoxMonNickAt(u8 boxId, u8 boxPosition, const u8 *nick);
+u32 GetAndCopyBoxMonDataAt(u8 boxId, u8 boxPosition, s32 request, void *dst);
+void SetBoxMonAt(u8 boxId, u8 boxPosition, struct BoxPokemon *src);
+void CopyBoxMonAt(u8 boxId, u8 boxPosition, struct BoxPokemon *dst);
+void CreateBoxMonAt(u8 boxId, u8 boxPosition, u16 species, u8 level, u8 fixedIV, u8 hasFixedPersonality, u32 personality, u8 otIDType, u32 otID);
+void ZeroBoxMonAt(u8 boxId, u8 boxPosition);
+void BoxMonAtToMon(u8 boxId, u8 boxPosition, struct Pokemon *dst);
+struct BoxPokemon *GetBoxedMonPtr(u8 boxId, u8 boxPosition);
+u8 *GetBoxNamePtr(u8 boxId);
+u8 GetBoxWallpaper(u8 boxId);
+void SetBoxWallpaper(u8 boxId, u8 wallpaperId);
+s16 sub_80D214C(struct BoxPokemon *boxMons, u8 currIndex, u8 maxIndex, u8 arg3);
+bool8 CheckFreePokemonStorageSpace(void);
+bool32 CheckBoxMonSanityAt(u32 boxId, u32 boxPosition);
+u32 CountStorageNonEggMons(void);
+u32 CountAllStorageMons(void);
+bool32 AnyStorageMonWithMove(u16 moveId);
+void ResetWaldaWallpaper(void);
+void SetWaldaWallpaperLockedOrUnlocked(bool32 unlocked);
+bool32 IsWaldaWallpaperUnlocked(void);
+u32 GetWaldaWallpaperPatternId(void);
+void SetWaldaWallpaperPatternId(u8 id);
+u32 GetWaldaWallpaperIconId(void);
+void SetWaldaWallpaperIconId(u8 id);
+u16 *GetWaldaWallpaperColorsPtr(void);
+void SetWaldaWallpaperColors(u16 color1, u16 color2);
+u8 *GetWaldaPhrasePtr(void);
+void SetWaldaPhrase(const u8 *src);
+bool32 IsWaldaPhraseEmpty(void);
#endif // GUARD_POKEMON_STORAGE_SYSTEM_H
diff --git a/include/pokemon_summary_screen.h b/include/pokemon_summary_screen.h
index 5dc37c70d..e2226b1e1 100755
--- a/include/pokemon_summary_screen.h
+++ b/include/pokemon_summary_screen.h
@@ -1,9 +1,15 @@
#ifndef GUARD_POKEMON_SUMMARY_SCREEN_H
#define GUARD_POKEMON_SUMMARY_SCREEN_H
+extern u8 gUnknown_0203CF20;
+
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);
+void SummaryScreen_SetUnknownTaskId(u8 a0);
+void SummaryScreen_DestroyUnknownTask(void);
// The Pokemon Summary Screen can operate in different modes. Certain features,
// such as move re-ordering, are available in the different modes.
@@ -11,7 +17,7 @@ enum PokemonSummaryScreenMode
{
PSS_MODE_NORMAL,
PSS_MODE_UNK1,
- PSS_MODE_UNK2,
+ PSS_MODE_BOX,
PSS_MODE_SELECT_MOVE,
};
diff --git a/include/pokenav.h b/include/pokenav.h
index 1fde8aa44..d8f0c9f97 100644
--- a/include/pokenav.h
+++ b/include/pokenav.h
@@ -36,5 +36,7 @@ u8 GetCurrentTrainerHillMapId(void);
u8 sub_81D6490(void);
const struct WarpEvent *sub_81D6120(void);
const struct WarpEvent *sub_81D6134(u8);
+void sub_81D3640(u16 arg0, void* statStoreLocation1, void* statStoreLocation2, u8 arg3, u8 arg4, u8 arg5);
+void sub_81D3784(u16 arg0, void* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4);
#endif //GUARD_POKENAV_H
diff --git a/include/region_map.h b/include/region_map.h
index 0c82232cf..ed1c1a201 100644
--- a/include/region_map.h
+++ b/include/region_map.h
@@ -107,6 +107,7 @@ u8 *sub_8124610(u8 *dest, u16 mapSecId);
u16 CorrectSpecialMapSecId(u16 mapSecId);
void sub_8122D88(struct RegionMap *regionMap);
void PokedexAreaScreen_UpdateRegionMapVariablesAndVideoRegs(s16 x, s16 y);
+void MCB2_FlyMap(void);
extern const struct RegionMapLocation gRegionMapEntries[];
diff --git a/include/rom6.h b/include/rom6.h
deleted file mode 100644
index 8b133e56e..000000000
--- a/include/rom6.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef GUARD_ROM6_H
-#define GUARD_ROM6_H
-
-void OpenPokeblockCase(u8, void(void));
-u8 GetLeadMonIndex(void);
-u8 GetSSTidalLocation(u8 *grp, u8 *num, s16 *x, s16 *y);
-void sub_813BADC(bool8);
-bool8 sub_813B9C0(void);
-void UpdateMirageRnd(u16 days);
-void UpdateBirchState(u16 days);
-void UpdateFrontierManiac(u16 days);
-void UpdateFrontierGambler(u16 days);
-void SetShoalItemFlag(u16 days);
-
-bool8 CheckObjectGraphicsInFrontOfPlayer(u8 graphicsId);
-u8 oei_task_add(void);
-
-#endif //GUARD_ROM6_H
diff --git a/include/rom_8011DC0.h b/include/rom_8011DC0.h
index b6ca0e248..c1bdbdf34 100644
--- a/include/rom_8011DC0.h
+++ b/include/rom_8011DC0.h
@@ -5,11 +5,16 @@
// Exported RAM declarations
+extern struct UnkLinkRfuStruct_02022B14Substruct gUnknown_02022C38;
+extern u16 gUnknown_02022C3C;
+extern u8 gUnknown_02022C3E;
+
// Exported ROM declarations
void sub_8018438(void);
u16 mevent_081445C0(u8);
void sub_801B990(u32, u32);
u8 sub_8013F78(void);
+bool32 sub_802C908(u16);
#endif //GUARD_rom_8011DC0_H
diff --git a/include/secret_base.h b/include/secret_base.h
index 4fa0d0c4a..ac15357e3 100644
--- a/include/secret_base.h
+++ b/include/secret_base.h
@@ -23,4 +23,12 @@ void sub_80EB9E0(void);
void sub_80EBB28(void);
void sub_80E9668(const struct MapPosition *position, const struct MapEvents *events);
+// SetCurrentSecretBaseFromPosition
+void sub_80E9608(const struct MapPosition *position, const struct MapEvents *events);
+// SetCurrentSecretBaseVar
+void sub_80E8B6C(void);
+void sub_80E8BC8(void);
+void sub_80E8D4C(void);
+void EnableBothScriptContexts(void);
+
#endif //GUARD_SECRET_BASE_H
diff --git a/include/strings.h b/include/strings.h
index c780a80b4..64222cddb 100644
--- a/include/strings.h
+++ b/include/strings.h
@@ -140,6 +140,8 @@ extern const u8 gText_Cancel4[];
extern const u8 gText_IsThisTheCorrectTime[];
extern const u8 gText_PkmnFainted3[];
extern const u8 gText_Coins[];
+extern const u8 gText_Silver[];
+extern const u8 gText_Gold[];
extern const u8 gText_Var1AteTheVar2[];
extern const u8 gText_Var1HappilyAteVar2[];
@@ -399,6 +401,69 @@ extern const u8 gText_ThreeDashes[];
// party menu text
extern const u8 gText_PkmnHPRestoredByVar2[];
extern const u8 gText_CantBeUsedOnPkmn[];
+extern const u8 gText_CancelParticipation[];
+extern const u8 gText_PkmnWasGivenItem[];
+extern const u8 gText_RecievedItemFromPkmn[];
+extern const u8 gText_SwitchPkmnItem[];
+extern const u8 gText_SwitchedPkmnItem[];
+extern const u8 gText_BagFullCouldNotRemoveItem[];
+extern const u8 gText_PkmnCantParticipate[];
+extern const u8 gText_PkmnNotHolding[];
+extern const u8 gText_ThrowAwayItem[];
+extern const u8 gText_ItemThrownAway[];
+extern const u8 gText_SendMailToPC[];
+extern const u8 gText_MailSentToPC[];
+extern const u8 gText_PCMailboxFull[];
+extern const u8 gText_MailMessageWillBeLost[];
+extern const u8 gText_MailTakenFromPkmn[];
+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 gText_PauseUntilPress[];
+extern const u8 gText_CantUseUntilNewBadge[];
+extern const u8 gText_ReturnToHealingSpot[];
+extern const u8 gText_EscapeFromHere[];
+extern const u8 gText_PkmnCuredOfPoison[];
+extern const u8 gText_PkmnWokeUp2[];
+extern const u8 gText_PkmnBurnHealed[];
+extern const u8 gText_PkmnThawedOut[];
+extern const u8 gText_PkmnCuredOfParalysis[];
+extern const u8 gText_PkmnGotOverInfatuation[];
+extern const u8 gText_PkmnBecameHealthy[];
+extern const u8 gText_HP3[];
+extern const u8 gText_SpAtk3[];
+extern const u8 gText_SpDef3[];
+extern const u8 gText_PkmnBaseVar2StatIncreased[];
+extern const u8 gText_MovesPPIncreased[];
+extern const u8 gText_PPWasRestored[];
+extern const u8 gText_WontHaveEffect[];
+extern const u8 gText_PkmnSnappedOutOfConfusion[];
+extern const u8 gText_PkmnFriendlyBaseVar2Fell[];
+extern const u8 gText_PkmnFriendlyBaseVar2CantFall[];
+extern const u8 gText_PkmnAdoresBaseVar2Fell[];
+extern const u8 gText_PkmnAlreadyKnows[];
+extern const u8 gText_PkmnCantLearnMove[];
+extern const u8 gText_PkmnNeedsToReplaceMove[];
+extern const u8 gText_PkmnLearnedMove3[];
+extern const u8 gText_WhichMoveToForget[];
+extern const u8 gText_12PoofForgotMove[];
+extern const u8 gText_StopLearningMove2[];
+extern const u8 gText_MoveNotLearned[];
+extern const u8 gText_PkmnElevatedToLvVar2[];
+extern const u8 gText_RemoveMailBeforeItem[];
+extern const u8 gText_PkmnHoldingItemCantHoldMail[];
+extern const u8 gText_MailTransferredFromMailbox[];
+extern const u8 gText_CancelBattle[];
+extern const u8 gText_ReturnToWaitingRoom[];
+extern const u8 gText_CancelChallenge[];
+extern const u8 gText_CantSwitchWithAlly[];
+extern const u8 gText_PkmnHasNoEnergy[];
+extern const u8 gText_EggCantBattle[];
+extern const u8 gText_PkmnAlreadySelected[];
+extern const u8 gText_PkmnAlreadyInBattle[];
+extern const u8 gText_PkmnCantSwitchOut[];
//pokedex text
extern const u8 gText_CryOf[];
@@ -1736,4 +1801,187 @@ extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254F47[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254F0E[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254ED3[];
+// PC strings
+extern const u8 gText_ExitFromBox[];
+extern const u8 gText_WhatDoYouWantToDo[];
+extern const u8 gText_PleasePickATheme[];
+extern const u8 gText_PickTheWallpaper[];
+extern const u8 gText_PkmnIsSelected[];
+extern const u8 gText_JumpToWhichBox[];
+extern const u8 gText_DepositInWhichBox[];
+extern const u8 gText_PkmnWasDeposited[];
+extern const u8 gText_BoxIsFull2[];
+extern const u8 gText_ReleaseThisPokemon[];
+extern const u8 gText_PkmnWasReleased[];
+extern const u8 gText_ByeByePkmn[];
+extern const u8 gText_MarkYourPkmn[];
+extern const u8 gText_ThatsYourLastPkmn[];
+extern const u8 gText_YourPartysFull[];
+extern const u8 gText_YoureHoldingAPkmn[];
+extern const u8 gText_WhichOneWillYouTake[];
+extern const u8 gText_YouCantReleaseAnEgg[];
+extern const u8 gText_ContinueBoxOperations[];
+extern const u8 gText_PkmnCameBack[];
+extern const u8 gText_WasItWorriedAboutYou[];
+extern const u8 gText_FourEllipsesExclamation[];
+extern const u8 gText_PleaseRemoveTheMail[];
+extern const u8 gText_GiveToAPkmn[];
+extern const u8 gText_PlacedItemInBag[];
+extern const u8 gText_BagIsFull2[];
+extern const u8 gText_PutItemInBag[];
+extern const u8 gText_ItemIsNowHeld[];
+extern const u8 gText_ChangedToNewItem[];
+extern const u8 gText_MailCantBeStored[];
+extern const u8 gPCText_Cancel[];
+extern const u8 gPCText_Store[];
+extern const u8 gPCText_Withdraw[];
+extern const u8 gPCText_Move[];
+extern const u8 gPCText_Shift[];
+extern const u8 gPCText_Place[];
+extern const u8 gPCText_Summary[];
+extern const u8 gPCText_Release[];
+extern const u8 gPCText_Mark[];
+extern const u8 gPCText_Jump[];
+extern const u8 gPCText_Wallpaper[];
+extern const u8 gPCText_Name[];
+extern const u8 gPCText_Take[];
+extern const u8 gPCText_Give[];
+extern const u8 gPCText_Give[];
+extern const u8 gPCText_Switch[];
+extern const u8 gPCText_Bag[];
+extern const u8 gPCText_Info[];
+extern const u8 gPCText_Scenery1[];
+extern const u8 gPCText_Scenery2[];
+extern const u8 gPCText_Scenery3[];
+extern const u8 gPCText_Etcetera[];
+extern const u8 gPCText_Friends[];
+extern const u8 gPCText_Forest[];
+extern const u8 gPCText_City[];
+extern const u8 gPCText_Desert[];
+extern const u8 gPCText_Savanna[];
+extern const u8 gPCText_Crag[];
+extern const u8 gPCText_Volcano[];
+extern const u8 gPCText_Snow[];
+extern const u8 gPCText_Cave[];
+extern const u8 gPCText_Beach[];
+extern const u8 gPCText_Seafloor[];
+extern const u8 gPCText_River[];
+extern const u8 gPCText_Sky[];
+extern const u8 gPCText_PolkaDot[];
+extern const u8 gPCText_Pokecenter[];
+extern const u8 gPCText_Machine[];
+extern const u8 gPCText_Simple[];
+extern const u8 gText_PartyFull[];
+extern const u8 gText_Box[];
+extern const u8 gText_JustOnePkmn[];
+
+// battle main
+extern const u8 gText_LinkStandby3[];
+extern const u8 gText_BattleRecordCouldntBeSaved[];
+extern const u8 gText_Poison[];
+extern const u8 gText_Sleep[];
+extern const u8 gText_Paralysis[];
+extern const u8 gText_Burn[];
+extern const u8 gText_Ice[];
+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_PkmnTransferredSomeonesPC[];
+extern const u8 gText_PkmnTransferredLanettesPC[];
+
+// hall of fame
+extern const u8 gText_SavingDontTurnOffPower[];
+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_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[];
+
+// daycare
+extern const u8 gText_MaleSymbol4[];
+extern const u8 gText_FemaleSymbol4[];
+extern const u8 gText_GenderlessSymbol[];
+extern const u8 gText_NewLine2[];
+extern const u8 gText_Exit4[];
+extern const u8 gText_Lv[];
+extern const u8 gExpandedPlaceholder_Empty[];
+extern const u8 gText_Exit[];
+extern const u8 gDaycareText_GetAlongVeryWell[];
+extern const u8 gDaycareText_GetAlong[];
+extern const u8 gDaycareText_DontLikeOther[];
+extern const u8 gDaycareText_PlayOther[];
+
+// party menu
+extern const u8 gUnknown_085E9E43[];
+extern const u8 gUnknown_085EA010[];
+extern const u8 gUnknown_085EA02A[];
+extern const u8 gUnknown_085E9E55[];
+extern const u8 gUnknown_085E9E64[];
+extern const u8 gUnknown_085E9E79[];
+extern const u8 gUnknown_085E9E8F[];
+extern const u8 gUnknown_085E9EBC[];
+extern const u8 gUnknown_085E9ED4[];
+extern const u8 gUnknown_085E9EE9[];
+extern const u8 gUnknown_085E9FDB[];
+extern const u8 gUnknown_085EA046[];
+extern const u8 gUnknown_085EA05B[];
+extern const u8 gUnknown_085E9F01[];
+extern const u8 gUnknown_085E9F58[];
+extern const u8 gUnknown_085E9F6F[];
+extern const u8 gUnknown_085E9F81[];
+extern const u8 gUnknown_085E9F90[];
+extern const u8 gUnknown_085E9FA7[];
+extern const u8 gUnknown_085E9FC2[];
+extern const u8 gUnknown_085E9EA6[];
+extern const u8 gUnknown_085E9F16[];
+extern const u8 gUnknown_085E9F2A[];
+extern const u8 gUnknown_085E9F42[];
+extern const u8 gUnknown_085E9FF9[];
+extern const u8 gUnknown_085EA073[];
+extern const u8 gUnknown_085EA091[];
+extern const u8 gUnknown_085EA099[];
+extern const u8 gUnknown_085EA09E[];
+extern const u8 gUnknown_085EA0A4[];
+extern const u8 gUnknown_085EA0AB[];
+extern const u8 gUnknown_085EA0E7[];
+extern const u8 gUnknown_085EA0B1[];
+extern const u8 gUnknown_085EA0B6[];
+extern const u8 gUnknown_085EA0BF[];
+extern const u8 gUnknown_085EA0C5[];
+extern const u8 gUnknown_085EA0CF[];
+extern const u8 gUnknown_085EA0D7[];
+extern const u8 gUnknown_085EA0DC[];
+extern const u8 gText_Take[];
+extern const u8 gText_Mail[];
+extern const u8 gText_Take2[];
+extern const u8 gText_Read2[];
+extern const u8 gText_Cancel2[];
+extern const u8 gText_Shift[];
+extern const u8 gText_SendOut[];
+extern const u8 gText_Enter[];
+extern const u8 gText_NoEntry[];
+extern const u8 gText_Store[];
+extern const u8 gText_Register[];
+extern const u8 gText_Trade4[];
+extern const u8 gText_Summary5[];
+extern const u8 gText_Switch2[];
+extern const u8 gText_Item[];
+extern const u8 gText_NotPkmnOtherTrainerWants[];
+extern const u8 gText_ThatIsntAnEgg[];
+extern const u8 gText_PkmnCantBeTradedNow[];
+extern const u8 gText_OtherTrainersPkmnCantBeTraded[];
+extern const u8 gText_EggCantBeTradedNow[];
+extern const u8 gText_OtherTrainerCantAcceptPkmn[];
+extern const u8 gText_CantTradeWithTrainer[];
+
#endif //GUARD_STRINGS_H
diff --git a/include/text.h b/include/text.h
index 69cbb87ed..d9c7a9a2e 100644
--- a/include/text.h
+++ b/include/text.h
@@ -258,7 +258,7 @@ void DrawDownArrow(u8 windowId, u16 x, u16 y, u8 bgColor, bool8 drawArrow, u8 *c
u16 RenderText(struct TextPrinter *textPrinter);
u32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing);
u32 (*GetFontWidthFunc(u8 glyphId))(u16, bool32);
-u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing);
+s32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing);
u8 RenderTextFont9(u8 *pixels, u8 fontId, u8 *str);
u8 DrawKeypadIcon(u8 windowId, u8 keypadIconId, u16 x, u16 y);
u8 GetKeypadIconTileOffset(u8 keypadIconId);
diff --git a/include/trade.h b/include/trade.h
index af4da0015..45d8d9a0d 100644
--- a/include/trade.h
+++ b/include/trade.h
@@ -1,6 +1,8 @@
#ifndef GUARD_TRADE_H
#define GUARD_TRADE_H
+#include "link_rfu.h"
+
// Exported type declarations
// Exported RAM declarations
@@ -10,5 +12,8 @@
s32 sub_807A728(void);
void sub_80773AC(void);
void sub_807AE50(void);
+int sub_807A8D0(u32 /* probably wrong */, 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);
#endif //GUARD_TRADE_H
diff --git a/include/window.h b/include/window.h
index 692ca1d81..25573ac3e 100644
--- a/include/window.h
+++ b/include/window.h
@@ -61,10 +61,10 @@ void ScrollWindow(u8 windowId, u8 direction, u8 distance, u8 fillValue);
void CallWindowFunction(u8 windowId, void ( *func)(u8, u8, u8, u8, u8, u8));
bool8 SetWindowAttribute(u8 windowId, u8 attributeId, u32 value);
u32 GetWindowAttribute(u8 windowId, u8 attributeId);
-u16 AddWindow8Bit(struct WindowTemplate *template);
-u16 AddWindow8Bit(struct WindowTemplate *template);
+u16 AddWindow8Bit(const struct WindowTemplate *template);
+void FillWindowPixelBuffer8Bit(u8 windowId, u8 fillValue);
void FillWindowPixelRect8Bit(u8 windowId, u8 fillValue, u16 x, u16 y, u16 width, u16 height);
-void BlitBitmapRectToWindow4BitTo8Bit(u8 windowId, u8 *pixels, u16 srcX, u16 srcY, u16 srcWidth, int srcHeight, u16 destX, u16 destY, u16 rectWidth, u16 rectHeight, u8 paletteNum);
+void BlitBitmapRectToWindow4BitTo8Bit(u8 windowId, const u8 *pixels, u16 srcX, u16 srcY, u16 srcWidth, int srcHeight, u16 destX, u16 destY, u16 rectWidth, u16 rectHeight, u8 paletteNum);
void CopyWindowToVram8Bit(u8 windowId, u8 mode);
extern struct Window gWindows[];
diff --git a/ld_script.txt b/ld_script.txt
index c04d6b0cc..30c7327a5 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -127,7 +127,6 @@ SECTIONS {
src/pokedex.o(.text);
asm/trainer_card.o(.text);
src/pokemon_storage_system.o(.text);
- asm/pokemon_storage_system.o(.text);
src/pokemon_icon.o(.text);
src/script_movement.o(.text);
src/fldeff_cut.o(.text);
@@ -152,7 +151,7 @@ SECTIONS {
src/script_pokemon_util_80F87D8.o(.text);
src/field_poison.o(.text);
src/pokemon_size_record.o(.text);
- asm/fldeff_80F9BCC.o(.text);
+ src/fldeff_misc.o(.text);
src/field_special_scene.o(.text);
src/rotating_gate.o(.text);
src/safari_zone.o(.text);
@@ -160,19 +159,19 @@ SECTIONS {
src/item_use.o(.text);
src/battle_anim_effects_1.o(.text);
src/battle_anim_effects_2.o(.text);
- asm/water.o(.text);
+ src/water.o(.text);
src/fire.o(.text);
src/electric.o(.text);
- asm/ice.o(.text);
+ src/ice.o(.text);
src/fight.o(.text);
src/poison.o(.text);
asm/flying.o(.text);
- asm/psychic.o(.text);
+ src/psychic.o(.text);
src/bug.o(.text);
src/rock.o(.text);
src/ghost.o(.text);
src/dragon.o(.text);
- asm/dark.o(.text);
+ src/dark.o(.text);
src/ground.o(.text);
src/normal.o(.text);
src/battle_anim_utility_funcs.o(.text);
@@ -195,7 +194,8 @@ SECTIONS {
src/trader.o(.text);
src/starter_choose.o(.text);
src/wallclock.o(.text);
- src/rom6.o(.text);
+ src/fldeff_rocksmash.o(.text);
+ src/fldeff_dig.o(.text);
src/pokeblock.o(.text);
src/fldeff_flash.o(.text);
src/post_battle_event_funcs.o(.text);
@@ -278,7 +278,7 @@ SECTIONS {
src/dynamic_placeholder_text_util.o(.text);
src/save_location.o(.text);
src/item_icon.o(.text);
- asm/party_menu.o(.text);
+ src/party_menu.o(.text);
src/battle_tent.o(.text);
src/unk_text_util_2.o(.text);
src/multiboot.o(.text);
@@ -405,7 +405,6 @@ SECTIONS {
src/data2b.o(.rodata);
src/battle_data.o(.rodata);
src/battle_bg.o(.rodata);
- data/data2c.o(.rodata);
src/battle_main.o(.rodata);
src/battle_util.o(.rodata);
src/battle_script_commands.o(.rodata);
@@ -460,7 +459,6 @@ SECTIONS {
src/pokedex.o(.rodata);
data/trainer_card.o(.rodata);
src/pokemon_storage_system.o(.rodata);
- data/pokemon_storage_system.o(.rodata);
src/pokemon_icon.o(.rodata);
src/fldeff_cut.o(.rodata);
src/map_name_popup.o(.rodata);
@@ -481,7 +479,7 @@ SECTIONS {
data/contest_link_80F57C4.o(.rodata);
src/script_pokemon_util_80F87D8.o(.rodata);
src/pokemon_size_record.o(.rodata)
- data/field_effect_misc.o(.rodata);
+ src/fldeff_misc.o(.rodata);
src/field_special_scene.o(.rodata);
src/rotating_gate.o(.rodata);
src/item_use.o(.rodata);
@@ -537,7 +535,6 @@ SECTIONS {
src/cable_car.o(.rodata);
src/save.o(.rodata);
src/field_effect_helpers.o(.rodata);
- data/field_effect_helpers.o(.rodata);
src/contest_ai.o(.rodata);
src/battle_controller_safari.o(.rodata);
src/battle_anim_effects_3.o(.rodata);
@@ -587,7 +584,7 @@ SECTIONS {
src/list_menu.o(.rodata);
src/save_location.o(.rodata);
src/item_icon.o(.rodata);
- data/party_menu.o(.rodata);
+ src/party_menu.o(.rodata);
src/battle_tent.o(.rodata);
src/unk_text_util_2.o(.rodata);
src/unk_81BAD84.o(.rodata);
@@ -604,7 +601,6 @@ SECTIONS {
src/rayquaza_scene.o(.rodata);
src/walda_phrase.o(.rodata);
src/gym_leader_rematch.o(.rodata);
- data/unk_transition.o(.rodata);
src/unk_transition.o(.rodata);
data/text_input_strings.o(.rodata);
data/fonts.o(.rodata);
diff --git a/src/battle_anim.c b/src/battle_anim.c
index 88c548208..d1550f31e 100644
--- a/src/battle_anim.c
+++ b/src/battle_anim.c
@@ -1605,8 +1605,8 @@ static void ScriptCmd_loadspritegfx(void)
sBattleAnimScriptPtr++;
index = T1_READ_16(sBattleAnimScriptPtr);
- LoadCompressedObjectPicUsingHeap(&gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(index)]);
- LoadCompressedObjectPaletteUsingHeap(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(index)]);
+ LoadCompressedSpriteSheetUsingHeap(&gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(index)]);
+ LoadCompressedSpritePaletteUsingHeap(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(index)]);
sBattleAnimScriptPtr += 2;
AddSpriteIndex(GET_TRUE_SPRITE_INDEX(index));
gAnimFramesToWait = 1;
@@ -1671,7 +1671,11 @@ static void ScriptCmd_createsprite(void)
if (subpriority < 3)
subpriority = 3;
- CreateSpriteAndAnimate(template, GetBattlerSpriteCoord(gBattleAnimTarget, 2), GetBattlerSpriteCoord(gBattleAnimTarget, 3), subpriority);
+ CreateSpriteAndAnimate(
+ template,
+ GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2),
+ GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET),
+ subpriority);
gAnimVisualTaskCount++;
}
@@ -1866,7 +1870,7 @@ static void ScriptCmd_monbg(void)
else
toBG_2 = TRUE;
- sub_80A438C(battlerId, toBG_2, FALSE);
+ MoveBattlerSpriteToBG(battlerId, toBG_2, FALSE);
taskId = CreateTask(sub_80A40F4, 10);
gAnimVisualTaskCount++;
gTasks[taskId].data[t1_MONBG_BATTLER] = battlerId;
@@ -1885,7 +1889,7 @@ static void ScriptCmd_monbg(void)
else
toBG_2 = TRUE;
- sub_80A438C(battlerId, toBG_2, FALSE);
+ MoveBattlerSpriteToBG(battlerId, toBG_2, FALSE);
taskId = CreateTask(sub_80A40F4, 10);
gAnimVisualTaskCount++;
gTasks[taskId].data[0] = battlerId;
@@ -1918,7 +1922,7 @@ bool8 IsBattlerSpriteVisible(u8 battlerId)
return FALSE;
}
-void sub_80A438C(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible)
+void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible)
{
struct UnknownAnimStruct2 unknownStruct;
u8 battlerSpriteId;
@@ -2190,7 +2194,7 @@ static void ScriptCmd_monbg_22(void)
else
toBG_2 = TRUE;
- sub_80A438C(battlerId, toBG_2, FALSE);
+ MoveBattlerSpriteToBG(battlerId, toBG_2, FALSE);
}
battlerId ^= BIT_FLANK;
@@ -2202,7 +2206,7 @@ static void ScriptCmd_monbg_22(void)
else
toBG_2 = TRUE;
- sub_80A438C(battlerId, toBG_2, FALSE);
+ MoveBattlerSpriteToBG(battlerId, toBG_2, FALSE);
}
sBattleAnimScriptPtr++;
@@ -3029,12 +3033,12 @@ static void ScriptCmd_doublebattle_2D(void)
{
if (wantedBattler == ANIM_ATTACKER)
{
- r4 = sub_80A8364(gBattleAnimAttacker);
+ r4 = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker);
spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
}
else
{
- r4 = sub_80A8364(gBattleAnimTarget);
+ r4 = GetBattlerSpriteBGPriorityRank(gBattleAnimTarget);
spriteId = GetAnimBattlerSpriteId(ANIM_TARGET);
}
if (spriteId != 0xFF)
@@ -3064,12 +3068,12 @@ static void ScriptCmd_doublebattle_2E(void)
{
if (wantedBattler == ANIM_ATTACKER)
{
- r4 = sub_80A8364(gBattleAnimAttacker);
+ r4 = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker);
spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
}
else
{
- r4 = sub_80A8364(gBattleAnimTarget);
+ r4 = GetBattlerSpriteBGPriorityRank(gBattleAnimTarget);
spriteId = GetAnimBattlerSpriteId(ANIM_TARGET);
}
diff --git a/src/battle_anim_80A5C6C.c b/src/battle_anim_80A5C6C.c
index 910845c69..f85104bc7 100644
--- a/src/battle_anim_80A5C6C.c
+++ b/src/battle_anim_80A5C6C.c
@@ -568,7 +568,7 @@ void TranslateSpriteOverDuration(struct Sprite *sprite)
}
}
-void TranslateAnimLinearSimple(struct Sprite *sprite)
+void AnimTranslateLinearSimple(struct Sprite *sprite)
{
if (sprite->data[0] > 0)
{
@@ -716,7 +716,9 @@ void SetSpriteCoordsToAnimAttackerCoords(struct Sprite *sprite)
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
}
-void sub_80A6864(struct Sprite *sprite, s16 xOffset)
+// Sets the initial x offset of the anim sprite depending on the horizontal orientation
+// of the two involved mons.
+void SetAnimSpriteInitialXOffset(struct Sprite *sprite, s16 xOffset)
{
u16 attackerX = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
u16 targetX = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X);
@@ -749,7 +751,7 @@ void InitAnimArcTranslation(struct Sprite *sprite)
bool8 TranslateAnimArc(struct Sprite *sprite)
{
- if (TranslateAnimLinear(sprite))
+ if (AnimTranslateLinear(sprite))
return TRUE;
sprite->data[7] += sprite->data[6];
sprite->pos2.y += Sin((u8)(sprite->data[7] >> 8), sprite->data[5]);
@@ -758,7 +760,7 @@ bool8 TranslateAnimArc(struct Sprite *sprite)
bool8 sub_80A6934(struct Sprite *sprite)
{
- if (TranslateAnimLinear(sprite))
+ if (AnimTranslateLinear(sprite))
return TRUE;
sprite->data[7] += sprite->data[6];
sprite->pos2.x += Sin((u8)(sprite->data[7] >> 8), sprite->data[5]);
@@ -773,18 +775,20 @@ void oamt_add_pos2_onto_pos1(struct Sprite *sprite)
sprite->pos2.y = 0;
}
-void sub_80A6980(struct Sprite *sprite, bool8 a2)
+void InitSpritePosToAnimTarget(struct Sprite *sprite, bool8 respectMonPicOffsets)
{
- if (!a2)
+ // Battle anim sprites are automatically created at the anim target's center, which
+ // is why there is no else clause for the "respectMonPicOffsets" check.
+ if (!respectMonPicOffsets)
{
sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimTarget, BATTLER_COORD_X);
sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimTarget, BATTLER_COORD_Y);
}
- sub_80A6864(sprite, gBattleAnimArgs[0]);
+ SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]);
sprite->pos1.y += gBattleAnimArgs[1];
}
-void InitAnimSpritePos(struct Sprite *sprite, u8 respectMonPicOffsets)
+void InitSpritePosToAnimAttacker(struct Sprite *sprite, bool8 respectMonPicOffsets)
{
if (!respectMonPicOffsets)
{
@@ -796,7 +800,7 @@ void InitAnimSpritePos(struct Sprite *sprite, u8 respectMonPicOffsets)
sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_X_2);
sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
}
- sub_80A6864(sprite, gBattleAnimArgs[0]);
+ SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]);
sprite->pos1.y += gBattleAnimArgs[1];
}
@@ -917,7 +921,7 @@ void sub_80A6BFC(struct UnknownAnimStruct2 *unk, u8 unused)
unk->tilesOffset = 0;
unk->unkC = 0;
}
- else if (sub_80A8364(gBattleAnimAttacker) == 1)
+ else if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == 1)
{
unk->unk8 = 8;
unk->bgId = 1;
@@ -1058,7 +1062,7 @@ void sub_80A6F14(struct Sprite *sprite)
sprite->callback(sprite);
}
-bool8 TranslateAnimLinear(struct Sprite *sprite)
+bool8 AnimTranslateLinear(struct Sprite *sprite)
{
u16 v1, v2, x, y;
@@ -1090,14 +1094,14 @@ bool8 TranslateAnimLinear(struct Sprite *sprite)
void sub_80A6F98(struct Sprite *sprite)
{
- if (TranslateAnimLinear(sprite))
+ if (AnimTranslateLinear(sprite))
SetCallbackToStoredInData6(sprite);
}
void sub_80A6FB4(struct Sprite *sprite)
{
sub_8039E9C(sprite);
- if (TranslateAnimLinear(sprite))
+ if (AnimTranslateLinear(sprite))
SetCallbackToStoredInData6(sprite);
}
@@ -1117,14 +1121,14 @@ void sub_80A7000(struct Sprite *sprite)
sprite->callback(sprite);
}
-void sub_80A7028(struct Sprite *sprite)
+static void InitAnimFastLinearTranslation(struct Sprite *sprite)
{
- int x = sprite->data[2] - sprite->data[1];
- int y = sprite->data[4] - sprite->data[3];
- bool8 x_sign = x < 0;
- bool8 y_sign = y < 0;
- u16 x2 = abs(x) << 4;
- u16 y2 = abs(y) << 4;
+ int xDiff = sprite->data[2] - sprite->data[1];
+ int yDiff = sprite->data[4] - sprite->data[3];
+ bool8 x_sign = xDiff < 0;
+ bool8 y_sign = yDiff < 0;
+ u16 x2 = abs(xDiff) << 4;
+ u16 y2 = abs(yDiff) << 4;
x2 /= sprite->data[0];
y2 /= sprite->data[0];
@@ -1145,16 +1149,16 @@ void sub_80A7028(struct Sprite *sprite)
sprite->data[3] = 0;
}
-void sub_80A70C0(struct Sprite *sprite)
+void InitAndRunAnimFastLinearTranslation(struct Sprite *sprite)
{
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
- sub_80A7028(sprite);
+ InitAnimFastLinearTranslation(sprite);
sprite->callback = sub_80A7144;
sprite->callback(sprite);
}
-bool8 sub_80A70E8(struct Sprite *sprite)
+bool8 AnimFastTranslateLinear(struct Sprite *sprite)
{
u16 v1, v2, x, y;
@@ -1186,22 +1190,22 @@ bool8 sub_80A70E8(struct Sprite *sprite)
void sub_80A7144(struct Sprite *sprite)
{
- if (sub_80A70E8(sprite))
+ if (AnimFastTranslateLinear(sprite))
SetCallbackToStoredInData6(sprite);
}
-void sub_80A7160(struct Sprite *sprite)
+void InitAnimFastLinearTranslationWithSpeed(struct Sprite *sprite)
{
- int v1 = abs(sprite->data[2] - sprite->data[1]) << 4;
- sprite->data[0] = v1 / sprite->data[0];
- sub_80A7028(sprite);
+ int xDiff = abs(sprite->data[2] - sprite->data[1]) << 4;
+ sprite->data[0] = xDiff / sprite->data[0];
+ InitAnimFastLinearTranslation(sprite);
}
void sub_80A718C(struct Sprite *sprite)
{
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
- sub_80A7160(sprite);
+ InitAnimFastLinearTranslationWithSpeed(sprite);
sprite->callback = sub_80A7144;
sprite->callback(sprite);
}
@@ -1471,9 +1475,9 @@ void sub_80A77C8(struct Sprite *sprite)
else
var = FALSE;
if (!gBattleAnimArgs[2])
- InitAnimSpritePos(sprite, var);
+ InitSpritePosToAnimAttacker(sprite, var);
else
- sub_80A6980(sprite, var);
+ InitSpritePosToAnimTarget(sprite, var);
sprite->data[0]++;
}
@@ -1506,7 +1510,7 @@ void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite)
else
coordType = BATTLER_COORD_Y;
- InitAnimSpritePos(sprite, v1);
+ InitSpritePosToAnimAttacker(sprite, v1);
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
@@ -1519,7 +1523,7 @@ void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite)
void sub_80A78AC(struct Sprite *sprite)
{
- InitAnimSpritePos(sprite, 1);
+ InitSpritePosToAnimAttacker(sprite, 1);
if (GetBattlerSide(gBattleAnimAttacker))
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
sprite->data[0] = gBattleAnimArgs[4];
@@ -1553,17 +1557,17 @@ void sub_80A7938(struct Sprite *sprite)
}
if (!gBattleAnimArgs[5])
{
- InitAnimSpritePos(sprite, r4);
+ InitSpritePosToAnimAttacker(sprite, r4);
battlerId = gBattleAnimAttacker;
}
else
{
- sub_80A6980(sprite, r4);
+ InitSpritePosToAnimTarget(sprite, r4);
battlerId = gBattleAnimTarget;
}
if (GetBattlerSide(gBattleAnimAttacker))
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
- sub_80A6980(sprite, r4);
+ InitSpritePosToAnimTarget(sprite, r4);
sprite->data[0] = gBattleAnimArgs[4];
sprite->data[2] = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) + gBattleAnimArgs[2];
sprite->data[4] = GetBattlerSpriteCoord(battlerId, attributeId) + gBattleAnimArgs[3];
@@ -2006,7 +2010,7 @@ u8 GetBattlerSpriteSubpriority(u8 battlerId)
return subpriority;
}
-u8 sub_80A8328(u8 battlerId)
+u8 GetBattlerSpriteBGPriority(u8 battlerId)
{
u8 position = GetBattlerPosition(battlerId);
@@ -2018,7 +2022,7 @@ u8 sub_80A8328(u8 battlerId)
return GetAnimBgAttribute(1, BG_ANIM_PRIORITY);
}
-u8 sub_80A8364(u8 battlerId)
+u8 GetBattlerSpriteBGPriorityRank(u8 battlerId)
{
if (!IsContest())
{
@@ -2229,36 +2233,38 @@ s16 sub_80A861C(u8 battlerId, u8 a2)
}
}
-void SetAverageBattlerPositions(u8 battlerId, bool8 a2, s16 *x, s16 *y)
+void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x, s16 *y)
{
- u8 v1, v2;
- s16 v3, v4;
- s16 v5, v6;
+ u8 xCoordType, yCoordType;
+ s16 battlerX, battlerY;
+ s16 partnerX, partnerY;
- if (!a2)
+ if (!respectMonPicOffsets)
{
- v1 = 0;
- v2 = 1;
+ xCoordType = BATTLER_COORD_X;
+ yCoordType = BATTLER_COORD_Y;
}
else
{
- v1 = 2;
- v2 = 3;
+ xCoordType = BATTLER_COORD_X_2;
+ yCoordType = BATTLER_COORD_Y_PIC_OFFSET;
}
- v3 = GetBattlerSpriteCoord(battlerId, v1);
- v4 = GetBattlerSpriteCoord(battlerId, v2);
+
+ battlerX = GetBattlerSpriteCoord(battlerId, xCoordType);
+ battlerY = GetBattlerSpriteCoord(battlerId, yCoordType);
if (IsDoubleBattle() && !IsContest())
{
- v5 = GetBattlerSpriteCoord(BATTLE_PARTNER(battlerId), v1);
- v6 = GetBattlerSpriteCoord(BATTLE_PARTNER(battlerId), v2);
+ partnerX = GetBattlerSpriteCoord(BATTLE_PARTNER(battlerId), xCoordType);
+ partnerY = GetBattlerSpriteCoord(BATTLE_PARTNER(battlerId), yCoordType);
}
else
{
- v5 = v3;
- v6 = v4;
+ partnerX = battlerX;
+ partnerY = battlerY;
}
- *x = (v3 + v5) / 2;
- *y = (v4 + v6) / 2;
+
+ *x = (battlerX + partnerX) / 2;
+ *y = (battlerY + partnerY) / 2;
}
u8 sub_80A89C8(int battlerId, u8 spriteId, int species)
diff --git a/src/battle_anim_80A9C70.c b/src/battle_anim_80A9C70.c
index 2eea276a1..001f99d7f 100644
--- a/src/battle_anim_80A9C70.c
+++ b/src/battle_anim_80A9C70.c
@@ -71,8 +71,8 @@ u8 sub_80A9C70(u8 battlerId, bool8 b)
u8 spriteId2;
u8 i;
- LoadCompressedObjectPicUsingHeap(&gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_CIRCLE_IMPACT)]);
- LoadCompressedObjectPaletteUsingHeap(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_CIRCLE_IMPACT)]);
+ LoadCompressedSpriteSheetUsingHeap(&gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_CIRCLE_IMPACT)]);
+ LoadCompressedSpritePaletteUsingHeap(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_CIRCLE_IMPACT)]);
gTasks[taskId].data[0] = battlerId;
if (b)
{
diff --git a/src/battle_anim_8170478.c b/src/battle_anim_8170478.c
index 34898899c..502c4cdbb 100755
--- a/src/battle_anim_8170478.c
+++ b/src/battle_anim_8170478.c
@@ -1376,8 +1376,8 @@ static void sub_8171D60(u8 ballId)
if (GetSpriteTileStartByTag(gBallOpenParticleSpritesheets[ballId].tag) == 0xFFFF)
{
- LoadCompressedObjectPicUsingHeap(&gBallOpenParticleSpritesheets[ballId]);
- LoadCompressedObjectPaletteUsingHeap(&gBallOpenParticlePalettes[ballId]);
+ LoadCompressedSpriteSheetUsingHeap(&gBallOpenParticleSpritesheets[ballId]);
+ LoadCompressedSpritePaletteUsingHeap(&gBallOpenParticlePalettes[ballId]);
}
}
@@ -1971,7 +1971,7 @@ void sub_8172D98(u8 taskId)
switch (gTasks[taskId].data[15])
{
case 0:
- if (sub_80A8364(gBattleAnimAttacker) == B_POSITION_OPPONENT_LEFT)
+ if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == B_POSITION_OPPONENT_LEFT)
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL);
else
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG2 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL);
@@ -2032,8 +2032,8 @@ void sub_8172EF0(u8 battler, struct Pokemon *mon)
{
if (GetSpriteTileStartByTag(0x27F9) == 0xFFFF)
{
- LoadCompressedObjectPicUsingHeap(&gBattleAnimPicTable[233]);
- LoadCompressedObjectPaletteUsingHeap(&gBattleAnimPaletteTable[233]);
+ LoadCompressedSpriteSheetUsingHeap(&gBattleAnimPicTable[233]);
+ LoadCompressedSpritePaletteUsingHeap(&gBattleAnimPaletteTable[233]);
}
taskId1 = CreateTask(sub_8172FEC, 10);
@@ -2173,8 +2173,8 @@ void sub_81732B0(u8 taskId)
{
u8 paletteIndex;
- LoadCompressedObjectPicUsingHeap(&gBattleAnimPicTable[269]);
- LoadCompressedObjectPaletteUsingHeap(&gBattleAnimPaletteTable[269]);
+ LoadCompressedSpriteSheetUsingHeap(&gBattleAnimPicTable[269]);
+ LoadCompressedSpritePaletteUsingHeap(&gBattleAnimPaletteTable[269]);
paletteIndex = IndexOfSpritePaletteTag(0x281D); // unused
DestroyAnimVisualTask(taskId);
}
@@ -2188,7 +2188,7 @@ void sub_81732E4(u8 taskId)
static void sub_817330C(struct Sprite *sprite)
{
- InitAnimSpritePos(sprite, 0);
+ InitSpritePosToAnimAttacker(sprite, 0);
sprite->data[0] = 30;
sprite->data[2] = GetBattlerSpriteCoord(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), 0) + gBattleAnimArgs[2];
sprite->data[4] = GetBattlerSpriteCoord(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), 1) + gBattleAnimArgs[3];
diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c
index 3b1b49e34..e37d2b5b8 100644
--- a/src/battle_anim_effects_1.c
+++ b/src/battle_anim_effects_1.c
@@ -19,28 +19,28 @@
EWRAM_DATA s16 gUnknown_0203A0F8[4] = {0};
void AnimMovePowderParticle(struct Sprite *);
-void sub_80FE8E0(struct Sprite *);
-void sub_80FE930(struct Sprite *);
-void sub_80FE988(struct Sprite *);
-void sub_80FEAD8(struct Sprite *);
-void sub_80FEB44(struct Sprite *);
-void sub_80FED28(struct Sprite *);
-void sub_80FEE78(struct Sprite *);
-void sub_80FEF44(struct Sprite *);
-void sub_80FEFFC(struct Sprite *);
+void AnimPowerAbsorptionOrb(struct Sprite *);
+void AnimSolarbeamBigOrb(struct Sprite *);
+void AnimSolarbeamSmallOrb(struct Sprite *);
+void AnimAbsorptionOrb(struct Sprite *);
+void AnimHyperBeamOrb(struct Sprite *);
+void AnimSporeParticle(struct Sprite *);
+void AnimPetalDanceBigFlower(struct Sprite *);
+void AnimPetalDanceSmallFlower(struct Sprite *);
+void AnimRazorLeafParticle(struct Sprite *);
void AnimLeechSeed(struct Sprite *);
void AnimTranslateLinearSingleSineWave(struct Sprite *);
void AnimMoveTwisterParticle(struct Sprite *);
-void sub_80FF374(struct Sprite *);
-void sub_80FF698(struct Sprite *);
-void sub_80FF768(struct Sprite *);
-void sub_80FF7EC(struct Sprite *);
-void sub_80FF934(struct Sprite *);
-void sub_80FFB18(struct Sprite *);
-void sub_80FFBF4(struct Sprite *);
-void sub_80FFC70(struct Sprite *);
-void sub_80FFCB4(struct Sprite *);
-void sub_80FFDBC(struct Sprite *);
+void AnimConstrictBinding(struct Sprite *);
+void AnimMimicOrb(struct Sprite *);
+void AnimIngrainRoot(struct Sprite *);
+void AnimFrenzyPlantRoot(struct Sprite *);
+void AnimIngrainOrb(struct Sprite *);
+void AnimPresent(struct Sprite *);
+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 sub_81009F8(struct Sprite *);
@@ -79,27 +79,27 @@ void sub_8103208(struct Sprite *);
void sub_8103284(struct Sprite *);
void sub_8103390(struct Sprite *);
static void AnimMovePowderParticleStep(struct Sprite *);
-static void sub_80FE9E4(struct Sprite *);
-static void sub_80FEB28(struct Sprite *);
-static void sub_80FEBFC(struct Sprite *);
+static void AnimSolarbeamSmallOrbStep(struct Sprite *);
+static void AnimAbsorptionOrbStep(struct Sprite *);
+static void AnimHyperBeamOrbStep(struct Sprite *);
static void AnimLeechSeedStep(struct Sprite *);
static void AnimLeechSeedSprouts(struct Sprite *);
-static void sub_80FED74(struct Sprite *);
-static void sub_80FEECC(struct Sprite *);
-static void sub_80FEF98(struct Sprite *);
-static void sub_80FF044(struct Sprite *);
-static void sub_80FF090(struct Sprite *);
+static void AnimSporeParticleStep(struct Sprite *);
+static void AnimPetalDanceBigFlowerStep(struct Sprite *);
+static void AnimPetalDanceSmallFlowerStep(struct Sprite *);
+static void AnimRazorLeafParticleStep1(struct Sprite *);
+static void AnimRazorLeafParticleStep2(struct Sprite *);
static void AnimTranslateLinearSingleSineWaveStep(struct Sprite *);
static void AnimMoveTwisterParticleStep(struct Sprite *);
-static void sub_80FF3B0(struct Sprite *);
-static void sub_80FF3EC(struct Sprite *);
+static void AnimConstrictBindingStep1(struct Sprite *);
+static void AnimConstrictBindingStep2(struct Sprite *);
static void sub_80FF53C(u8);
static void sub_80FF5CC(u8);
-static void sub_80FFD2C(struct Sprite *);
-static void sub_80FF8DC(struct Sprite *);
-static void sub_80FFE58(struct Sprite *);
-static void sub_80FFEC4(struct Sprite *);
-static void sub_80FFF7C(struct Sprite *);
+static void AnimItemStealStep(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);
@@ -285,7 +285,7 @@ const union AffineAnimCmd *const gUnknown_085921DC[] = {
gUnknown_085921CC,
};
-const struct SpriteTemplate gUnknown_085921E0 =
+const struct SpriteTemplate gPowerAbsorptionOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_ORBS,
.paletteTag = ANIM_TAG_ORBS,
@@ -293,10 +293,10 @@ const struct SpriteTemplate gUnknown_085921E0 =
.anims = gUnknown_085921C8,
.images = NULL,
.affineAnims = gUnknown_085921DC,
- .callback = sub_80FE8E0,
+ .callback = AnimPowerAbsorptionOrb,
};
-const struct SpriteTemplate gUnknown_085921F8 =
+const struct SpriteTemplate gSolarbeamBigOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_ORBS,
.paletteTag = ANIM_TAG_ORBS,
@@ -304,10 +304,10 @@ const struct SpriteTemplate gUnknown_085921F8 =
.anims = gUnknown_085921A8,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80FE930,
+ .callback = AnimSolarbeamBigOrb,
};
-const struct SpriteTemplate gUnknown_08592210 =
+const struct SpriteTemplate gSolarbeamSmallOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_ORBS,
.paletteTag = ANIM_TAG_ORBS,
@@ -315,7 +315,7 @@ const struct SpriteTemplate gUnknown_08592210 =
.anims = gUnknown_085921C4,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80FE988,
+ .callback = AnimSolarbeamSmallOrb,
};
const union AffineAnimCmd gUnknown_08592228[] = {
@@ -328,7 +328,7 @@ const union AffineAnimCmd *const gUnknown_08592240[] = {
gUnknown_08592228,
};
-const struct SpriteTemplate gUnknown_08592244 =
+const struct SpriteTemplate gStockpileAbsorptionOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_GRAY_ORB,
.paletteTag = ANIM_TAG_GRAY_ORB,
@@ -336,7 +336,7 @@ const struct SpriteTemplate gUnknown_08592244 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08592240,
- .callback = sub_80FE8E0,
+ .callback = AnimPowerAbsorptionOrb,
};
const union AffineAnimCmd gUnknown_0859225C[] = {
@@ -348,7 +348,7 @@ const union AffineAnimCmd *const gUnknown_0859226C[] = {
gUnknown_0859225C,
};
-const struct SpriteTemplate gUnknown_08592270 =
+const struct SpriteTemplate gAbsorptionOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_ORBS,
.paletteTag = ANIM_TAG_ORBS,
@@ -356,10 +356,10 @@ const struct SpriteTemplate gUnknown_08592270 =
.anims = gUnknown_085921C8,
.images = NULL,
.affineAnims = gUnknown_0859226C,
- .callback = sub_80FEAD8,
+ .callback = AnimAbsorptionOrb,
};
-const struct SpriteTemplate gUnknown_08592288 =
+const struct SpriteTemplate gHyperBeamOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_ORBS,
.paletteTag = ANIM_TAG_ORBS,
@@ -367,7 +367,7 @@ const struct SpriteTemplate gUnknown_08592288 =
.anims = gUnknown_085921A8,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80FEB44,
+ .callback = AnimHyperBeamOrb,
};
const union AnimCmd gUnknown_085922A0[] =
@@ -418,7 +418,7 @@ const union AnimCmd *const gUnknown_085922E4[] =
gUnknown_085922DC,
};
-const struct SpriteTemplate gUnknown_085922EC =
+const struct SpriteTemplate gSporeParticleSpriteTemplate =
{
.tileTag = ANIM_TAG_SPORE,
.paletteTag = ANIM_TAG_SPORE,
@@ -426,7 +426,7 @@ const struct SpriteTemplate gUnknown_085922EC =
.anims = gUnknown_085922E4,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80FED28,
+ .callback = AnimSporeParticle,
};
const union AnimCmd gUnknown_08592304[] =
@@ -451,7 +451,7 @@ const union AnimCmd *const gUnknown_08592318[] =
gUnknown_0859230C,
};
-const struct SpriteTemplate gUnknown_0859231C =
+const struct SpriteTemplate gPetalDanceBigFlowerSpriteTemplate =
{
.tileTag = ANIM_TAG_FLOWER,
.paletteTag = ANIM_TAG_FLOWER,
@@ -459,10 +459,10 @@ const struct SpriteTemplate gUnknown_0859231C =
.anims = gUnknown_08592314,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80FEE78,
+ .callback = AnimPetalDanceBigFlower,
};
-const struct SpriteTemplate gUnknown_08592334 =
+const struct SpriteTemplate gPetalDanceSmallFlowerSpriteTemplate =
{
.tileTag = ANIM_TAG_FLOWER,
.paletteTag = ANIM_TAG_FLOWER,
@@ -470,7 +470,7 @@ const struct SpriteTemplate gUnknown_08592334 =
.anims = gUnknown_08592318,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80FEF44,
+ .callback = AnimPetalDanceSmallFlower,
};
const union AnimCmd gUnknown_0859234C[] =
@@ -502,7 +502,7 @@ const union AnimCmd *const gUnknown_08592388[] =
gUnknown_08592378,
};
-const struct SpriteTemplate gUnknown_08592390 =
+const struct SpriteTemplate gRazorLeafParticleSpriteTemplate =
{
.tileTag = ANIM_TAG_LEAF,
.paletteTag = ANIM_TAG_LEAF,
@@ -510,10 +510,10 @@ const struct SpriteTemplate gUnknown_08592390 =
.anims = gUnknown_08592388,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80FEFFC,
+ .callback = AnimRazorLeafParticle,
};
-const struct SpriteTemplate gUnknown_085923A8 =
+const struct SpriteTemplate gTwisterLeafParticleSpriteTemplate =
{
.tileTag = ANIM_TAG_LEAF,
.paletteTag = ANIM_TAG_LEAF,
@@ -538,7 +538,7 @@ const union AnimCmd *const gUnknown_085923D4[] =
gUnknown_085923C0,
};
-const struct SpriteTemplate gUnknown_085923D8 =
+const struct SpriteTemplate gRazorLeafCutterSpriteTemplate =
{
.tileTag = ANIM_TAG_RAZOR_LEAF,
.paletteTag = ANIM_TAG_RAZOR_LEAF,
@@ -594,14 +594,14 @@ const union AnimCmd *const gUnknown_08592444[] =
};
const union AffineAnimCmd gUnknown_0859244C[] = {
- AFFINEANIMCMD_FRAME(256, 256, 0, 0),
+ 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[] = {
- AFFINEANIMCMD_FRAME(-256, 256, 0, 0),
+ AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0),
AFFINEANIMCMD_FRAME(11, 0, 0, 6),
AFFINEANIMCMD_FRAME(-11, 0, 0, 6),
AFFINEANIMCMD_END,
@@ -612,7 +612,7 @@ const union AffineAnimCmd *const gUnknown_0859248C[] = {
gUnknown_0859246C,
};
-const struct SpriteTemplate gUnknown_08592494 =
+const struct SpriteTemplate gConstrictBindingSpriteTemplate =
{
.tileTag = ANIM_TAG_TENDRILS,
.paletteTag = ANIM_TAG_TENDRILS,
@@ -620,7 +620,7 @@ const struct SpriteTemplate gUnknown_08592494 =
.anims = gUnknown_08592444,
.images = NULL,
.affineAnims = gUnknown_0859248C,
- .callback = sub_80FF374,
+ .callback = AnimConstrictBinding,
};
const union AffineAnimCmd gUnknown_085924AC[] = {
@@ -639,7 +639,7 @@ const union AffineAnimCmd *const gUnknown_085924D4[] = {
gUnknown_085924C4,
};
-const struct SpriteTemplate gUnknown_085924DC =
+const struct SpriteTemplate gMimicOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_ORBS,
.paletteTag = ANIM_TAG_ORBS,
@@ -647,7 +647,7 @@ const struct SpriteTemplate gUnknown_085924DC =
.anims = gUnknown_085921C8,
.images = NULL,
.affineAnims = gUnknown_085924D4,
- .callback = sub_80FF698,
+ .callback = AnimMimicOrb,
};
const union AnimCmd gUnknown_085924F4[] =
@@ -692,7 +692,7 @@ const union AnimCmd *const gUnknown_0859253C[] =
gUnknown_0859252C,
};
-const struct SpriteTemplate gUnknown_0859254C =
+const struct SpriteTemplate gIngrainRootSpriteTemplate =
{
.tileTag = ANIM_TAG_ROOTS,
.paletteTag = ANIM_TAG_ROOTS,
@@ -700,10 +700,10 @@ const struct SpriteTemplate gUnknown_0859254C =
.anims = gUnknown_0859253C,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80FF768,
+ .callback = AnimIngrainRoot,
};
-const struct SpriteTemplate gUnknown_08592564 =
+const struct SpriteTemplate gFrenzyPlantRootSpriteTemplate =
{
.tileTag = ANIM_TAG_ROOTS,
.paletteTag = ANIM_TAG_ROOTS,
@@ -711,7 +711,7 @@ const struct SpriteTemplate gUnknown_08592564 =
.anims = gUnknown_0859253C,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80FF7EC,
+ .callback = AnimFrenzyPlantRoot,
};
const union AnimCmd gUnknown_0859257C[] =
@@ -726,7 +726,7 @@ const union AnimCmd *const gUnknown_08592588[] =
gUnknown_0859257C,
};
-const struct SpriteTemplate gUnknown_0859258C =
+const struct SpriteTemplate gIngrainOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_ORBS,
.paletteTag = ANIM_TAG_ORBS,
@@ -734,7 +734,7 @@ const struct SpriteTemplate gUnknown_0859258C =
.anims = gUnknown_08592588,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80FF934,
+ .callback = AnimIngrainOrb,
};
const union AnimCmd gUnknown_085925A4[] =
@@ -770,7 +770,7 @@ const union AffineAnimCmd *const gUnknown_08592608[] = {
gUnknown_085925D0,
};
-const struct SpriteTemplate gUnknown_08592610 =
+const struct SpriteTemplate gPresentSpriteTemplate =
{
.tileTag = ANIM_TAG_ITEM_BAG,
.paletteTag = ANIM_TAG_ITEM_BAG,
@@ -778,10 +778,10 @@ const struct SpriteTemplate gUnknown_08592610 =
.anims = gUnknown_085925AC,
.images = NULL,
.affineAnims = gUnknown_08592608,
- .callback = sub_80FFB18,
+ .callback = AnimPresent,
};
-const struct SpriteTemplate gBattleAnimSpriteTemplate_8592628 =
+const struct SpriteTemplate gKnockOffItemSpriteTemplate =
{
.tileTag = ANIM_TAG_ITEM_BAG,
.paletteTag = ANIM_TAG_ITEM_BAG,
@@ -789,7 +789,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8592628 =
.anims = gUnknown_085925AC,
.images = NULL,
.affineAnims = gUnknown_08592608,
- .callback = sub_80FFBF4,
+ .callback = AnimKnockOffItem,
};
const union AnimCmd gUnknown_08592640[] =
@@ -806,7 +806,7 @@ const union AnimCmd *const gUnknown_08592654[] =
gUnknown_08592640,
};
-const struct SpriteTemplate gUnknown_08592658 =
+const struct SpriteTemplate gPresentHealParticleSpriteTemplate =
{
.tileTag = ANIM_TAG_GREEN_SPARKLE,
.paletteTag = ANIM_TAG_GREEN_SPARKLE,
@@ -814,10 +814,10 @@ const struct SpriteTemplate gUnknown_08592658 =
.anims = gUnknown_08592654,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80FFC70,
+ .callback = AnimPresentHealParticle,
};
-const struct SpriteTemplate gUnknown_08592670 =
+const struct SpriteTemplate gItemStealSpriteTemplate =
{
.tileTag = ANIM_TAG_ITEM_BAG,
.paletteTag = ANIM_TAG_ITEM_BAG,
@@ -825,7 +825,7 @@ const struct SpriteTemplate gUnknown_08592670 =
.anims = gUnknown_085925AC,
.images = NULL,
.affineAnims = gUnknown_08592608,
- .callback = sub_80FFCB4,
+ .callback = AnimItemSteal,
};
const union AffineAnimCmd gUnknown_08592688[] = {
@@ -851,7 +851,7 @@ const union AffineAnimCmd *const gUnknown_085926D8[] = {
gUnknown_085925D0,
};
-const struct SpriteTemplate gUnknown_085926E8 =
+const struct SpriteTemplate gTrickBagSpriteTemplate =
{
.tileTag = ANIM_TAG_ITEM_BAG,
.paletteTag = ANIM_TAG_ITEM_BAG,
@@ -859,7 +859,7 @@ const struct SpriteTemplate gUnknown_085926E8 =
.anims = gUnknown_085925AC,
.images = NULL,
.affineAnims = gUnknown_085926D8,
- .callback = sub_80FFDBC,
+ .callback = AnimTrickBag,
};
const s8 gUnknown_08592700[][3] =
@@ -2219,44 +2219,59 @@ static void AnimMovePowderParticleStep(struct Sprite* sprite)
}
}
-void sub_80FE8E0(struct Sprite* sprite)
+// Moves an energy orb towards the center of the mon.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: duration
+void AnimPowerAbsorptionOrb(struct Sprite* sprite)
{
- InitAnimSpritePos(sprite, 1);
+ InitSpritePosToAnimAttacker(sprite, TRUE);
sprite->data[0] = gBattleAnimArgs[2];
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
sprite->callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
}
-void sub_80FE930(struct Sprite* sprite)
+// Moves an orb in a straight line towards the target mon.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: duration
+// arg 3: sprite anim number
+void AnimSolarbeamBigOrb(struct Sprite* sprite)
{
- InitAnimSpritePos(sprite, 1);
+ InitSpritePosToAnimAttacker(sprite, TRUE);
StartSpriteAnim(sprite, gBattleAnimArgs[3]);
sprite->data[0] = gBattleAnimArgs[2];
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
sprite->callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
-void sub_80FE988(struct Sprite* sprite)
+// Moves a small orb in a wavy pattern towards the target mon.
+// The small orb "circles" the big orbs in AnimSolarbeamBigOrb.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: duration
+// arg 3: initial wave offset
+void AnimSolarbeamSmallOrb(struct Sprite* sprite)
{
- InitAnimSpritePos(sprite, 1);
+ InitSpritePosToAnimAttacker(sprite, TRUE);
sprite->data[0] = gBattleAnimArgs[2];
sprite->data[1] = sprite->pos1.x;
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
sprite->data[3] = sprite->pos1.y;
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
InitAnimLinearTranslation(sprite);
sprite->data[5] = gBattleAnimArgs[3];
- sprite->callback = sub_80FE9E4;
+ sprite->callback = AnimSolarbeamSmallOrbStep;
sprite->callback(sprite);
}
-static void sub_80FE9E4(struct Sprite* sprite)
+static void AnimSolarbeamSmallOrbStep(struct Sprite* sprite)
{
- if (TranslateAnimLinear(sprite))
+ if (AnimTranslateLinear(sprite))
{
DestroySprite(sprite);
}
@@ -2273,10 +2288,12 @@ static void sub_80FE9E4(struct Sprite* sprite)
}
}
-void sub_80FEA58(u8 taskId)
+// Creates 15 small secondary orbs used in the solarbeam anim effect.
+// There is a 7-frame delay between each of them.
+// No args.
+void AnimTask_CreateSmallSolarbeamOrbs(u8 taskId)
{
- gTasks[taskId].data[0]--;
- if (gTasks[taskId].data[0] == -1)
+ if (--gTasks[taskId].data[0] == -1)
{
gTasks[taskId].data[1]++;
gTasks[taskId].data[0] = 6;
@@ -2284,63 +2301,66 @@ void sub_80FEA58(u8 taskId)
gBattleAnimArgs[1] = 0;
gBattleAnimArgs[2] = 80;
gBattleAnimArgs[3] = 0;
- CreateSpriteAndAnimate(&gUnknown_08592210, 0, 0, GetBattlerSpriteSubpriority(gBattleAnimTarget) + 1);
+ CreateSpriteAndAnimate(&gSolarbeamSmallOrbSpriteTemplate, 0, 0, GetBattlerSpriteSubpriority(gBattleAnimTarget) + 1);
}
if (gTasks[taskId].data[1] == 15)
DestroyAnimVisualTask(taskId);
}
-void sub_80FEAD8(struct Sprite* sprite)
+// Moves an orb from the target mon to the attacking mon in an arc-like fashion.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: wave amplitude
+// arg 3: wave period (lower means faster wave)
+void AnimAbsorptionOrb(struct Sprite* sprite)
{
- sub_80A6980(sprite, TRUE);
+ InitSpritePosToAnimTarget(sprite, TRUE);
sprite->data[0] = gBattleAnimArgs[3];
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
sprite->data[5] = gBattleAnimArgs[2];
InitAnimArcTranslation(sprite);
- sprite->callback = sub_80FEB28;
+ sprite->callback = AnimAbsorptionOrbStep;
}
-static void sub_80FEB28(struct Sprite* sprite)
+static void AnimAbsorptionOrbStep(struct Sprite* sprite)
{
if (TranslateAnimArc(sprite))
DestroyAnimSprite(sprite);
}
-void sub_80FEB44(struct Sprite* sprite)
+// Moves an orb in a wave-like fashion towards the target mon. The wave's
+// properties and the sprite anim are randomly determined.
+void AnimHyperBeamOrb(struct Sprite* sprite)
{
- u16 a = Random2();
- u16 b;
+ u16 speed;
+ u16 animNum = Random2();
- StartSpriteAnim(sprite, a & 7);
- sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
- if (GetBattlerSide(gBattleAnimAttacker))
- {
+ StartSpriteAnim(sprite, animNum % 8);
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
sprite->pos1.x -= 20;
- }
else
- {
sprite->pos1.x += 20;
- }
- b = Random2();
- sprite->data[0] = (b & 31) + 64;
+ speed = Random2();
+ sprite->data[0] = (speed & 31) + 64;
sprite->data[1] = sprite->pos1.x;
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
sprite->data[3] = sprite->pos1.y;
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
- sub_80A7160(sprite);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
+ InitAnimFastLinearTranslationWithSpeed(sprite);
sprite->data[5] = Random2() & 0xFF;
sprite->data[6] = sprite->subpriority;
- sprite->callback = sub_80FEBFC;
+ sprite->callback = AnimHyperBeamOrbStep;
sprite->callback(sprite);
}
-static void sub_80FEBFC(struct Sprite* sprite)
+static void AnimHyperBeamOrbStep(struct Sprite* sprite)
{
- if (sub_80A70E8(sprite))
+ if (AnimFastTranslateLinear(sprite))
{
DestroyAnimSprite(sprite);
}
@@ -2352,7 +2372,8 @@ static void sub_80FEBFC(struct Sprite* sprite)
else
sprite->subpriority = sprite->data[6] + 1;
- sprite->data[5] = (sprite->data[5] + 24) & 0xFF;
+ sprite->data[5] += 24;
+ sprite->data[5] &= 0xFF;
}
}
@@ -2366,13 +2387,13 @@ static void sub_80FEBFC(struct Sprite* sprite)
// arg 5: wave amplitude
void AnimLeechSeed(struct Sprite* sprite)
{
- InitAnimSpritePos(sprite, 1);
- if (GetBattlerSide(gBattleAnimAttacker))
+ InitSpritePosToAnimAttacker(sprite, TRUE);
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
sprite->data[0] = gBattleAnimArgs[4];
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 0) + gBattleAnimArgs[2];
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + gBattleAnimArgs[3];
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X) + gBattleAnimArgs[2];
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) + gBattleAnimArgs[3];
sprite->data[5] = gBattleAnimArgs[5];
InitAnimArcTranslation(sprite);
sprite->callback = AnimLeechSeedStep;
@@ -2398,42 +2419,54 @@ static void AnimLeechSeedSprouts(struct Sprite* sprite)
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
-void sub_80FED28(struct Sprite* sprite)
+// Moves a spore particle in a halo around the target mon.
+// The sprite's priority is updated to give the effect of going
+// behind the mon's sprite.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: initial wave offset
+// arg 3: duration
+// arg 4: blend (0 = off, 1 = on)
+void AnimSporeParticle(struct Sprite* sprite)
{
- sub_80A6980(sprite, TRUE);
+ InitSpritePosToAnimTarget(sprite, TRUE);
StartSpriteAnim(sprite, gBattleAnimArgs[4]);
if (gBattleAnimArgs[4] == 1)
sprite->oam.objMode = ST_OAM_OBJ_BLEND;
sprite->data[0] = gBattleAnimArgs[3];
sprite->data[1] = gBattleAnimArgs[2];
- sprite->callback = sub_80FED74;
+ sprite->callback = AnimSporeParticleStep;
sprite->callback(sprite);
}
-static void sub_80FED74(struct Sprite* sprite)
+static void AnimSporeParticleStep(struct Sprite* sprite)
{
sprite->pos2.x = Sin(sprite->data[1], 32);
sprite->pos2.y = Cos(sprite->data[1], -3) + ((sprite->data[2] += 24) >> 8);
if ((u16)(sprite->data[1] - 0x40) < 0x80)
{
- sprite->oam.priority = (sub_80A8328(gBattleAnimTarget) & 3);
+ sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimTarget);
}
else
{
- u8 priority = sub_80A8328(gBattleAnimTarget) + 1;
+ u8 priority = GetBattlerSpriteBGPriority(gBattleAnimTarget) + 1;
if (priority > 3)
priority = 3;
sprite->oam.priority = priority;
}
- sprite->data[1] = (sprite->data[1] + 2) & 0xFF;
+ sprite->data[1] += 2;
+ sprite->data[1] &= 0xFF;
if (--sprite->data[0] == -1)
DestroyAnimSprite(sprite);
}
-void sub_80FEE1C(u8 taskId)
+// In a double battle, Updates the mon sprite background priorities to allow
+// the circling effect controlled by AnimSporeParticle.
+// No args.
+void AnimTask_SporeDoubleBattle(u8 taskId)
{
if (IsContest() || !IsDoubleBattle())
{
@@ -2441,7 +2474,7 @@ void sub_80FEE1C(u8 taskId)
}
else
{
- if (sub_80A8364(gBattleAnimTarget) == 1)
+ if (GetBattlerSpriteBGPriorityRank(gBattleAnimTarget) == 1)
SetAnimBgAttribute(2, BG_ANIM_PRIORITY, 3);
else
SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1);
@@ -2450,23 +2483,29 @@ void sub_80FEE1C(u8 taskId)
}
}
-void sub_80FEE78(struct Sprite* sprite)
+// Rotates a big flower around the attacking mon, and slowly floats
+// downward.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: target y pixel offset
+// arg 3: duration
+void AnimPetalDanceBigFlower(struct Sprite* sprite)
{
- InitAnimSpritePos(sprite, 0);
+ InitSpritePosToAnimAttacker(sprite, FALSE);
sprite->data[0] = gBattleAnimArgs[3];
sprite->data[1] = sprite->pos1.x;
sprite->data[2] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[2];
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[2];
InitAnimLinearTranslation(sprite);
sprite->data[5] = 0x40;
- sprite->callback = sub_80FEECC;
+ sprite->callback = AnimPetalDanceBigFlowerStep;
sprite->callback(sprite);
}
-static void sub_80FEECC(struct Sprite* sprite)
+static void AnimPetalDanceBigFlowerStep(struct Sprite* sprite)
{
- if (!TranslateAnimLinear(sprite))
+ if (!AnimTranslateLinear(sprite))
{
sprite->pos2.x += Sin(sprite->data[5], 32);
sprite->pos2.y += Cos(sprite->data[5], -5);
@@ -2483,9 +2522,14 @@ static void sub_80FEECC(struct Sprite* sprite)
}
}
-void sub_80FEF44(struct Sprite* sprite)
+// Slowly floats a small flower downard, while swaying from right to left.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: target y pixel offset
+// arg 3: duration
+void AnimPetalDanceSmallFlower(struct Sprite* sprite)
{
- InitAnimSpritePos(sprite, 1);
+ InitSpritePosToAnimAttacker(sprite, TRUE);
sprite->data[0] = gBattleAnimArgs[3];
sprite->data[1] = sprite->pos1.x;
sprite->data[2] = sprite->pos1.x;
@@ -2493,19 +2537,20 @@ void sub_80FEF44(struct Sprite* sprite)
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[2];
InitAnimLinearTranslation(sprite);
sprite->data[5] = 0x40;
- sprite->callback = sub_80FEF98;
+ sprite->callback = AnimPetalDanceSmallFlowerStep;
sprite->callback(sprite);
}
-static void sub_80FEF98(struct Sprite* sprite)
+static void AnimPetalDanceSmallFlowerStep(struct Sprite* sprite)
{
- if (!TranslateAnimLinear(sprite))
+ if (!AnimTranslateLinear(sprite))
{
sprite->pos2.x += Sin(sprite->data[5], 8);
if ((u16)(sprite->data[5] - 59) < 5 || (u16)(sprite->data[5] - 187) < 5)
- sprite->oam.matrixNum ^= 0x8;
+ sprite->oam.matrixNum ^= 0x8; // horizontal flip
- sprite->data[5] = (sprite->data[5] + 5) & 0xFF;
+ sprite->data[5] += 5;
+ sprite->data[5] &= 0xFF;
}
else
{
@@ -2513,17 +2558,21 @@ static void sub_80FEF98(struct Sprite* sprite)
}
}
-void sub_80FEFFC(struct Sprite* sprite)
+// Shoots a leaf upward, then floats it downward while swaying back and forth.
+// arg 0: upward x delta per frame
+// arg 1: upward y delta per frame
+// arg 2: upward duration
+void AnimRazorLeafParticle(struct Sprite* sprite)
{
- sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
sprite->data[0] = gBattleAnimArgs[0];
sprite->data[1] = gBattleAnimArgs[1];
sprite->data[2] = gBattleAnimArgs[2];
- sprite->callback = sub_80FF044;
+ sprite->callback = AnimRazorLeafParticleStep1;
}
-static void sub_80FF044(struct Sprite* sprite)
+static void AnimRazorLeafParticleStep1(struct Sprite* sprite)
{
if (!sprite->data[2])
{
@@ -2535,11 +2584,11 @@ static void sub_80FF044(struct Sprite* sprite)
}
else
{
- sprite->data[0] = sprite->data[1] & 1;
- sprite->data[1] = sprite->data[1] & 1;
- sprite->data[2] = sprite->data[1] & 1;
+ sprite->data[0] = 0;
+ sprite->data[1] = 0;
+ sprite->data[2] = 0;
}
- sprite->callback = sub_80FF090;
+ sprite->callback = AnimRazorLeafParticleStep2;
}
else
{
@@ -2549,14 +2598,15 @@ static void sub_80FF044(struct Sprite* sprite)
}
}
-static void sub_80FF090(struct Sprite* sprite)
+static void AnimRazorLeafParticleStep2(struct Sprite* sprite)
{
if (GetBattlerSide(gBattleAnimAttacker))
sprite->pos2.x = -Sin(sprite->data[0], 25);
else
sprite->pos2.x = Sin(sprite->data[0], 25);
- sprite->data[0] = (sprite->data[0] + 2) & 0xFF;
+ sprite->data[0] += 2;
+ sprite->data[0] &= 0xFF;
sprite->data[1]++;
if (!(sprite->data[1] & 1))
sprite->pos2.y++;
@@ -2577,19 +2627,19 @@ static void sub_80FF090(struct Sprite* sprite)
// arg 6: target between double battle opponents (boolean)
void AnimTranslateLinearSingleSineWave(struct Sprite* sprite)
{
- InitAnimSpritePos(sprite, 1);
+ InitSpritePosToAnimAttacker(sprite, TRUE);
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
sprite->data[0] = gBattleAnimArgs[4];
if (!gBattleAnimArgs[6])
{
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2];
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[2];
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3];
}
else
{
- SetAverageBattlerPositions(gBattleAnimTarget, 1, &sprite->data[2], &sprite->data[4]);
+ SetAverageBattlerPositions(gBattleAnimTarget, TRUE, &sprite->data[2], &sprite->data[4]);
sprite->data[2] += gBattleAnimArgs[2];
sprite->data[4] += gBattleAnimArgs[3];
}
@@ -2676,38 +2726,45 @@ static void AnimMoveTwisterParticleStep(struct Sprite* sprite)
sprite->pos2.x = Cos(sprite->data[5], sprite->data[3]);
sprite->pos2.y = Sin(sprite->data[5], 5);
if (sprite->data[5] < 0x80)
- sprite->oam.priority = sub_80A8328(gBattleAnimTarget) - 1;
+ sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimTarget) - 1;
else
- sprite->oam.priority = sub_80A8328(gBattleAnimTarget) + 1;
+ sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimTarget) + 1;
if (--sprite->data[0] == 0)
DestroyAnimSprite(sprite);
}
-void sub_80FF374(struct Sprite* sprite)
+// Squeezes a constricting "rope" several times via affine animations.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: affine anim num
+// arg 3: num squeezes
+void AnimConstrictBinding(struct Sprite* sprite)
{
- sub_80A6980(sprite, FALSE);
+ InitSpritePosToAnimTarget(sprite, FALSE);
sprite->affineAnimPaused = 1;
StartSpriteAffineAnim(sprite, gBattleAnimArgs[2]);
sprite->data[6] = gBattleAnimArgs[2];
sprite->data[7] = gBattleAnimArgs[3];
- sprite->callback = sub_80FF3B0;
+ sprite->callback = AnimConstrictBindingStep1;
}
-static void sub_80FF3B0(struct Sprite* sprite)
+static void AnimConstrictBindingStep1(struct Sprite* sprite)
{
+ u8 spriteId;
+
if ((u16)gBattleAnimArgs[7] == 0xFFFF)
{
sprite->affineAnimPaused = 0;
- GetAnimBattlerSpriteId(1);
+ spriteId = GetAnimBattlerSpriteId(ANIM_TARGET);
sprite->data[0] = 0x100;
- sprite->callback = sub_80FF3EC;
+ sprite->callback = AnimConstrictBindingStep2;
}
}
-static void sub_80FF3EC(struct Sprite* sprite)
+static void AnimConstrictBindingStep2(struct Sprite* sprite)
{
- GetAnimBattlerSpriteId(1);
+ u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET);
if (!sprite->data[2])
sprite->data[0] += 11;
else
@@ -2739,23 +2796,23 @@ void sub_80FF458(u8 taskId)
{
PrepareBattlerSpriteForRotScale(spriteId, ST_OAM_OBJ_BLEND);
gTasks[taskId].data[14] = gSprites[spriteId].oam.priority;
- gSprites[spriteId].oam.priority = sub_80A8328(gBattleAnimTarget);
+ gSprites[spriteId].oam.priority = GetBattlerSpriteBGPriority(gBattleAnimTarget);
spriteId = GetAnimBattlerSpriteId(ANIM_DEF_PARTNER);
gTasks[taskId].data[15] = gSprites[spriteId].oam.priority;
- gSprites[spriteId].oam.priority = sub_80A8328(BATTLE_PARTNER(gBattleAnimTarget));
+ gSprites[spriteId].oam.priority = GetBattlerSpriteBGPriority(BATTLE_PARTNER(gBattleAnimTarget));
gTasks[taskId].data[0] = gBattleAnimArgs[0];
gTasks[taskId].data[1] = gBattleAnimArgs[1];
- gTasks[taskId].data[11] = 256;
+ gTasks[taskId].data[11] = 0x100;
gTasks[taskId].func = sub_80FF53C;
}
}
static void sub_80FF53C(u8 taskId)
{
- u8 spriteId = GetAnimBattlerSpriteId(1);
+ u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET);
gTasks[taskId].data[10] += gTasks[taskId].data[0];
gSprites[spriteId].pos2.x = gTasks[taskId].data[10] >> 8;
- if (GetBattlerSide(gBattleAnimTarget))
+ if (GetBattlerSide(gBattleAnimTarget) != B_SIDE_PLAYER)
gSprites[spriteId].pos2.x = -gSprites[spriteId].pos2.x;
gTasks[taskId].data[11] += 16;
@@ -2796,7 +2853,10 @@ static void sub_80FF5CC(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void sub_80FF698(struct Sprite* sprite)
+// Moves an orb from the target mon to the attacking mon.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+void AnimMimicOrb(struct Sprite* sprite)
{
switch (sprite->data[0])
{
@@ -2804,8 +2864,8 @@ void sub_80FF698(struct Sprite* sprite)
if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
gBattleAnimArgs[0] *= -1;
- sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0) + gBattleAnimArgs[0];
- sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + gBattleAnimArgs[1];
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X) + gBattleAnimArgs[0];
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) + gBattleAnimArgs[1];
sprite->invisible = 1;
sprite->data[0]++;
break;
@@ -2815,21 +2875,27 @@ void sub_80FF698(struct Sprite* sprite)
{
ChangeSpriteAffineAnim(sprite, 1);
sprite->data[0] = 25;
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
- sprite->callback = sub_80A70C0;
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
+ sprite->callback = InitAndRunAnimFastLinearTranslation;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
break;
}
}
}
-void sub_80FF768(struct Sprite* sprite)
+// Animates a root that flickers away after some time.
+// arg 0: x pixel offset
+// arg 1: y pixel offset
+// arg 2: sprite subpriority offset
+// arg 3: sprite anim num
+// arg 4: duration
+void AnimIngrainRoot(struct Sprite* sprite)
{
if (!sprite->data[0])
{
- sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y);
sprite->pos2.x = gBattleAnimArgs[0];
sprite->pos2.y = gBattleAnimArgs[1];
sprite->subpriority = gBattleAnimArgs[2] + 30;
@@ -2839,33 +2905,40 @@ void sub_80FF768(struct Sprite* sprite)
if (sprite->pos1.y + sprite->pos2.y > 120)
sprite->pos1.y += sprite->pos2.y + sprite->pos1.y - 120;
}
- sprite->callback = sub_80FF8DC;
+ sprite->callback = AnimRootFlickerOut;
}
-void sub_80FF7EC(struct Sprite *sprite)
+// Places a root on the path to the target mon that flickers away after some time.
+// arg 0: percent along the path to the target mon
+// arg 1: x pixel offset
+// arg 2: y pixel offset
+// arg 3: sprite subpriority offset
+// arg 4: sprite anum num
+// arg 5: duration
+void AnimFrenzyPlantRoot(struct Sprite *sprite)
{
- s16 p1 = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- s16 p2 = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
- s16 e1 = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
- s16 e2 = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ s16 attackerX = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ s16 attackerY = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
+ s16 targetX = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ s16 targetY = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
- e1 -= p1;
- e2 -= p2;
- sprite->pos1.x = p1 + e1 * gBattleAnimArgs[0] / 100;
- sprite->pos1.y = p2 + e2 * gBattleAnimArgs[0] / 100;
+ targetX -= attackerX;
+ targetY -= attackerY;
+ sprite->pos1.x = attackerX + targetX * gBattleAnimArgs[0] / 100;
+ sprite->pos1.y = attackerY + targetY * gBattleAnimArgs[0] / 100;
sprite->pos2.x = gBattleAnimArgs[1];
sprite->pos2.y = gBattleAnimArgs[2];
sprite->subpriority = gBattleAnimArgs[3] + 30;
StartSpriteAnim(sprite, gBattleAnimArgs[4]);
sprite->data[2] = gBattleAnimArgs[5];
- sprite->callback = sub_80FF8DC;
+ sprite->callback = AnimRootFlickerOut;
gUnknown_0203A0F8[0] = sprite->pos1.x;
gUnknown_0203A0F8[1] = sprite->pos1.y;
- gUnknown_0203A0F8[2] = e1;
- gUnknown_0203A0F8[3] = e2;
+ gUnknown_0203A0F8[2] = targetX;
+ gUnknown_0203A0F8[3] = targetY;
}
-static void sub_80FF8DC(struct Sprite* sprite)
+static void AnimRootFlickerOut(struct Sprite* sprite)
{
if (++sprite->data[0] > (sprite->data[2] - 10))
sprite->invisible = sprite->data[0] % 2;
@@ -2874,7 +2947,13 @@ static void sub_80FF8DC(struct Sprite* sprite)
DestroyAnimSprite(sprite);
}
-void sub_80FF934(struct Sprite* sprite)
+// Moves an orb in a fast wavy path.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: horizontal velocity
+// arg 3: wave amplitude
+// arg 4: duration
+void AnimIngrainOrb(struct Sprite* sprite)
{
if (!sprite->data[0])
{
@@ -2892,11 +2971,11 @@ void sub_80FF934(struct Sprite* sprite)
DestroyAnimSprite(sprite);
}
-void sub_80FF9B8(struct Sprite* sprite, s16 c)
+static void sub_80FF9B8(struct Sprite* sprite, s16 c)
{
- s32 a = (sprite->pos1.x * 256) | sprite->pos1.y;
- s32 b = (sprite->data[6] * 256) | sprite->data[7];
- c *= 256;
+ int a = (sprite->pos1.x << 8) | sprite->pos1.y;
+ int b = (sprite->data[6] << 8) | sprite->data[7];
+ c <<= 8;
sprite->data[5] = a;
sprite->data[6] = b;
sprite->data[7] = c;
@@ -2961,24 +3040,24 @@ static void sub_80FFAB4(struct Sprite* sprite)
}
}
-void sub_80FFB18(struct Sprite* sprite)
+void AnimPresent(struct Sprite* sprite)
{
- s16 e1;
- s16 e2;
- InitAnimSpritePos(sprite, 0);
- e1 = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
- e2 = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
+ s16 targetX;
+ s16 targetY;
+ InitSpritePosToAnimAttacker(sprite, FALSE);
+ targetX = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X);
+ targetY = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y);
if (BATTLE_PARTNER(gBattleAnimAttacker) == gBattleAnimTarget)
{
- sprite->data[6] = e1;
- sprite->data[7] = e2 + 10;
+ sprite->data[6] = targetX;
+ sprite->data[7] = targetY + 10;
sub_80FF9B8(sprite, 60);
sprite->data[3] = 1;
}
else
{
- sprite->data[6] = e1;
- sprite->data[7] = e2 + 10;
+ sprite->data[6] = targetX;
+ sprite->data[7] = targetY + 10;
sub_80FF9B8(sprite, 60);
sprite->data[3] = 3;
}
@@ -3007,37 +3086,42 @@ static void sub_80FFB90(struct Sprite* sprite)
}
}
-void sub_80FFBF4(struct Sprite* sprite)
+void AnimKnockOffItem(struct Sprite* sprite)
{
- s16 e = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
+ s16 targetY = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y);
if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
{
sprite->data[6] = 0;
- sprite->data[7] = e + 10;
+ sprite->data[7] = targetY + 10;
sub_80FF9B8(sprite, 40);
sprite->data[3] = 3;
- sprite->data[4] = 0x3C;
+ sprite->data[4] = 60;
sprite->callback = sub_80FFAB4;
}
else
{
sprite->data[6] = 255;
- sprite->data[7] = e + 10;
+ sprite->data[7] = targetY + 10;
if (IsContest())
sprite->data[6] = 0;
sub_80FF9B8(sprite, 40);
sprite->data[3] = 3;
- sprite->data[4] = 0x3C;
+ sprite->data[4] = 60;
sprite->callback = sub_80FFB90;
}
}
-void sub_80FFC70(struct Sprite* sprite)
+// Animates a heal particle upward.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: vertical velocity
+// arg 3: unused
+void AnimPresentHealParticle(struct Sprite* sprite)
{
- if (sprite->data[0] == 0)
+ if (!sprite->data[0])
{
- sub_80A6980(sprite, FALSE);
+ InitSpritePosToAnimTarget(sprite, FALSE);
sprite->data[1] = gBattleAnimArgs[2];
}
@@ -3047,33 +3131,33 @@ void sub_80FFC70(struct Sprite* sprite)
DestroyAnimSprite(sprite);
}
-void sub_80FFCB4(struct Sprite* sprite)
+void AnimItemSteal(struct Sprite* sprite)
{
- s16 p1;
- s16 p2;
- sub_80A6980(sprite, FALSE);
- p1 = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
- p2 = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
+ s16 attackerX;
+ s16 attackerY;
+ InitSpritePosToAnimTarget(sprite, FALSE);
+ attackerX = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
+ attackerY = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y);
if (BATTLE_PARTNER(gBattleAnimTarget) == gBattleAnimAttacker)
{
- sprite->data[6] = p1;
- sprite->data[7] = p2 + 10;
+ sprite->data[6] = attackerX;
+ sprite->data[7] = attackerY + 10;
sub_80FF9B8(sprite, 60);
sprite->data[3] = 1;
}
else
{
- sprite->data[6] = p1;
- sprite->data[7] = p2 + 10;
+ sprite->data[6] = attackerX;
+ sprite->data[7] = attackerY + 10;
sub_80FF9B8(sprite, 60);
sprite->data[3] = 3;
}
sprite->data[4] = 60;
- sprite->callback = sub_80FFD2C;
+ sprite->callback = AnimItemStealStep;
}
-static void sub_80FFD2C(struct Sprite* sprite)
+static void AnimItemStealStep(struct Sprite* sprite)
{
int zero;
sprite->data[0] += ((sprite->data[3] * 128) / sprite->data[4]);
@@ -3097,7 +3181,10 @@ static void sub_80FFD2C(struct Sprite* sprite)
}
}
-void sub_80FFDBC(struct Sprite* sprite)
+// Moves a bag in a circular motion.
+// arg 0: y position
+// arg 1: initial wave offset
+void AnimTrickBag(struct Sprite* sprite)
{
int a;
int b;
@@ -3126,7 +3213,7 @@ void sub_80FFDBC(struct Sprite* sprite)
sprite->data[4] = 20;
sprite->pos2.x = Cos(sprite->data[1], 60);
sprite->pos2.y = Sin(sprite->data[1], 20);
- sprite->callback = sub_80FFE58;
+ sprite->callback = AnimTrickBagStep1;
if (sprite->data[1] > 0 && sprite->data[1] < 192)
sprite->subpriority = 31;
else
@@ -3134,7 +3221,7 @@ void sub_80FFDBC(struct Sprite* sprite)
}
}
-static void sub_80FFE58(struct Sprite* sprite)
+static void AnimTrickBagStep1(struct Sprite* sprite)
{
switch (sprite->data[3])
{
@@ -3158,20 +3245,20 @@ static void sub_80FFE58(struct Sprite* sprite)
{
sprite->data[0] = 0;
sprite->data[2] = 0;
- sprite->callback = sub_80FFEC4;
+ sprite->callback = AnimTrickBagStep2;
}
break;
}
}
-static void sub_80FFEC4(struct Sprite* sprite)
+static void AnimTrickBagStep2(struct Sprite* sprite)
{
if (sprite->data[2] == gUnknown_08592700[sprite->data[0]][1])
{
if (gUnknown_08592700[sprite->data[0]][2] == 127)
{
sprite->data[0] = 0;
- sprite->callback = sub_80FFF7C;
+ sprite->callback = AnimTrickBagStep3;
}
sprite->data[2] = 0;
@@ -3194,7 +3281,7 @@ static void sub_80FFEC4(struct Sprite* sprite)
}
}
-static void sub_80FFF7C(struct Sprite* sprite)
+static void AnimTrickBagStep3(struct Sprite* sprite)
{
if (sprite->data[0] > 20)
DestroyAnimSprite(sprite);
@@ -3493,20 +3580,20 @@ void sub_8100640(struct Sprite* sprite)
{
case 0:
sprite->pos1.y = gBattleAnimArgs[0];
- sprite->oam.priority = sub_80A8328(battler);
+ sprite->oam.priority = GetBattlerSpriteBGPriority(battler);
break;
case 1:
sprite->pos1.y = gBattleAnimArgs[0];
- sprite->oam.priority = sub_80A8328(battler) + 1;
+ sprite->oam.priority = GetBattlerSpriteBGPriority(battler) + 1;
break;
case 2:
sprite->pos1.y = GetBattlerSpriteCoord(battler, 3) + gBattleAnimArgs[0];
- sprite->oam.priority = sub_80A8328(battler);
+ sprite->oam.priority = GetBattlerSpriteBGPriority(battler);
break;
case 3:
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[0];
GetAnimBattlerSpriteId(ANIM_TARGET);
- sprite->oam.priority = sub_80A8328(battler) + 1;
+ sprite->oam.priority = GetBattlerSpriteBGPriority(battler) + 1;
break;
}
@@ -3665,7 +3752,7 @@ void sub_8100A50(struct Sprite* sprite)
StartSpriteAnim(sprite, 1);
sprite->callback = sub_81009DC;
- sub_80A6864(sprite, gBattleAnimArgs[0]);
+ SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]);
sprite->pos1.y += gBattleAnimArgs[1];
}
@@ -3858,9 +3945,9 @@ void sub_8100EF0(struct Sprite* sprite)
sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimAttacker, 0) + gBattleAnimArgs[0];
sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimAttacker, 1) + gBattleAnimArgs[1];
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER || IsContest())
- sprite->oam.priority = sub_80A8328(gBattleAnimAttacker) + 1;
+ sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker) + 1;
else
- sprite->oam.priority = sub_80A8328(gBattleAnimAttacker);
+ sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker);
sprite->data[0] = gBattleAnimArgs[2];
sprite->data[2] = (IndexOfSpritePaletteTag(ANIM_TAG_PROTECT) << 4) + 0x100;
@@ -4028,13 +4115,13 @@ void sub_810130C(struct Sprite* sprite)
if (!gBattleAnimArgs[2])
SetSpriteCoordsToAnimAttackerCoords(sprite);
- sub_80A6864(sprite, gBattleAnimArgs[0]);
+ SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]);
sprite->pos1.y += gBattleAnimArgs[1];
sprite->data[0] = gBattleAnimArgs[5];
sprite->data[1] = gBattleAnimArgs[3];
sprite->data[2] = gBattleAnimArgs[4];
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
- sprite->callback = TranslateAnimLinearSimple;
+ sprite->callback = AnimTranslateLinearSimple;
}
void sub_810135C(struct Sprite* sprite)
@@ -4048,7 +4135,7 @@ void sub_810135C(struct Sprite* sprite)
if (IsDoubleBattle() && IsBattlerSpriteVisible(BATTLE_PARTNER(battler)))
{
SetAverageBattlerPositions(battler, gBattleAnimArgs[6], &sprite->pos1.x, &sprite->pos1.y);
- sub_80A6864(sprite, gBattleAnimArgs[0]);
+ SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]);
sprite->pos1.y += gBattleAnimArgs[1];
}
else
@@ -4064,14 +4151,14 @@ void sub_810135C(struct Sprite* sprite)
sprite->pos1.y = GetBattlerSpriteCoord(battler, 3) + gBattleAnimArgs[1];
}
- sub_80A6864(sprite, gBattleAnimArgs[0]);
+ SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]);
}
sprite->data[0] = gBattleAnimArgs[5];
sprite->data[1] = gBattleAnimArgs[3];
sprite->data[2] = gBattleAnimArgs[4];
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
- sprite->callback = TranslateAnimLinearSimple;
+ sprite->callback = AnimTranslateLinearSimple;
}
void sub_8101440(struct Sprite* sprite)
@@ -4782,7 +4869,7 @@ void sub_81022D4(u8 taskId)
void sub_810234C(struct Sprite* sprite)
{
- sub_80A6980(sprite, FALSE);
+ InitSpritePosToAnimTarget(sprite, FALSE);
sprite->animPaused = 1;
sprite->data[0] = gBattleAnimArgs[2];
sprite->callback = sub_810237C;
@@ -5094,7 +5181,7 @@ void sub_81029B4(u8 taskId)
}
task->func = sub_8102AE0;
- if (sub_80A8364(gBattleAnimAttacker) == 1)
+ if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == 1)
ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG1_ON);
else
ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG2_ON);
@@ -5105,7 +5192,7 @@ static void sub_8102AE0(u8 taskId)
struct Task* task = &gTasks[taskId];
if (!task->data[3])
{
- if (sub_80A8364(gBattleAnimAttacker) == 1)
+ if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == 1)
SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG1_ON);
else
SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG2_ON);
@@ -5345,7 +5432,7 @@ void sub_8103028(struct Sprite* sprite)
static void sub_81030B0(struct Sprite* sprite)
{
- if (TranslateAnimLinear(sprite) == 0)
+ if (AnimTranslateLinear(sprite) == 0)
{
s16 xDiff;
xDiff = Sin(sprite->data[5], 8);
diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c
index ba124a6a3..1a7fb8736 100755
--- a/src/battle_anim_effects_2.c
+++ b/src/battle_anim_effects_2.c
@@ -1257,7 +1257,7 @@ const struct SpriteTemplate gUnknown_08593C64 =
void sub_8103448(struct Sprite *sprite)
{
SetSpriteCoordsToAnimAttackerCoords(sprite);
- sub_80A6864(sprite, gBattleAnimArgs[0]);
+ SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]);
sprite->pos1.y += gBattleAnimArgs[1];
sprite->data[1] = gBattleAnimArgs[2];
sprite->data[2] = gBattleAnimArgs[4];
@@ -1339,7 +1339,7 @@ void sub_810358C(struct Sprite *sprite)
void sub_8103620(struct Sprite *sprite)
{
- InitAnimSpritePos(sprite, TRUE);
+ InitSpritePosToAnimAttacker(sprite, TRUE);
sprite->data[0] = gBattleAnimArgs[2];
sprite->data[1] = gBattleAnimArgs[3];
sprite->data[5] = gBattleAnimArgs[4];
@@ -1451,7 +1451,7 @@ void Anim_KinesisZapEnergy(struct Sprite *sprite)
// arg 1: y pixel offset
void Anim_SwordsDanceBlade(struct Sprite *sprite)
{
- InitAnimSpritePos(sprite, FALSE);
+ InitSpritePosToAnimAttacker(sprite, FALSE);
sprite->callback = RunStoredCallbackWhenAffineAnimEnds;
StoreSpriteCallbackInData6(sprite, Anim_SwordsDanceBladeStep);
}
@@ -1489,7 +1489,7 @@ void AnimSonicBoomProjectile(struct Sprite *sprite)
gBattleAnimArgs[3] = -gBattleAnimArgs[3];
}
- InitAnimSpritePos(sprite, TRUE);
+ InitSpritePosToAnimAttacker(sprite, TRUE);
targetXPos = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2];
targetYPos = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
rotation = ArcTan2Neg(targetXPos - sprite->pos1.x, targetYPos - sprite->pos1.y);
@@ -1732,7 +1732,7 @@ void sub_8103CF0(u8 taskId)
void sub_8103FE8(struct Sprite *sprite)
{
- InitAnimSpritePos(sprite, FALSE);
+ InitSpritePosToAnimAttacker(sprite, FALSE);
sprite->data[0] = 0x100 + (IndexOfSpritePaletteTag(gUnknown_085934A0.paletteTag) << 4);
sprite->callback = sub_8104018;
}
@@ -1828,7 +1828,7 @@ void sub_8104088(struct Sprite *sprite)
s16 r7;
u16 var;
- InitAnimSpritePos(sprite, TRUE);
+ InitSpritePosToAnimAttacker(sprite, TRUE);
r6 = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
r7 = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
@@ -1872,7 +1872,7 @@ static void sub_8104154(struct Sprite *sprite)
void sub_81041C4(struct Sprite *sprite)
{
- InitAnimSpritePos(sprite, TRUE);
+ InitSpritePosToAnimAttacker(sprite, TRUE);
sprite->data[0] = 20;
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
@@ -1931,7 +1931,7 @@ static void sub_81042A0(struct Sprite *sprite)
// arg 6: duration
void Anim_RazorWindTornado(struct Sprite *sprite)
{
- InitAnimSpritePos(sprite, FALSE);
+ InitSpritePosToAnimAttacker(sprite, FALSE);
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
sprite->pos1.y += 16;
@@ -2009,7 +2009,7 @@ void Anim_GuillotinePincer(struct Sprite *sprite)
static void Anim_GuillotinePincerStep1(struct Sprite *sprite)
{
- if (TranslateAnimLinear(sprite) && sprite->animEnded)
+ if (AnimTranslateLinear(sprite) && sprite->animEnded)
{
SeekSpriteAnim(sprite, 0);
sprite->animPaused = 1;
@@ -2049,7 +2049,7 @@ static void Anim_GuillotinePincerStep2(struct Sprite *sprite)
static void Anim_GuillotinePincerStep3(struct Sprite *sprite)
{
- if (TranslateAnimLinear(sprite))
+ if (AnimTranslateLinear(sprite))
DestroyAnimSprite(sprite);
}
@@ -2318,7 +2318,7 @@ void Anim_BreathPuff(struct Sprite *sprite)
sprite->data[3] = 0;
sprite->data[4] = 0;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
- sprite->callback = TranslateAnimLinearSimple;
+ sprite->callback = AnimTranslateLinearSimple;
}
// Animates an "angry" mark above a mon's head.
@@ -2448,7 +2448,7 @@ void sub_8104E74(u8 taskId)
task->data[5] = 0;
task->data[15] = sub_80A861C(gBattleAnimTarget, 0);
- if (sub_80A8364(gBattleAnimTarget) == 1)
+ if (GetBattlerSpriteBGPriorityRank(gBattleAnimTarget) == 1)
{
task->data[6] = gBattle_BG1_X;
params.dmaDest = (u16 *)REG_ADDR_BG1HOFS;
@@ -2628,7 +2628,7 @@ void sub_81051C4(struct Sprite *sprite)
void sub_8105284(struct Sprite *sprite)
{
- if (TranslateAnimLinear(sprite))
+ if (AnimTranslateLinear(sprite))
{
FreeSpriteOamMatrix(sprite);
DestroyAnimSprite(sprite);
@@ -2736,7 +2736,7 @@ void sub_81054E8(struct Sprite *sprite)
void sub_8105538(struct Sprite *sprite)
{
s16 r1;
- InitAnimSpritePos(sprite, FALSE);
+ InitSpritePosToAnimAttacker(sprite, FALSE);
r1 = GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER ? -160 : 160;
sprite->data[0] = 0x380;
sprite->data[1] = r1;
@@ -3098,7 +3098,7 @@ static void sub_8105D88(struct Sprite *sprite, u8 a, u8 b)
void sub_8105DE8(struct Sprite *sprite)
{
- InitAnimSpritePos(sprite, FALSE);
+ InitSpritePosToAnimAttacker(sprite, FALSE);
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
@@ -3113,7 +3113,7 @@ void sub_8105DE8(struct Sprite *sprite)
void sub_8105E60(struct Sprite *sprite)
{
if (++sprite->data[0] == 1)
- InitAnimSpritePos(sprite, FALSE);
+ InitSpritePosToAnimAttacker(sprite, FALSE);
sprite->pos2.x = Sin(sprite->data[1], 8);
sprite->pos2.y = sprite->data[2] >> 8;
@@ -3218,7 +3218,7 @@ void sub_81060B0(u8 taskId)
void sub_8106140(struct Sprite *sprite)
{
- InitAnimSpritePos(sprite, TRUE);
+ InitSpritePosToAnimAttacker(sprite, TRUE);
sprite->data[0] = 95;
sprite->data[1] = sprite->pos1.x;
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
@@ -3230,7 +3230,7 @@ void sub_8106140(struct Sprite *sprite)
static void sub_810618C(struct Sprite *sprite)
{
- if (!TranslateAnimLinear(sprite))
+ if (!AnimTranslateLinear(sprite))
{
sprite->pos2.y += Sin(sprite->data[5], 14);
sprite->data[5] = (sprite->data[5] + 4) & 0xFF;
@@ -3550,7 +3550,7 @@ static void sub_810699C(struct Sprite *sprite)
void sub_81069B8(struct Sprite *sprite)
{
- InitAnimSpritePos(sprite, TRUE);
+ InitSpritePosToAnimAttacker(sprite, TRUE);
sprite->callback = sub_810699C;
}
diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c
index 4369bd0a5..72d9722b3 100755
--- a/src/battle_anim_effects_3.c
+++ b/src/battle_anim_effects_3.c
@@ -589,9 +589,9 @@ const union AffineAnimCmd gUnknown_085CE430[] =
const s8 gUnknown_085CE460[] =
{
- 0xE8,
- 0x18,
- 0xFC,
+ 0xE8,
+ 0x18,
+ 0xFC,
0x00,
};
@@ -1225,7 +1225,7 @@ void sub_815A254(struct Sprite *sprite)
u8 x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
u8 y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
- sub_80A6980(sprite, TRUE);
+ InitSpritePosToAnimTarget(sprite, TRUE);
rotation = ArcTan2Neg(sprite->pos1.x - x, sprite->pos1.y - y);
rotation += 0x6000;
@@ -1406,7 +1406,7 @@ void sub_815A6C4(struct Sprite *sprite)
u16 x;
u16 y;
- InitAnimSpritePos(sprite, TRUE);
+ InitSpritePosToAnimAttacker(sprite, TRUE);
SetAverageBattlerPositions(gBattleAnimTarget, FALSE, &x, &y);
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
@@ -1444,7 +1444,7 @@ static void sub_815A76C(struct Sprite *sprite)
void sub_815A7B0(struct Sprite *sprite)
{
SetSpriteCoordsToAnimAttackerCoords(sprite);
- sub_80A6864(sprite, gBattleAnimArgs[0]);
+ SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]);
sprite->pos1.y += gBattleAnimArgs[1];
sprite->callback = RunStoredCallbackWhenAnimEnds;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
@@ -1458,7 +1458,7 @@ void sub_815A7EC(struct Sprite *sprite)
if (sprite->data[0] == 0)
{
SetSpriteCoordsToAnimAttackerCoords(sprite);
- sub_80A6864(sprite, gBattleAnimArgs[0]);
+ SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]);
if (!IsContest())
{
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
@@ -1528,7 +1528,7 @@ void sub_815A934(struct Sprite *sprite)
SetGpuReg(REG_OFFSET_WIN0H, gBattle_WIN0H);
SetGpuReg(REG_OFFSET_WIN0V, gBattle_WIN0V);
- sub_80A6980(sprite, FALSE);
+ InitSpritePosToAnimTarget(sprite, FALSE);
sprite->oam.objMode = ST_OAM_OBJ_WINDOW;
sprite->invisible = 1;
@@ -1745,12 +1745,12 @@ void sub_815ADB0(u8 taskId)
if (!gBattleAnimArgs[0])
{
var0 = GetBattlerYCoordWithElevation(gBattleAnimAttacker);
- toBG2 = sub_80A8364(gBattleAnimAttacker);
+ toBG2 = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker);
}
else
{
var0 = GetBattlerYCoordWithElevation(gBattleAnimTarget);
- toBG2 = sub_80A8364(gBattleAnimTarget);
+ toBG2 = GetBattlerSpriteBGPriorityRank(gBattleAnimTarget);
}
task->data[0] = var0 + 36;
@@ -1846,7 +1846,7 @@ static void sub_815AED8(u8 taskId)
if (task->data[7])
task->data[12] = task->data[8];
else
- task->data[12] = task->data[9];
+ task->data[12] = task->data[9];
}
i = task->data[0];
@@ -2000,7 +2000,7 @@ static void sub_815B23C(struct Sprite *sprite)
void sub_815B27C(struct Sprite *sprite)
{
if (sprite->data[0] == 0)
- InitAnimSpritePos(sprite, FALSE);
+ InitSpritePosToAnimAttacker(sprite, FALSE);
if (++sprite->data[0] < 40)
{
@@ -2204,7 +2204,7 @@ void sub_815B70C(struct Sprite *sprite)
switch (sprite->data[0])
{
case 0:
- InitAnimSpritePos(sprite, FALSE);
+ InitSpritePosToAnimAttacker(sprite, FALSE);
sprite->data[1] = 0x900;
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
sprite->data[0]++;
@@ -2246,7 +2246,7 @@ void sub_815B7D0(u8 taskId)
{
case 0:
SetGpuReg(REG_OFFSET_MOSAIC, 0);
- if (sub_80A8364(gBattleAnimAttacker) == 1)
+ if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == 1)
SetAnimBgAttribute(1, BG_ANIM_MOSAIC, 1);
else
SetAnimBgAttribute(2, BG_ANIM_MOSAIC, 1);
@@ -2326,7 +2326,7 @@ void sub_815B7D0(u8 taskId)
break;
case 4:
SetGpuReg(REG_OFFSET_MOSAIC, 0);
- if (sub_80A8364(gBattleAnimAttacker) == 1)
+ if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == 1)
SetAnimBgAttribute(1, BG_ANIM_MOSAIC, 0);
else
SetAnimBgAttribute(2, BG_ANIM_MOSAIC, 0);
@@ -2403,7 +2403,7 @@ void sub_815BB84(u8 taskId)
gTasks[taskId].data[4] = 0;
if (++gTasks[taskId].data[1] > 12)
gTasks[taskId].data[1] = 12;
-
+
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[1], 16 - gTasks[taskId].data[1]));
if (gTasks[taskId].data[1] == 12)
@@ -2459,7 +2459,7 @@ void sub_815BE04(struct Sprite *sprite)
xOffset &= 0x3F;
if (xOffset > 31)
xOffset = 32 - xOffset;
-
+
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + xOffset;
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + 32;
sprite->data[1] = gBattleAnimArgs[0];
@@ -2490,7 +2490,7 @@ static void sub_815BF44(struct Sprite *sprite)
{
int var0;
s8 var1;
-
+
var0 = (u16)sprite->data[2] + (u16)sprite->data[3];
var1 = var0 >> 8;
sprite->pos2.y -= var1;
@@ -2531,7 +2531,7 @@ static void sub_815C050(struct Sprite *sprite)
register u16 d3 asm("r1");
int var0;
s8 var1;
-
+
if (!sprite->invisible)
{
d2 = sprite->data[2];
@@ -2637,7 +2637,7 @@ void sub_815C0A4(u8 taskId)
sub_80A6C68(unknownStruct.bgId);
if (!IsContest())
SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 0);
-
+
SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1);
gBattle_BG1_X = 0;
gBattle_BG1_Y = 0;
@@ -2666,7 +2666,7 @@ void sub_815C400(struct Sprite *sprite)
{
if (sprite->data[0] == 0)
{
- InitAnimSpritePos(sprite, 0);
+ InitSpritePosToAnimAttacker(sprite, 0);
sprite->data[0]++;
}
else if (sprite->data[0]++ > 20)
@@ -2893,7 +2893,7 @@ static void sub_815C7C4(u8 taskId)
SetSpriteRotScale(task->data[15], 0x100, 0x100, task->data[2]);
SetBattlerSpriteYOffsetFromRotation(task->data[15]);
gSprites[task->data[15]].pos2.x = -(((temp = task->data[2]) >= 0 ? task->data[2] : temp + 63) >> 6);
-
+
if (++task->data[1] > 8)
{
if (task->data[12])
@@ -3064,7 +3064,7 @@ void sub_815CC94(struct Sprite *sprite)
SetGpuReg(REG_OFFSET_WIN0V, gBattle_WIN0V);
sprite->data[0] = gBattleAnimArgs[2];
- sub_80A6980(sprite, FALSE);
+ InitSpritePosToAnimTarget(sprite, FALSE);
sprite->oam.objMode = ST_OAM_OBJ_WINDOW;
sprite->invisible = 1;
sprite->callback = sub_815CD0C;
@@ -3166,7 +3166,7 @@ void sub_815CED8(u8 taskId)
otId = gContestResources->field_18->unkC;
species = gContestResources->field_18->unk2;
xOffset = 20;
- priority = sub_80A8328(gBattleAnimAttacker);
+ priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker);
}
else
{
@@ -3188,7 +3188,7 @@ void sub_815CED8(u8 taskId)
}
xOffset = 20;
- priority = sub_80A8328(gBattleAnimAttacker);
+ priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker);
}
else
{
@@ -3208,7 +3208,7 @@ void sub_815CED8(u8 taskId)
}
xOffset = -20;
- priority = sub_80A8328(gBattleAnimAttacker);
+ priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker);
}
}
@@ -3290,7 +3290,7 @@ void sub_815D240(u8 taskId)
task->data[14] = task->data[13] + 66;
task->data[15] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]);
- if (sub_80A8364(battler) == 1)
+ if (GetBattlerSpriteBGPriorityRank(battler) == 1)
{
scanlineParams.dmaDest = &REG_BG1HOFS;
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG1);
@@ -3333,7 +3333,7 @@ static void sub_815D398(u8 taskId)
s16 var3;
task = &gTasks[taskId];
- if (sub_80A8364(task->data[5]) == 1)
+ if (GetBattlerSpriteBGPriorityRank(task->data[5]) == 1)
{
bgX = gBattle_BG1_X;
bgY = gBattle_BG1_Y;
@@ -3679,7 +3679,7 @@ void sub_815DCA4(u8 taskId)
if (!gBattleAnimArgs[1])
DestroyAnimVisualTask(taskId);
-
+
task->data[0] = 0;
task->data[1] = 0;
task->data[2] = 0;
@@ -3801,7 +3801,7 @@ static void sub_815DF64(u8 taskId)
BlendPalette(gTasks[taskId].data[2], 16, 8, gUnknown_085CE784[gTasks[taskId].data[0]]);
if (++gTasks[taskId].data[0] > 23)
gTasks[taskId].data[0] = 0;
-
+
gTasks[taskId].data[1]--;
}
else
@@ -3831,7 +3831,7 @@ void sub_815E01C(struct Sprite *sprite)
{
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT)
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
-
+
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + gBattleAnimArgs[0];
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + gBattleAnimArgs[1];
if (gBattleAnimArgs[2] == 0)
@@ -4009,7 +4009,7 @@ void sub_815E444(struct Sprite *sprite)
sprite->data[4] = gBattleAnimArgs[3];
sprite->data[0] = gBattleAnimArgs[4];
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
- sprite->callback = sub_80A70C0;
+ sprite->callback = InitAndRunAnimFastLinearTranslation;
}
void sub_815E47C(u8 taskId)
@@ -4030,7 +4030,7 @@ void sub_815E47C(u8 taskId)
InitAnimArcTranslation(&gSprites[task->data[15]]);
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT)
StartSpriteAffineAnim(&gSprites[task->data[15]], 1);
-
+
task->func = sub_815E5CC;
}
else
@@ -4303,7 +4303,7 @@ static void sub_815EA60(struct Sprite *sprite)
sprite->pos2.x = sprite->data[7] * (gSineTable[sprite->data[1] * 10] >> 3);
if (sprite->data[1] == 15)
sprite->oam.tileNum += 16;
-
+
if (sprite->data[1] == 18)
{
sprite->data[1] = 0;
@@ -4452,7 +4452,7 @@ void sub_815EE84(struct Sprite *sprite)
{
if (gBattleAnimArgs[0] == 0)
{
- InitAnimSpritePos(sprite, TRUE);
+ InitSpritePosToAnimAttacker(sprite, TRUE);
sprite->data[7] = gBattleAnimAttacker;
}
else
@@ -4463,7 +4463,7 @@ void sub_815EE84(struct Sprite *sprite)
if (GetBattlerSide(sprite->data[7]) == B_SIDE_OPPONENT)
sprite->oam.matrixNum = 8;
- sprite->oam.priority = sub_80A8328(sprite->data[7]);
+ sprite->oam.priority = GetBattlerSpriteBGPriority(sprite->data[7]);
sprite->oam.objMode = ST_OAM_OBJ_BLEND;
sprite->callback = sub_815EF08;
}
@@ -4517,7 +4517,7 @@ static void sub_815EF08(struct Sprite *sprite)
sprite->data[5]++;
break;
case 1:
- if (TranslateAnimLinear(sprite))
+ if (AnimTranslateLinear(sprite))
{
switch (sprite->data[6])
{
@@ -4581,7 +4581,7 @@ static void sub_815F10C(struct Sprite *sprite)
sprite->pos1.x + sprite->pos2.x,
sprite->pos1.y + sprite->pos2.y, 5);
}
-
+
if (sprite->data[5] == sprite->data[4])
DestroyAnimSprite(sprite);
@@ -4648,7 +4648,7 @@ void AnimTask_MonToSubstitute(u8 taskId)
for (i = 0; i < 16; i++)
gTasks[taskId].data[i] = 0;
-
+
gTasks[taskId].func = sub_815F330;
}
}
@@ -4837,7 +4837,7 @@ void sub_815F620(u8 taskId)
gSprites[spriteId1].invisible = 1;
}
-
+
gSprites[spriteId2].oam.objMode = ST_OAM_OBJ_NORMAL;
gSprites[spriteId1].oam.objMode = ST_OAM_OBJ_NORMAL;
gSprites[spriteId2].callback = sub_815F7C4;
@@ -4887,3 +4887,18 @@ static void sub_815F7C4(struct Sprite *sprite)
break;
}
}
+
+void AnimTask_GetReturnPowerLevel(u8 taskId)
+{
+ gBattleAnimArgs[7] = 0;
+ if (gAnimFriendship < 60)
+ gBattleAnimArgs[7] = 0;
+ if (gAnimFriendship > 60 && gAnimFriendship < 92)
+ gBattleAnimArgs[7] = 1;
+ if (gAnimFriendship > 91 && gAnimFriendship < 201)
+ gBattleAnimArgs[7] = 2;
+ if (gAnimFriendship > 200)
+ gBattleAnimArgs[7] = 3;
+
+ DestroyAnimVisualTask(taskId);
+}
diff --git a/src/battle_arena.c b/src/battle_arena.c
index a4179eca8..39bb6936d 100644
--- a/src/battle_arena.c
+++ b/src/battle_arena.c
@@ -497,7 +497,7 @@ u8 BattleArena_ShowJudgmentWindow(u8 *state)
case 0:
BeginNormalPaletteFade(0x7FFFFF1C, 4, 0, 8, 0);
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG1 | WININ_WIN0_BG2 | WININ_WIN0_BG3 | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
- LoadCompressedObjectPic(gUnknown_08611F74);
+ LoadCompressedSpriteSheet(gUnknown_08611F74);
LoadCompressedPalette(gUnknown_08D855E8, 0x1F0, 0x20);
gBattle_WIN0H = 0xFF;
gBattle_WIN0V = 0x70;
diff --git a/src/battle_bg.c b/src/battle_bg.c
index bb66a41fd..a6919be1d 100644
--- a/src/battle_bg.c
+++ b/src/battle_bg.c
@@ -11,6 +11,7 @@
#include "link.h"
#include "main.h"
#include "menu.h"
+#include "overworld.h"
#include "palette.h"
#include "sound.h"
#include "sprite.h"
@@ -31,8 +32,6 @@ struct BattleBackground
const void *palette;
};
-extern u8 GetCurrentMapBattleScene(void);
-
// .rodata
static const u16 sUnrefArray[] = {0x0300, 0x0000}; //OamData?
@@ -1103,7 +1102,7 @@ void DrawBattleEntryBackground(void)
SetGpuReg(REG_OFFSET_WINOUT, 0x36);
gBattle_BG1_Y = 0xFF5C;
gBattle_BG2_Y = 0xFF5C;
- LoadCompressedObjectPicUsingHeap(&gUnknown_0831AA00);
+ LoadCompressedSpriteSheetUsingHeap(&gUnknown_0831AA00);
}
else if (gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000 | BATTLE_TYPE_EREADER_TRAINER))
{
diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c
index e81035fc7..85756309d 100644
--- a/src/battle_controller_link_opponent.c
+++ b/src/battle_controller_link_opponent.c
@@ -6,6 +6,7 @@
#include "battle_interface.h"
#include "battle_message.h"
#include "battle_setup.h"
+#include "battle_tower.h"
#include "battle_tv.h"
#include "bg.h"
#include "data2.h"
@@ -33,7 +34,6 @@ extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon);
extern void sub_81851A8(u8 *);
extern u16 sub_8068B48(void);
-extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId);
// this file's functions
static void LinkOpponentHandleGetMonData(void);
diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c
index 533ec39de..ef18c14aa 100644
--- a/src/battle_controller_link_partner.c
+++ b/src/battle_controller_link_partner.c
@@ -6,6 +6,7 @@
#include "battle_interface.h"
#include "battle_message.h"
#include "battle_setup.h"
+#include "battle_tower.h"
#include "battle_tv.h"
#include "bg.h"
#include "data2.h"
@@ -31,7 +32,6 @@ extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon);
extern void sub_81851A8(u8 *);
-extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId);
// this file's functions
static void LinkPartnerHandleGetMonData(void);
diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c
index 2d8fba63a..e5f795266 100644
--- a/src/battle_controller_player.c
+++ b/src/battle_controller_player.c
@@ -34,9 +34,6 @@
#include "constants/songs.h"
#include "constants/trainers.h"
-extern u8 gUnknown_0203CEE8;
-extern u8 gUnknown_0203CEE9;
-extern u8 gUnknown_0203CF00[];
extern struct MusicPlayerInfo gMPlayInfo_BGM;
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
diff --git a/src/battle_controllers.c b/src/battle_controllers.c
index a6d6e9294..1b0ca6a73 100644
--- a/src/battle_controllers.c
+++ b/src/battle_controllers.c
@@ -6,6 +6,7 @@
#include "battle_message.h"
#include "cable_club.h"
#include "link.h"
+#include "party_menu.h"
#include "pokemon.h"
#include "recorded_battle.h"
#include "task.h"
@@ -19,8 +20,6 @@ static EWRAM_DATA u8 sUnknown_02022D0A = 0;
EWRAM_DATA struct UnusedControllerStruct gUnknown_02022D0C = {};
static EWRAM_DATA u8 sBattleBuffersTransferData[0x100] = {};
-extern void sub_81B8D64(u8 battlerId, u8 arg1); // party_menu
-
// this file's funcionts
static void CreateTasksForSendRecvLinkBuffers(void);
static void InitLinkBtlControllers(void);
diff --git a/src/battle_dome.c b/src/battle_dome.c
index 514b57c97..24e2cbfed 100644
--- a/src/battle_dome.c
+++ b/src/battle_dome.c
@@ -19,6 +19,7 @@
#include "window.h"
#include "palette.h"
#include "decompress.h"
+#include "party_menu.h"
#include "menu.h"
#include "sound.h"
#include "pokemon_icon.h"
@@ -57,12 +58,6 @@ struct UnkStruct_860DD10
u16 src;
};
-extern void sub_81B8558(void);
-
-extern u8 gSelectedOrderFromParty[];
-
-extern const struct SpriteTemplate gUnknown_0860CFA8;
-
// text
extern const u8 gTrainerClassNames[][0xD];
@@ -3536,7 +3531,7 @@ static void sub_8190400(u8 taskId)
DecompressAndLoadBgGfxUsingHeap(2, gUnknown_08D83D50, 0x2000, 0, 0);
DecompressAndLoadBgGfxUsingHeap(2, gUnknown_08D84970, 0x2000, 0, 1);
DecompressAndLoadBgGfxUsingHeap(3, gUnknown_08D84F00, 0x800, 0, 1);
- LoadCompressedObjectPic(gUnknown_0860CF50);
+ LoadCompressedSpriteSheet(gUnknown_0860CF50);
LoadCompressedPalette(gUnknown_08D85358, 0, 0x200);
LoadCompressedPalette(gUnknown_08D85444, 0x100, 0x200);
LoadCompressedPalette(gUnknown_08D85600, 0xF0, 0x20);
@@ -5707,7 +5702,7 @@ static void sub_8194220(u8 taskId)
gTasks[taskId].data[0]++;
break;
case 3:
- LoadCompressedObjectPic(gUnknown_0860CF50);
+ LoadCompressedSpriteSheet(gUnknown_0860CF50);
if (r10 == 0)
{
for (i = 0; i < (unsigned) 31; i++)
diff --git a/src/battle_factory_screen.c b/src/battle_factory_screen.c
index 60b233daf..2571e7a92 100644
--- a/src/battle_factory_screen.c
+++ b/src/battle_factory_screen.c
@@ -131,12 +131,6 @@ struct FactorySwapMonsStruct
bool8 unk30;
};
-extern u8 gUnknown_0203CF20;
-
-extern const u16 gBattleFrontierHeldItems[];
-extern const struct FacilityMon gBattleFrontierMons[];
-extern const struct FacilityMon gSlateportBattleTentMons[];
-extern const struct BattleFrontierTrainer gBattleFrontierTrainers[];
extern const u32 gUnknown_085B18AC[];
// This file's functions.
@@ -1167,7 +1161,7 @@ static void CB2_InitSelectScreen(void)
case 4:
LoadSpritePalettes(gUnknown_086103F4);
LoadSpriteSheets(gUnknown_086103BC);
- LoadCompressedObjectPic(gUnknown_086103E4);
+ LoadCompressedSpriteSheet(gUnknown_086103E4);
ShowBg(0);
ShowBg(1);
SetVBlankCallback(Select_VblankCb);
@@ -3171,7 +3165,7 @@ static void CB2_InitSwapScreen(void)
case 4:
LoadSpritePalettes(gUnknown_086106B0);
LoadSpriteSheets(gUnknown_08610650);
- LoadCompressedObjectPic(gUnknown_086106A0);
+ LoadCompressedSpriteSheet(gUnknown_086106A0);
SetVBlankCallback(Swap_VblankCb);
gMain.state++;
break;
diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c
index f53a6281d..3654cf6d4 100644
--- a/src/battle_gfx_sfx_util.c
+++ b/src/battle_gfx_sfx_util.c
@@ -15,6 +15,7 @@
#include "task.h"
#include "sprite.h"
#include "sound.h"
+#include "party_menu.h"
#include "m4a.h"
#include "constants/species.h"
#include "decompress.h"
@@ -42,10 +43,6 @@ extern const struct CompressedSpriteSheet gSpriteSheet_EnemyShadow;
extern const struct SpriteTemplate gSpriteTemplate_EnemyShadow;
extern const u8 gEnemyMonElevation[];
-extern u8 sub_80688F8(u8, u8 battlerId);
-extern u8 pokemon_order_func(u8); // party menu
-extern void sub_81B8C68(void);
-
// this file's functions
static u8 sub_805D4A8(u16 move);
static u16 BattlePalaceGetTargetRetValue(void);
@@ -643,7 +640,7 @@ void DecompressTrainerFrontPic(u16 frontPicId, u8 battlerId)
DecompressPicFromTable_2(&gTrainerFrontPicTable[frontPicId],
gMonSpritesGfxPtr->sprites[position],
SPECIES_NONE);
- LoadCompressedObjectPalette(&gTrainerFrontPicPaletteTable[frontPicId]);
+ LoadCompressedSpritePalette(&gTrainerFrontPicPaletteTable[frontPicId]);
}
void DecompressTrainerBackPic(u16 backPicId, u8 battlerId)
@@ -675,20 +672,20 @@ void BattleLoadAllHealthBoxesGfxAtOnce(void)
LoadSpritePalette(&sSpritePalettes_HealthBoxHealthBar[1]);
if (!IsDoubleBattle())
{
- LoadCompressedObjectPic(&sSpriteSheet_SinglesPlayerHealthbox);
- LoadCompressedObjectPic(&sSpriteSheet_SinglesOpponentHealthbox);
+ LoadCompressedSpriteSheet(&sSpriteSheet_SinglesPlayerHealthbox);
+ LoadCompressedSpriteSheet(&sSpriteSheet_SinglesOpponentHealthbox);
numberOfBattlers = 2;
}
else
{
- LoadCompressedObjectPic(&sSpriteSheets_DoublesPlayerHealthbox[0]);
- LoadCompressedObjectPic(&sSpriteSheets_DoublesPlayerHealthbox[1]);
- LoadCompressedObjectPic(&sSpriteSheets_DoublesOpponentHealthbox[0]);
- LoadCompressedObjectPic(&sSpriteSheets_DoublesOpponentHealthbox[1]);
+ LoadCompressedSpriteSheet(&sSpriteSheets_DoublesPlayerHealthbox[0]);
+ LoadCompressedSpriteSheet(&sSpriteSheets_DoublesPlayerHealthbox[1]);
+ LoadCompressedSpriteSheet(&sSpriteSheets_DoublesOpponentHealthbox[0]);
+ LoadCompressedSpriteSheet(&sSpriteSheets_DoublesOpponentHealthbox[1]);
numberOfBattlers = 4;
}
for (i = 0; i < numberOfBattlers; i++)
- LoadCompressedObjectPic(&sSpriteSheets_HealthBar[gBattlerPositions[i]]);
+ LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[i]]);
}
bool8 BattleLoadAllHealthBoxesGfx(u8 state)
@@ -707,37 +704,37 @@ bool8 BattleLoadAllHealthBoxesGfx(u8 state)
if (state == 2)
{
if (gBattleTypeFlags & BATTLE_TYPE_SAFARI)
- LoadCompressedObjectPic(&sSpriteSheet_SafariHealthbox);
+ LoadCompressedSpriteSheet(&sSpriteSheet_SafariHealthbox);
else
- LoadCompressedObjectPic(&sSpriteSheet_SinglesPlayerHealthbox);
+ LoadCompressedSpriteSheet(&sSpriteSheet_SinglesPlayerHealthbox);
}
else if (state == 3)
- LoadCompressedObjectPic(&sSpriteSheet_SinglesOpponentHealthbox);
+ LoadCompressedSpriteSheet(&sSpriteSheet_SinglesOpponentHealthbox);
else if (state == 4)
- LoadCompressedObjectPic(&sSpriteSheets_HealthBar[gBattlerPositions[0]]);
+ LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[0]]);
else if (state == 5)
- LoadCompressedObjectPic(&sSpriteSheets_HealthBar[gBattlerPositions[1]]);
+ LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[1]]);
else
retVal = TRUE;
}
else
{
if (state == 2)
- LoadCompressedObjectPic(&sSpriteSheets_DoublesPlayerHealthbox[0]);
+ LoadCompressedSpriteSheet(&sSpriteSheets_DoublesPlayerHealthbox[0]);
else if (state == 3)
- LoadCompressedObjectPic(&sSpriteSheets_DoublesPlayerHealthbox[1]);
+ LoadCompressedSpriteSheet(&sSpriteSheets_DoublesPlayerHealthbox[1]);
else if (state == 4)
- LoadCompressedObjectPic(&sSpriteSheets_DoublesOpponentHealthbox[0]);
+ LoadCompressedSpriteSheet(&sSpriteSheets_DoublesOpponentHealthbox[0]);
else if (state == 5)
- LoadCompressedObjectPic(&sSpriteSheets_DoublesOpponentHealthbox[1]);
+ LoadCompressedSpriteSheet(&sSpriteSheets_DoublesOpponentHealthbox[1]);
else if (state == 6)
- LoadCompressedObjectPic(&sSpriteSheets_HealthBar[gBattlerPositions[0]]);
+ LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[0]]);
else if (state == 7)
- LoadCompressedObjectPic(&sSpriteSheets_HealthBar[gBattlerPositions[1]]);
+ LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[1]]);
else if (state == 8)
- LoadCompressedObjectPic(&sSpriteSheets_HealthBar[gBattlerPositions[2]]);
+ LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[2]]);
else if (state == 9)
- LoadCompressedObjectPic(&sSpriteSheets_HealthBar[gBattlerPositions[3]]);
+ LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[3]]);
else
retVal = TRUE;
}
@@ -1116,7 +1113,7 @@ void LoadAndCreateEnemyShadowSprites(void)
{
u8 battlerId;
- LoadCompressedObjectPic(&gSpriteSheet_EnemyShadow);
+ LoadCompressedSpriteSheet(&gSpriteSheet_EnemyShadow);
battlerId = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, GetBattlerSpriteCoord(battlerId, 0), GetBattlerSpriteCoord(battlerId, 1) + 29, 0xC8);
diff --git a/src/battle_interface.c b/src/battle_interface.c
index 9fd8e116a..4a8422091 100644
--- a/src/battle_interface.c
+++ b/src/battle_interface.c
@@ -1523,7 +1523,7 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo,
bar_data0 = 5;
}
- LoadCompressedObjectPicUsingHeap(&sStatusSummaryBarSpriteSheet);
+ LoadCompressedSpriteSheetUsingHeap(&sStatusSummaryBarSpriteSheet);
LoadSpriteSheet(&sStatusSummaryBallsSpriteSheet);
LoadSpritePalette(&sStatusSummaryBarSpritePal);
LoadSpritePalette(&sStatusSummaryBallsSpritePal);
diff --git a/src/battle_main.c b/src/battle_main.c
index a71d8662d..9cd661d9e 100644
--- a/src/battle_main.c
+++ b/src/battle_main.c
@@ -4,6 +4,7 @@
#include "battle_arena.h"
#include "battle_controllers.h"
#include "battle_interface.h"
+#include "battle_main.h"
#include "battle_message.h"
#include "battle_pyramid.h"
#include "battle_scripts.h"
@@ -39,6 +40,7 @@
#include "sound.h"
#include "sprite.h"
#include "string_util.h"
+#include "strings.h"
#include "task.h"
#include "text.h"
#include "trig.h"
@@ -56,23 +58,8 @@
#include "constants/species.h"
#include "constants/trainers.h"
-struct UnknownPokemonStruct4
-{
- /*0x00*/ u16 species;
- /*0x02*/ u16 heldItem;
- /*0x04*/ u8 nickname[POKEMON_NAME_LENGTH + 1];
- /*0x0F*/ u8 level;
- /*0x10*/ u16 hp;
- /*0x12*/ u16 maxhp;
- /*0x14*/ u32 status;
- /*0x18*/ u32 personality;
- /*0x1C*/ u8 gender;
- /*0x1D*/ u8 language;
-};
-
extern struct MusicPlayerInfo gMPlayInfo_SE1;
extern struct MusicPlayerInfo gMPlayInfo_SE2;
-extern u8 gUnknown_0203CF00[];
extern const struct BgTemplate gBattleBgTemplates[];
extern const struct WindowTemplate *const gBattleWindowTemplates[];
@@ -81,25 +68,9 @@ extern const u8 *const gBattlescriptsForBallThrow[];
extern const u8 *const gBattlescriptsForRunningByItem[];
extern const u8 *const gBattlescriptsForUsingItem[];
extern const u8 *const gBattlescriptsForSafariActions[];
-extern const struct ScanlineEffectParams gBattleIntroSlideScanlineEffectParams;
-
-// strings
-extern const u8 gText_LinkStandby3[];
-extern const u8 gText_BattleRecordCouldntBeSaved[];
-extern const u8 gText_ShedinjaJapaneseName[];
-extern const u8 gText_Poison[];
-extern const u8 gText_Sleep[];
-extern const u8 gText_Paralysis[];
-extern const u8 gText_Burn[];
-extern const u8 gText_Ice[];
-extern const u8 gText_Confusion[];
-extern const u8 gText_Love[];
// functions
-extern void sub_81B9150(void);
extern void sub_80B3AF8(u8 taskId); // cable club
-extern void sub_81B8FB0(u8, u8); // party menu
-extern u8 pokemon_order_func(u8); // party menu
// this file's functions
static void CB2_InitBattleInternal(void);
@@ -117,9 +88,9 @@ static void sub_8038F34(void);
static void sub_80392A8(void);
static void sub_803937C(void);
static void sub_803939C(void);
-static void sub_803980C(struct Sprite *sprite);
-static void sub_8039838(struct Sprite *sprite);
-static void sub_8039894(struct Sprite *sprite);
+static void SpriteCb_MoveWildMonToRight(struct Sprite *sprite);
+static void SpriteCb_WildMonShowHealthbox(struct Sprite *sprite);
+static void SpriteCb_WildMonAnimate(struct Sprite *sprite);
static void sub_80398D0(struct Sprite *sprite);
static void SpriteCB_AnimFaintOpponent(struct Sprite *sprite);
static void sub_8039AF4(struct Sprite *sprite);
@@ -296,6 +267,70 @@ u8 gNumberOfMovesToChoose;
u8 gUnknown_03005D7C[MAX_BATTLERS_COUNT];
// rom const data
+static const struct ScanlineEffectParams sIntroScanlineParams16Bit =
+{
+ (void *)REG_ADDR_BG3HOFS, SCANLINE_EFFECT_DMACNT_16BIT, 1
+};
+
+// unused
+static const struct ScanlineEffectParams sIntroScanlineParams32Bit =
+{
+ (void *)REG_ADDR_BG3HOFS, SCANLINE_EFFECT_DMACNT_32BIT, 1
+};
+
+const struct SpriteTemplate gUnknown_0831AC88 =
+{
+ .tileTag = 0,
+ .paletteTag = 0,
+ .oam = &gDummyOamData,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8038528,
+};
+
+static const u8 sText_ShedinjaJpnName[] = _("ヌケニン"); // Nukenin
+
+const struct OamData gOamData_831ACA8 =
+{
+ .y = 0,
+ .affineMode = 1,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 3,
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+ .affineParam = 0
+};
+
+const struct OamData gOamData_831ACB0 =
+{
+ .y = 0,
+ .affineMode = 1,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 3,
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 2,
+ .affineParam = 0
+};
+
+// Unknown and unused data. Feel free to remove.
+static const u16 gUnknown_0831ACB8[] = {0, 5, 0xfffe, 0};
+static const u16 *const gUnknown_0831ACC0 = gUnknown_0831ACB8;
+static const u16 gUnknown_0831ACC4[] = {0xfff0, 0, 0x0400, 0, 0, 0, 0x3c00, 0, 0x7ffe, 1, 0, 0};
+static const u16 *const gUnknown_0831ACDC = gUnknown_0831ACC4;
+
static const s8 gUnknown_0831ACE0[] ={-32, -16, -16, -32, -32, 0, 0, 0};
// format: attacking type, defending type, damage multiplier
@@ -633,7 +668,7 @@ static void CB2_InitBattleInternal(void)
gScanlineEffectRegBuffers[1][i] = 0xFF10;
}
- ScanlineEffect_SetParams(gBattleIntroSlideScanlineEffectParams);
+ ScanlineEffect_SetParams(sIntroScanlineParams16Bit);
}
ResetPaletteFade();
@@ -2605,7 +2640,7 @@ static void TryCorrectShedinjaLanguage(struct Pokemon *mon)
&& GetMonData(mon, MON_DATA_LANGUAGE) != language)
{
GetMonData(mon, MON_DATA_NICKNAME, nickname);
- if (StringCompareWithoutExtCtrlCodes(nickname, gText_ShedinjaJapaneseName) == 0)
+ if (StringCompareWithoutExtCtrlCodes(nickname, sText_ShedinjaJpnName) == 0)
SetMonData(mon, MON_DATA_LANGUAGE, &language);
}
}
@@ -2618,38 +2653,38 @@ u32 sub_80397C4(u32 setId, u32 tableId)
#define sBattler data[0]
#define sSpeciesId data[2]
-void oac_poke_opponent(struct Sprite *sprite)
+void SpriteCb_WildMon(struct Sprite *sprite)
{
- sprite->callback = sub_803980C;
+ sprite->callback = SpriteCb_MoveWildMonToRight;
StartSpriteAnimIfDifferent(sprite, 0);
BeginNormalPaletteFade(0x20000, 0, 10, 10, RGB(8, 8, 8));
}
-static void sub_803980C(struct Sprite *sprite)
+static void SpriteCb_MoveWildMonToRight(struct Sprite *sprite)
{
if ((gIntroSlideFlags & 1) == 0)
{
sprite->pos2.x += 2;
if (sprite->pos2.x == 0)
{
- sprite->callback = sub_8039838;
+ sprite->callback = SpriteCb_WildMonShowHealthbox;
}
}
}
-static void sub_8039838(struct Sprite *sprite)
+static void SpriteCb_WildMonShowHealthbox(struct Sprite *sprite)
{
if (sprite->animEnded)
{
sub_8076918(sprite->sBattler);
SetHealthboxSpriteVisible(gHealthboxSpriteIds[sprite->sBattler]);
- sprite->callback = sub_8039894;
+ sprite->callback = SpriteCb_WildMonAnimate;
StartSpriteAnimIfDifferent(sprite, 0);
BeginNormalPaletteFade(0x20000, 0, 10, 0, RGB(8, 8, 8));
}
}
-static void sub_8039894(struct Sprite *sprite)
+static void SpriteCb_WildMonAnimate(struct Sprite *sprite)
{
if (!gPaletteFade.active)
{
diff --git a/src/battle_message.c b/src/battle_message.c
index 75f9b1da8..f283d959c 100644
--- a/src/battle_message.c
+++ b/src/battle_message.c
@@ -14,6 +14,7 @@
#include "palette.h"
#include "recorded_battle.h"
#include "string_util.h"
+#include "strings.h"
#include "text.h"
#include "window.h"
#include "constants/battle_string_ids.h"
@@ -40,15 +41,7 @@ extern u8 gUnknown_0203C7B4;
extern const u8 gTrainerClassNames[][13];
extern const u16 gUnknown_08D85620[];
-// strings
-extern const u8 gText_PkmnBoxSomeonesPCFull[];
-extern const u8 gText_PkmnBoxLanettesPCFull[];
-extern const u8 gText_PkmnTransferredSomeonesPC[];
-extern const u8 gText_PkmnTransferredLanettesPC[];
-
-extern u8 GetFrontierBrainTrainerClass(void); // battle_frontier_2
extern u8 GetTrainerHillOpponentClass(u16 trainerId); // pokenav
-extern void CopyFrontierBrainTrainerName(u8 *txtPtr); // battle_frontier_2
extern void GetTrainerHillTrainerName(u8 *txtPtr, u16 trainerId); // pokenav
extern void CopyTrainerHillTrainerText(u8 arg0, u16 trainerId); // pokenav
diff --git a/src/battle_pike.c b/src/battle_pike.c
index 893796790..303146f6a 100644
--- a/src/battle_pike.c
+++ b/src/battle_pike.c
@@ -1611,7 +1611,7 @@ static void sub_81A8830(void)
static bool8 CanEncounterWildMon(u8 enemyMonLevel)
{
- if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3))
+ if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG))
{
u8 monAbility = GetMonAbility(&gPlayerParty[0]);
if (monAbility == ABILITY_KEEN_EYE || monAbility == ABILITY_INTIMIDATE)
diff --git a/src/battle_pyramid.c b/src/battle_pyramid.c
index 45aca91c8..244e61d17 100644
--- a/src/battle_pyramid.c
+++ b/src/battle_pyramid.c
@@ -8,7 +8,9 @@
#include "save.h"
#include "strings.h"
#include "fieldmap.h"
+#include "party_menu.h"
#include "palette.h"
+#include "field_screen_effect.h"
#include "field_message_box.h"
#include "random.h"
#include "item.h"
@@ -32,9 +34,6 @@
#include "constants/moves.h"
#include "constants/species.h"
-extern u8 gSelectedOrderFromParty[3];
-extern void door_upload_tiles(void);
-
extern const struct MapLayout *const gMapLayouts[];
extern const u16 gUnknown_08D856C8[][16];
diff --git a/src/battle_pyramid_bag.c b/src/battle_pyramid_bag.c
index 8a6348522..12f631155 100644
--- a/src/battle_pyramid_bag.c
+++ b/src/battle_pyramid_bag.c
@@ -547,7 +547,7 @@ static bool8 sub_81C5238(void)
gPyramidBagResources->state++;
break;
case 3:
- LoadCompressedObjectPic(&gUnknown_0861F3CC);
+ LoadCompressedSpriteSheet(&gUnknown_0861F3CC);
gPyramidBagResources->state++;
break;
case 4:
@@ -964,7 +964,7 @@ static void HandleMenuActionInput(u8 taskId)
{
if (sub_81221EC() != TRUE)
{
- s8 id = GetMenuCursorPos();
+ s8 id = Menu_GetCursorPos();
if (gMain.newKeys & DPAD_UP)
{
if (id > 0 && IsValidMenuAction(id - 2))
diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c
index f1e7143dc..c71043958 100644
--- a/src/battle_script_commands.c
+++ b/src/battle_script_commands.c
@@ -46,22 +46,18 @@
#include "battle_arena.h"
#include "battle_pike.h"
#include "battle_pyramid.h"
+#include "field_specials.h"
+#include "pokemon_summary_screen.h"
extern struct MusicPlayerInfo gMPlayInfo_BGM;
extern const u8* const gBattleScriptsForMoveEffects[];
// functions
-extern void ShowSelectMovePokemonSummaryScreen(struct Pokemon* party, u8 monPartyId, u8 monCount, void (*callback)(void), u16 move); // pokemon summary screen
-extern u8 sub_81C1B94(void); // pokemon summary screen
extern void sub_81D388C(struct Pokemon* mon, void* statStoreLocation); // pokenav.s
-extern void sub_81D3640(u8 arg0, void* statStoreLocation1, void* statStoreLocation2, u8 arg3, u8 arg4, u8 arg5); // pokenav.s
-extern void sub_81D3784(u8 arg0, void* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4); // pokenav.s
-extern u8* GetMonNickname(struct Pokemon* mon, u8* dst); // party_menu
-extern void sub_81B8E80(u8 battlerId, u8, u8); // party menu
-extern bool8 sub_81B1250(void); // ?
+extern void sub_81D3640(u16 arg0, void* statStoreLocation1, void* statStoreLocation2, u8 arg3, u8 arg4, u8 arg5); // pokenav.s
+extern void sub_81D3784(u16 arg0, void* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4); // pokenav.s
extern u8 sub_813B21C(void);
-extern u16 get_unknown_box_id(void);
#define DEFENDER_IS_PROTECTED ((gProtectStructs[gBattlerTarget].protected) && (gBattleMoves[gCurrentMove].flags & FLAG_PROTECT_AFFECTED))
@@ -7609,7 +7605,7 @@ static void atk8F_forcerandomswitch(void)
}
*(gBattleStruct->monToSwitchIntoId + gBattlerTarget) = i;
- if (!sub_81B1250())
+ if (!IsMultiBattle())
sub_803BDA0(gBattlerTarget);
if ((gBattleTypeFlags & BATTLE_TYPE_LINK && gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER)
diff --git a/src/battle_setup.c b/src/battle_setup.c
index 5377f39b5..56bed77c8 100644
--- a/src/battle_setup.c
+++ b/src/battle_setup.c
@@ -24,6 +24,7 @@
#include "window.h"
#include "event_object_movement.h"
#include "event_scripts.h"
+#include "tv.h"
#include "trainer_see.h"
#include "field_message_box.h"
#include "sound.h"
@@ -36,6 +37,9 @@
#include "gym_leader_rematch.h"
#include "battle_pike.h"
#include "battle_pyramid.h"
+#include "fldeff.h"
+#include "fldeff_misc.h"
+#include "field_control_avatar.h"
#include "constants/map_types.h"
#include "constants/battle_frontier.h"
@@ -57,12 +61,8 @@ struct TrainerBattleParameter
};
extern bool32 InTrainerHill(void);
-extern bool32 FieldPoisonEffectIsRunning(void);
-extern void RestartWildEncounterImmunitySteps(void);
extern void ClearPoisonStepCounter(void);
-extern void sub_81BE72C(void);
extern void sub_808BCF4(void);
-extern void sub_80EECC8(void);
extern void sub_80AF6F0(void);
extern u16 sub_81D6180(u8 localId);
extern bool8 GetTrainerHillTrainerFlag(u8 eventObjId);
@@ -338,7 +338,7 @@ static void Task_BattleStart(u8 taskId)
switch (tState)
{
case 0:
- if (!FieldPoisonEffectIsRunning()) // is poison not active?
+ if (!FldEffPoison_IsActive()) // is poison not active?
{
BattleTransition_StartOnField(tTransition);
sub_81BE72C();
diff --git a/src/battle_tower.c b/src/battle_tower.c
index 4a9e0dbc4..5ff396a9e 100644
--- a/src/battle_tower.c
+++ b/src/battle_tower.c
@@ -31,8 +31,6 @@
#include "constants/species.h"
#include "constants/easy_chat.h"
-extern const u16 gUnknown_085DFA46[];
-
extern const u8 MossdeepCity_SpaceCenter_2F_EventScript_224157[];
extern const u8 MossdeepCity_SpaceCenter_2F_EventScript_224166[];
@@ -942,55 +940,55 @@ struct
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_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}
};
@@ -2147,7 +2145,7 @@ static void FillFactoryTentTrainerParty(u16 trainerId, u8 firstMonId)
void FrontierSpeechToString(const u16 *words)
{
ConvertEasyChatWordsToString(gStringVar4, words, 3, 2);
- if (GetStringWidth(1, gStringVar4, -1) > 204)
+ if (GetStringWidth(1, gStringVar4, -1) > 204u)
{
s32 i = 0;
diff --git a/src/battle_transition.c b/src/battle_transition.c
index 37a8cd63f..786d5e869 100644
--- a/src/battle_transition.c
+++ b/src/battle_transition.c
@@ -3,8 +3,10 @@
#include "battle_transition.h"
#include "bg.h"
#include "decompress.h"
+#include "event_object_movement.h"
#include "field_camera.h"
#include "field_effect.h"
+#include "field_weather.h"
#include "gpu_regs.h"
#include "main.h"
#include "alloc.h"
@@ -57,10 +59,6 @@ struct StructRectangularSpiral
typedef bool8 (*TransitionStateFunc)(struct Task *task);
typedef bool8 (*TransitionSpriteCallback)(struct Sprite *sprite);
-extern const struct OamData gEventObjectBaseOam_32x32;
-
-extern void SetWeatherScreenFadeOut(void);
-
// this file's functions
static void LaunchBattleTransitionTask(u8 transitionId);
static void Task_BattleTransitionMain(u8 taskId);
diff --git a/src/battle_util2.c b/src/battle_util2.c
index a9891814c..0a0f65b95 100644
--- a/src/battle_util2.c
+++ b/src/battle_util2.c
@@ -3,17 +3,14 @@
#include "battle_controllers.h"
#include "alloc.h"
#include "pokemon.h"
+#include "party_menu.h"
#include "event_data.h"
#include "constants/abilities.h"
#include "random.h"
#include "battle_scripts.h"
-extern u8 gUnknown_0203CF00[];
-
extern void sub_81D55D0(void);
extern void sub_81D5694(void);
-extern u8 pokemon_order_func(u8);
-extern void sub_81B8FB0(u8, u8);
void AllocateBattleResources(void)
{
@@ -42,7 +39,7 @@ void AllocateBattleResources(void)
if (gBattleTypeFlags & BATTLE_TYPE_SECRET_BASE)
{
- u16 currSecretBaseId = VarGet(VAR_0x4054);
+ u16 currSecretBaseId = VarGet(VAR_CURRENT_SECRET_BASE);
CreateSecretBaseEnemyParty(&gSaveBlock1Ptr->secretBases[currSecretBaseId]);
}
}
diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c
index 22f99a426..6e968fc0a 100644
--- a/src/berry_tag_screen.c
+++ b/src/berry_tag_screen.c
@@ -349,11 +349,11 @@ static bool8 LoadBerryTagGfx(void)
sBerryTag->gfxState++;
break;
case 5:
- LoadCompressedObjectPic(&gUnknown_0857FDEC);
+ LoadCompressedSpriteSheet(&gUnknown_0857FDEC);
sBerryTag->gfxState++;
break;
default:
- LoadCompressedObjectPalette(&gUnknown_0857FDF4);
+ LoadCompressedSpritePalette(&gUnknown_0857FDF4);
return TRUE; // done
}
diff --git a/src/bg.c b/src/bg.c
index a41075ad7..21624e4a0 100644
--- a/src/bg.c
+++ b/src/bg.c
@@ -33,8 +33,8 @@ struct BgConfig2
u32 unk_3:18;
void* tilemap;
- u32 bg_x;
- u32 bg_y;
+ s32 bg_x;
+ s32 bg_y;
};
static IWRAM_DATA struct BgControl sGpuBgConfigs;
@@ -524,12 +524,12 @@ u16 GetBgAttribute(u8 bg, u8 attributeId)
case 8:
switch (GetBgType(bg))
{
- case 0:
- return GetBgMetricTextMode(bg, 0) * 0x800;
- case 1:
- return GetBgMetricAffineMode(bg, 0) * 0x100;
- default:
- return 0;
+ case 0:
+ return GetBgMetricTextMode(bg, 0) * 0x800;
+ case 1:
+ return GetBgMetricAffineMode(bg, 0) * 0x100;
+ default:
+ return 0;
}
case 9:
return GetBgType(bg);
@@ -540,7 +540,7 @@ u16 GetBgAttribute(u8 bg, u8 attributeId)
}
}
-u32 ChangeBgX(u8 bg, u32 value, u8 op)
+s32 ChangeBgX(u8 bg, s32 value, u8 op)
{
u8 mode;
u16 temp1;
@@ -610,7 +610,7 @@ u32 ChangeBgX(u8 bg, u32 value, u8 op)
return sGpuBgConfigs2[bg].bg_x;
}
-u32 GetBgX(u8 bg)
+s32 GetBgX(u8 bg)
{
if (IsInvalidBg32(bg) != FALSE)
return -1;
@@ -620,7 +620,7 @@ u32 GetBgX(u8 bg)
return sGpuBgConfigs2[bg].bg_x;
}
-u32 ChangeBgY(u8 bg, u32 value, u8 op)
+s32 ChangeBgY(u8 bg, s32 value, u8 op)
{
u8 mode;
u16 temp1;
@@ -690,7 +690,7 @@ u32 ChangeBgY(u8 bg, u32 value, u8 op)
return sGpuBgConfigs2[bg].bg_y;
}
-u32 ChangeBgY_ScreenOff(u8 bg, u32 value, u8 op)
+s32 ChangeBgY_ScreenOff(u8 bg, u32 value, u8 op)
{
u8 mode;
u16 temp1;
@@ -761,7 +761,7 @@ u32 ChangeBgY_ScreenOff(u8 bg, u32 value, u8 op)
return sGpuBgConfigs2[bg].bg_y;
}
-u32 GetBgY(u8 bg)
+s32 GetBgY(u8 bg)
{
if (IsInvalidBg32(bg) != FALSE)
return -1;
@@ -778,14 +778,10 @@ void SetBgAffine(u8 bg, u32 srcCenterX, u32 srcCenterY, s16 dispCenterX, s16 dis
u8 Unused_AdjustBgMosaic(u8 a1, u8 a2)
{
- u16 result;
- s16 test1;
- s16 test2;
-
- result = GetGpuReg(REG_OFFSET_MOSAIC);
+ u16 result = GetGpuReg(REG_OFFSET_MOSAIC);
+ s16 test1 = result & 0xF;
+ s16 test2 = (result >> 4) & 0xF;
- test1 = result & 0xF;
- test2 = (result >> 4) & 0xF;
result &= 0xFF00;
switch (a2)
@@ -1039,47 +1035,43 @@ void WriteSequenceToBgTilemapBuffer(u8 bg, u16 firstTileNum, u8 x, u8 y, u8 widt
u16 mode2;
u16 attribute;
u16 mode3;
+ u16 x16, y16;
- u16 x16;
- u16 y16;
-
- if (IsInvalidBg32(bg) == FALSE && IsTileMapOutsideWram(bg) == FALSE)
+ if (!IsInvalidBg32(bg) && !IsTileMapOutsideWram(bg))
{
attribute = GetBgControlAttribute(bg, BG_CTRL_ATTR_SCREENSIZE);
mode = GetBgMetricTextMode(bg, 0x1) * 0x20;
mode2 = GetBgMetricTextMode(bg, 0x2) * 0x20;
switch (GetBgType(bg))
{
- case 0:
- for (y16 = y; y16 < (y + height); y16++)
+ case 0:
+ for (y16 = y; y16 < (y + height); y16++)
+ {
+ for (x16 = x; x16 < (x + width); x16++)
{
- for (x16 = x; x16 < (x + width); x16++)
- {
- CopyTileMapEntry(&firstTileNum, &((u16*)sGpuBgConfigs2[bg].tilemap)[(u16)GetTileMapIndexFromCoords(x16, y16, attribute, mode, mode2)], paletteSlot, 0, 0);
- firstTileNum = (firstTileNum & 0xFC00) + ((firstTileNum + tileNumDelta) & 0x3FF);
- }
+ CopyTileMapEntry(&firstTileNum, &((u16*)sGpuBgConfigs2[bg].tilemap)[(u16)GetTileMapIndexFromCoords(x16, y16, attribute, mode, mode2)], paletteSlot, 0, 0);
+ firstTileNum = (firstTileNum & 0xFC00) + ((firstTileNum + tileNumDelta) & 0x3FF);
}
- break;
- case 1:
- mode3 = GetBgMetricAffineMode(bg, 0x1);
- for (y16 = y; y16 < (y + height); y16++)
+ }
+ break;
+ case 1:
+ mode3 = GetBgMetricAffineMode(bg, 0x1);
+ for (y16 = y; y16 < (y + height); y16++)
+ {
+ for (x16 = x; x16 < (x + width); x16++)
{
- for (x16 = x; x16 < (x + width); x16++)
- {
- ((u8*)sGpuBgConfigs2[bg].tilemap)[(y16 * mode3) + x16] = firstTileNum;
- firstTileNum = (firstTileNum & 0xFC00) + ((firstTileNum + tileNumDelta) & 0x3FF);
- }
+ ((u8*)sGpuBgConfigs2[bg].tilemap)[(y16 * mode3) + x16] = firstTileNum;
+ firstTileNum = (firstTileNum & 0xFC00) + ((firstTileNum + tileNumDelta) & 0x3FF);
}
- break;
+ }
+ break;
}
}
}
u16 GetBgMetricTextMode(u8 bg, u8 whichMetric)
{
- u8 attribute;
-
- attribute = GetBgControlAttribute(bg, BG_CTRL_ATTR_SCREENSIZE);
+ u8 attribute = GetBgControlAttribute(bg, BG_CTRL_ATTR_SCREENSIZE);
switch (whichMetric)
{
@@ -1125,9 +1117,7 @@ u16 GetBgMetricTextMode(u8 bg, u8 whichMetric)
u32 GetBgMetricAffineMode(u8 bg, u8 whichMetric)
{
- u8 attribute;
-
- attribute = GetBgControlAttribute(bg, BG_CTRL_ATTR_SCREENSIZE);
+ u8 attribute = GetBgControlAttribute(bg, BG_CTRL_ATTR_SCREENSIZE);
switch (whichMetric)
{
diff --git a/src/bike.c b/src/bike.c
index b9d247c5d..1e91baab0 100644
--- a/src/bike.c
+++ b/src/bike.c
@@ -19,8 +19,6 @@ extern u8 sub_808B9BC(u8 direction);
extern u8 sub_808B9A4(u8 direction);
extern u8 sub_808C1B4(u8 direction);
extern u8 sub_808B9D4(u8 direction);
-extern void Overworld_ClearSavedMusic(void);
-extern void Overworld_PlaySpecialMapMusic(void);
// this file's functions
static void MovePlayerOnMachBike(u8, u16, u16);
diff --git a/src/blit.c b/src/blit.c
index b4d5f7de5..26a63fe9b 100644
--- a/src/blit.c
+++ b/src/blit.c
@@ -1,12 +1,12 @@
#include "global.h"
#include "blit.h"
-void BlitBitmapRect4BitWithoutColorKey(struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 srcY, u16 dstX, u16 dstY, u16 width, u16 height)
+void BlitBitmapRect4BitWithoutColorKey(const struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 srcY, u16 dstX, u16 dstY, u16 width, u16 height)
{
BlitBitmapRect4Bit(src, dst, srcX, srcY, dstX, dstY, width, height, 0xFF);
}
-void BlitBitmapRect4Bit(struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 srcY, u16 dstX, u16 dstY, u16 width, u16 height, u8 colorKey)
+void BlitBitmapRect4Bit(const struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 srcY, u16 dstX, u16 dstY, u16 width, u16 height, u8 colorKey)
{
s32 xEnd;
s32 yEnd;
@@ -14,7 +14,7 @@ void BlitBitmapRect4Bit(struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 sr
s32 multiplierDstY;
s32 loopSrcY, loopDstY;
s32 loopSrcX, loopDstX;
- u8 *pixelsSrc;
+ const u8 *pixelsSrc;
u8 *pixelsDst;
s32 toOrr;
s32 toAnd;
@@ -103,7 +103,7 @@ void FillBitmapRect4Bit(struct Bitmap *surface, u16 x, u16 y, u16 width, u16 hei
}
}
-void BlitBitmapRect4BitTo8Bit(struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 srcY, u16 dstX, u16 dstY, u16 width, u16 height, u8 colorKey, u8 paletteOffset)
+void BlitBitmapRect4BitTo8Bit(const struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 srcY, u16 dstX, u16 dstY, u16 width, u16 height, u8 colorKey, u8 paletteOffset)
{
s32 palOffsetBits;
s32 xEnd;
@@ -112,7 +112,7 @@ void BlitBitmapRect4BitTo8Bit(struct Bitmap *src, struct Bitmap *dst, u16 srcX,
s32 multiplierDstY;
s32 loopSrcY, loopDstY;
s32 loopSrcX, loopDstX;
- u8 *pixelsSrc;
+ const u8 *pixelsSrc;
u8 *pixelsDst;
s32 colorKeyBits;
diff --git a/src/bug.c b/src/bug.c
index 535e8946a..31d1a9740 100644
--- a/src/bug.c
+++ b/src/bug.c
@@ -252,7 +252,7 @@ void sub_81104E4(struct Sprite *sprite)
if (IsContest())
gBattleAnimArgs[2] /= 2;
- InitAnimSpritePos(sprite, 1);
+ InitSpritePosToAnimAttacker(sprite, 1);
sprite->data[0] = gBattleAnimArgs[2];
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
@@ -274,7 +274,7 @@ void sub_81104E4(struct Sprite *sprite)
static void sub_811057C(struct Sprite *sprite)
{
- if (TranslateAnimLinear(sprite))
+ if (AnimTranslateLinear(sprite))
{
DestroyAnimSprite(sprite);
return;
@@ -389,7 +389,7 @@ void AnimTranslateStinger(struct Sprite *sprite)
}
}
- InitAnimSpritePos(sprite, 1);
+ InitSpritePosToAnimAttacker(sprite, 1);
lVarX = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2];
lVarY = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
@@ -414,7 +414,7 @@ void AnimTranslateStinger(struct Sprite *sprite)
// arg 5: wave amplitude
void AnimMissileArc(struct Sprite *sprite)
{
- InitAnimSpritePos(sprite, 1);
+ InitSpritePosToAnimAttacker(sprite, 1);
if (GetBattlerSide(gBattleAnimAttacker))
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
diff --git a/src/cable_car.c b/src/cable_car.c
index 00606c905..207a0c22d 100755
--- a/src/cable_car.c
+++ b/src/cable_car.c
@@ -259,7 +259,7 @@ static void CableCarMainCallback_Setup(void)
break;
case 2:
for (i = 0; i < 3; i++)
- LoadCompressedObjectPic(&gUnknown_085CDB54[i]);
+ LoadCompressedSpriteSheet(&gUnknown_085CDB54[i]);
LoadSpritePalettes(gUnknown_085CDB74);
sCableCar->mtChimneyTilemap = malloc_and_decompress(gCableCarMtChimneyTilemap, &sizeOut);
@@ -351,7 +351,7 @@ static void CableCarMainCallback_Run(void)
static void CleanupCableCar(void)
{
u8 i = 0;
-
+
HideBg(0);
HideBg(1);
HideBg(2);
@@ -361,7 +361,7 @@ static void CleanupCableCar(void)
sub_80AB130(WEATHER_NONE);
for (i = 0; i < 20; i++)
gWeatherPtr->sprites.s2.ashSprites[i] = NULL;
-
+
ResetTasks();
ResetSpriteData();
ResetPaletteFade();
diff --git a/src/clock.c b/src/clock.c
index aea6c2088..2d4da92ab 100644
--- a/src/clock.c
+++ b/src/clock.c
@@ -1,7 +1,8 @@
#include "global.h"
-#include "rom6.h"
#include "event_data.h"
#include "rtc.h"
+#include "time_events.h"
+#include "field_specials.h"
#include "lottery_corner.h"
#include "dewford_trend.h"
#include "tv.h"
diff --git a/src/contest.c b/src/contest.c
index b924f1032..7845dce45 100644
--- a/src/contest.c
+++ b/src/contest.c
@@ -2483,7 +2483,7 @@ u8 sub_80DB0C4(void)
{
u8 spriteId;
- LoadCompressedObjectPic(&gUnknown_08587C00);
+ LoadCompressedSpriteSheet(&gUnknown_08587C00);
LoadCompressedPalette(gContest2Pal, 0x110, 32);
spriteId = CreateSprite(&gSpriteTemplate_8587BE8, 112, 36, 30);
gSprites[spriteId].oam.paletteNum = 1;
@@ -2495,8 +2495,8 @@ u8 sub_80DB120(void)
{
u8 spriteId;
- LoadCompressedObjectPic(&gUnknown_08587C08);
- LoadCompressedObjectPalette(&gUnknown_08587C10);
+ LoadCompressedSpriteSheet(&gUnknown_08587C08);
+ LoadCompressedSpritePalette(&gUnknown_08587C10);
spriteId = CreateSprite(&gSpriteTemplate_8587C18, 96, 10, 29);
gSprites[spriteId].invisible = TRUE;
gSprites[spriteId].data[0] = gSprites[spriteId].oam.tileNum;
diff --git a/src/credits.c b/src/credits.c
index 67ab97481..5e52e5fb7 100644
--- a/src/credits.c
+++ b/src/credits.c
@@ -1102,7 +1102,6 @@ static const struct SpriteTemplate gUnknown_085E7068 =
.callback = sub_81772B8,
};
-void sub_8175620(void);
static void sub_8175744(u8 taskIdA);
static void sub_8175774(u8 taskIdA);
static void sub_8175808(u8 taskIdA);
@@ -1964,9 +1963,9 @@ static bool8 sub_8176AB0(u8 data, u8 taskIdA)
case 2:
if (gSaveBlock2Ptr->playerGender == MALE)
{
- LoadCompressedObjectPic(gUnknown_085F5334);
- LoadCompressedObjectPic(gUnknown_085F53BC);
- LoadCompressedObjectPic(gUnknown_085F5354);
+ LoadCompressedSpriteSheet(gUnknown_085F5334);
+ LoadCompressedSpriteSheet(gUnknown_085F53BC);
+ LoadCompressedSpriteSheet(gUnknown_085F5354);
LoadSpritePalettes(gUnknown_085F5384);
spriteId = intro_create_brendan_sprite(120, 46);
@@ -1981,9 +1980,9 @@ static bool8 sub_8176AB0(u8 data, u8 taskIdA)
}
else
{
- LoadCompressedObjectPic(gUnknown_085F5344);
- LoadCompressedObjectPic(gUnknown_085F53AC);
- LoadCompressedObjectPic(gUnknown_085F5354);
+ LoadCompressedSpriteSheet(gUnknown_085F5344);
+ LoadCompressedSpriteSheet(gUnknown_085F53AC);
+ LoadCompressedSpriteSheet(gUnknown_085F5354);
LoadSpritePalettes(gUnknown_085F5384);
spriteId = intro_create_may_sprite(120, 46);
diff --git a/src/dark.c b/src/dark.c
index d4a4f0b8a..efa6e9498 100644
--- a/src/dark.c
+++ b/src/dark.c
@@ -1,11 +1,29 @@
#include "global.h"
#include "battle_anim.h"
+#include "contest.h"
+#include "gpu_regs.h"
+#include "graphics.h"
+#include "palette.h"
+#include "scanline_effect.h"
+#include "trig.h"
+#include "util.h"
#include "constants/rgb.h"
-extern void sub_81138D4(struct Sprite *);
-extern void sub_81139DC(struct Sprite *);
-extern void sub_8113A90(struct Sprite *);
-extern void sub_81144BC(struct Sprite *);
+void sub_81138D4(struct Sprite *);
+void sub_81139DC(struct Sprite *);
+void sub_8113A90(struct Sprite *);
+void sub_81144BC(struct Sprite *);
+static void sub_811375C(u8);
+static void sub_811381C(u8);
+static void sub_8113950(struct Sprite *);
+static void sub_8113A18(struct Sprite *);
+static void sub_8113A58(struct Sprite *);
+static void sub_8113B90(struct Sprite *);
+static void sub_8113D60(u8);
+static void sub_81140C8(u8);
+static void sub_8114244(struct Task *);
+static void sub_8114374(u8);
+static void sub_8114748(u8);
const struct SpriteTemplate gUnknown_08596FC8 =
{
@@ -167,3 +185,797 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_8597138 =
.affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_81144BC,
};
+
+void sub_81136E8(u8 taskId)
+{
+ int battler;
+ gTasks[taskId].data[0] = gBattleAnimArgs[0];
+ battler = gBattleAnimAttacker;
+ gTasks[taskId].data[1] = 16;
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 0));
+ if (GetBattlerSpriteBGPriorityRank(battler) == 1)
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG1);
+ else
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG2);
+
+ gTasks[taskId].func = sub_811375C;
+}
+
+static void sub_811375C(u8 taskId)
+{
+ u8 blendA = gTasks[taskId].data[1] >> 8;
+ u8 blendB = gTasks[taskId].data[1];
+ if (gTasks[taskId].data[2] == (u8)gTasks[taskId].data[0])
+ {
+ blendA++;
+ blendB--;
+ gTasks[taskId].data[1] = BLDALPHA_BLEND(blendB, blendA);
+ SetGpuReg(REG_OFFSET_BLDALPHA, gTasks[taskId].data[1]);
+ gTasks[taskId].data[2] = 0;
+ if (blendA == 16)
+ {
+ gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].invisible = 1;
+ DestroyAnimVisualTask(taskId);
+ }
+ }
+ else
+ {
+ gTasks[taskId].data[2]++;
+ }
+}
+
+void sub_81137E4(u8 taskId)
+{
+ gTasks[taskId].data[0] = gBattleAnimArgs[0];
+ gTasks[taskId].data[1] = BLDALPHA_BLEND(0, 16);
+ gTasks[taskId].func = sub_811381C;
+ SetGpuReg(REG_OFFSET_BLDALPHA, gTasks[taskId].data[1]);
+}
+
+static void sub_811381C(u8 taskId)
+{
+ u8 blendA = gTasks[taskId].data[1] >> 8;
+ u8 blendB = gTasks[taskId].data[1];
+ if (gTasks[taskId].data[2] == (u8)gTasks[taskId].data[0])
+ {
+ blendA--;
+ blendB++;
+ gTasks[taskId].data[1] = (blendA << 8) | blendB;
+ SetGpuReg(REG_OFFSET_BLDALPHA, gTasks[taskId].data[1]);
+ gTasks[taskId].data[2] = 0;
+ if (blendA == 0)
+ {
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, 0);
+ DestroyAnimVisualTask(taskId);
+ }
+ }
+ else
+ {
+ gTasks[taskId].data[2]++;
+ }
+}
+
+void sub_8113888(u8 taskId)
+{
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16));
+ if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == 1)
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG1);
+ else
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG2);
+
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_81138D4(struct Sprite *sprite)
+{
+ sprite->data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->data[3] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
+ sprite->data[0] = 0x7E;
+ InitSpriteDataForLinearTranslation(sprite);
+ sprite->data[3] = -sprite->data[1];
+ sprite->data[4] = -sprite->data[2];
+ sprite->data[6] = 0xFFD8;
+ sprite->callback = sub_8113950;
+ sprite->callback(sprite);
+}
+
+static void sub_8113950(struct Sprite *sprite)
+{
+ sprite->data[3] += sprite->data[1];
+ sprite->data[4] += sprite->data[2];
+ sprite->pos2.x = sprite->data[3] >> 8;
+ sprite->pos2.y = sprite->data[4] >> 8;
+ if (sprite->data[7] == 0)
+ {
+ sprite->data[3] += sprite->data[1];
+ sprite->data[4] += sprite->data[2];
+ sprite->pos2.x = sprite->data[3] >> 8;
+ sprite->pos2.y = sprite->data[4] >> 8;
+ sprite->data[0]--;
+ }
+
+ sprite->pos2.y += Sin(sprite->data[5], sprite->data[6]);
+ sprite->data[5] = (sprite->data[5] + 3) & 0xFF;
+ if (sprite->data[5] > 0x7F)
+ {
+ sprite->data[5] = 0;
+ sprite->data[6] += 20;
+ sprite->data[7]++;
+ }
+
+ if (--sprite->data[0] == 0)
+ DestroyAnimSprite(sprite);
+}
+
+void sub_81139DC(struct Sprite *sprite)
+{
+ sprite->pos1.x += gBattleAnimArgs[0];
+ sprite->pos1.y += gBattleAnimArgs[1];
+ StartSpriteAffineAnim(sprite, gBattleAnimArgs[2]);
+ sprite->data[0] = gBattleAnimArgs[3];
+ sprite->data[1] = gBattleAnimArgs[4];
+ sprite->data[2] = gBattleAnimArgs[5];
+ sprite->callback = sub_8113A18;
+}
+
+static void sub_8113A18(struct Sprite *sprite)
+{
+ sprite->data[4] += sprite->data[0];
+ sprite->data[5] += sprite->data[1];
+ sprite->pos2.x = sprite->data[4] >> 8;
+ sprite->pos2.y = sprite->data[5] >> 8;
+ if (++sprite->data[3] == sprite->data[2])
+ sprite->callback = sub_8113A58;
+}
+
+static void sub_8113A58(struct Sprite *sprite)
+{
+ sprite->data[4] -= sprite->data[0];
+ sprite->data[5] -= sprite->data[1];
+ sprite->pos2.x = sprite->data[4] >> 8;
+ sprite->pos2.y = sprite->data[5] >> 8;
+ if (--sprite->data[3] == 0)
+ DestroySpriteAndMatrix(sprite);
+}
+
+void sub_8113A90(struct Sprite *sprite)
+{
+ u8 battler;
+ s8 xOffset;
+
+ if (gBattleAnimArgs[0] == 0)
+ battler = gBattleAnimAttacker;
+ else
+ battler = gBattleAnimTarget;
+
+ xOffset = 20;
+ sprite->oam.tileNum += 4;
+
+ switch (gBattleAnimArgs[1])
+ {
+ case 0:
+ sprite->pos1.x = sub_80A861C(battler, 5) - 8;
+ sprite->pos1.y = sub_80A861C(battler, 2) + 8;
+ break;
+ case 1:
+ sprite->pos1.x = sub_80A861C(battler, 5) - 14;
+ sprite->pos1.y = sub_80A861C(battler, 2) + 16;
+ break;
+ case 2:
+ sprite->pos1.x = sub_80A861C(battler, 4) + 8;
+ sprite->pos1.y = sub_80A861C(battler, 2) + 8;
+ StartSpriteAffineAnim(sprite, 1);
+ xOffset = -20;
+ break;
+ case 3:
+ sprite->pos1.x = sub_80A861C(battler, 4) + 14;
+ sprite->pos1.y = sub_80A861C(battler, 2) + 16;
+ StartSpriteAffineAnim(sprite, 1);
+ xOffset = -20;
+ break;
+ }
+
+ sprite->data[0] = 32;
+ sprite->data[2] = sprite->pos1.x + xOffset;
+ sprite->data[4] = sprite->pos1.y + 12;
+ sprite->data[5] = -12;
+
+ InitAnimArcTranslation(sprite);
+ sprite->callback = sub_8113B90;
+}
+
+static void sub_8113B90(struct Sprite *sprite)
+{
+ if (TranslateAnimArc(sprite))
+ DestroySpriteAndMatrix(sprite);
+}
+
+void sub_8113BAC(u8 taskId)
+{
+ struct ScanlineEffectParams scanlineParams;
+ struct UnknownAnimStruct2 unknownStruct;
+ u16 i;
+ u8 pos;
+ int var0;
+ struct Task *task = &gTasks[taskId];
+
+ task->data[7] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y) + 31;
+ task->data[6] = sub_80A861C(gBattleAnimAttacker, 2) - 7;
+ task->data[5] = task->data[7];
+ task->data[4] = task->data[6];
+ task->data[13] = (task->data[7] - task->data[6]) << 8;
+
+ pos = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
+ task->data[14] = pos - 32;
+ task->data[15] = pos + 32;
+
+ if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
+ task->data[8] = -12;
+ else
+ task->data[8] = -64;
+
+ task->data[3] = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker);
+ if (task->data[3] == 1)
+ {
+ sub_80A6B30(&unknownStruct);
+ task->data[10] = gBattle_BG1_Y;
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG1);
+ FillPalette(0, unknownStruct.unk8 << 4, 32);
+ scanlineParams.dmaDest = &REG_BG1VOFS;
+ var0 = WINOUT_WIN01_BG1;
+ if (!IsContest())
+ gBattle_BG2_X += 240;
+ }
+ else
+ {
+ task->data[10] = gBattle_BG2_Y;
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG2);
+ FillPalette(0, 144, 32);
+ scanlineParams.dmaDest = &REG_BG2VOFS;
+ var0 = WINOUT_WIN01_BG2;
+ if (!IsContest())
+ gBattle_BG1_X += 240;
+ }
+
+ scanlineParams.dmaControl = SCANLINE_EFFECT_DMACNT_16BIT;
+ scanlineParams.initState = 1;
+ scanlineParams.unused9 = 0;
+ task->data[11] = 0;
+ task->data[12] = 16;
+ task->data[0] = 0;
+ task->data[1] = 0;
+ task->data[2] = 0;
+ sub_8114374(3);
+ for (i = 0; i < 112; i++)
+ {
+ gScanlineEffectRegBuffers[0][i] = task->data[10];
+ gScanlineEffectRegBuffers[1][i] = task->data[10];
+ }
+
+ ScanlineEffect_SetParams(scanlineParams);
+ SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR | (var0 ^ (WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR)));
+ 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_WIN0H = (task->data[14] << 8) | task->data[15];
+ gBattle_WIN0V = 160;
+
+ task->func = sub_8113D60;
+}
+
+static void sub_8113D60(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->data[0])
+ {
+ case 0:
+ if (++task->data[1] > 1)
+ {
+ task->data[1] = 0;
+ if (++task->data[2] & 1)
+ {
+ if (task->data[11] != 12)
+ task->data[11]++;
+ }
+ else
+ {
+ if (task->data[12] != 8)
+ task->data[12]--;
+ }
+
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(task->data[11], task->data[12]));
+
+ if (task->data[11] == 12 && task->data[12] == 8)
+ task->data[0]++;
+ }
+ break;
+ case 1:
+ task->data[4] -= 8;
+ sub_8114244(task);
+
+ if (task->data[4] < task->data[8])
+ task->data[0]++;
+ break;
+ case 2:
+ task->data[4] -= 8;
+ sub_8114244(task);
+ task->data[14] += 4;
+ task->data[15] -= 4;
+
+ if (task->data[14] >= task->data[15])
+ task->data[14] = task->data[15];
+
+ gBattle_WIN0H = (task->data[14] << 8) | task->data[15];
+
+ if (task->data[14] == task->data[15])
+ task->data[0]++;
+ break;
+ case 3:
+ gScanlineEffect.state = 3;
+ task->data[0]++;
+ break;
+ case 4:
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+}
+
+void sub_8113E78(u8 taskId)
+{
+ struct UnknownAnimStruct2 unknownStruct;
+ struct ScanlineEffectParams scanlineParams;
+ u8 x;
+ u16 i;
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->data[0])
+ {
+ case 0:
+ if (IsContest() == TRUE)
+ {
+ gBattle_WIN0H = 0;
+ gBattle_WIN0V = 0;
+ SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
+ SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR | WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR);
+ DestroyAnimVisualTask(taskId);
+ }
+ else
+ {
+ task->data[3] = GetBattlerSpriteBGPriorityRank(gBattleAnimTarget);
+ if (task->data[3] == 1)
+ {
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG1);
+ gBattle_BG2_X += 240;
+ }
+ else
+ {
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG2);
+ gBattle_BG1_X += 240;
+ }
+
+ task->data[0]++;
+ }
+ break;
+ case 1:
+ if (task->data[3] == 1)
+ {
+ sub_80A6B30(&unknownStruct);
+ task->data[10] = gBattle_BG1_Y;
+ FillPalette(0, unknownStruct.unk8 << 4, 32);
+ }
+ else
+ {
+ task->data[10] = gBattle_BG2_Y;
+ FillPalette(0, 144, 32);
+ }
+
+ sub_8114374(3);
+ task->data[0]++;
+ break;
+ case 2:
+ task->data[7] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) + 31;
+ task->data[6] = sub_80A861C(gBattleAnimTarget, 2) - 7;
+ task->data[13] = (task->data[7] - task->data[6]) << 8;
+ x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X);
+ task->data[14] = x - 4;
+ task->data[15] = x + 4;
+
+ if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
+ task->data[8] = -12;
+ else
+ task->data[8] = -64;
+
+ task->data[4] = task->data[8];
+ task->data[5] = task->data[8];
+ task->data[11] = 12;
+ task->data[12] = 8;
+ task->data[0]++;
+ break;
+ case 3:
+ if (task->data[3] == 1)
+ scanlineParams.dmaDest = &REG_BG1VOFS;
+ else
+ scanlineParams.dmaDest = &REG_BG2VOFS;
+
+ for (i = 0; i < 112; i++)
+ {
+ gScanlineEffectRegBuffers[0][i] = task->data[10] + (159 - i);
+ gScanlineEffectRegBuffers[1][i] = task->data[10] + (159 - i);
+ }
+
+ scanlineParams.dmaControl = SCANLINE_EFFECT_DMACNT_16BIT;
+ scanlineParams.initState = 1;
+ scanlineParams.unused9 = 0;
+ ScanlineEffect_SetParams(scanlineParams);
+ task->data[0]++;
+ break;
+ case 4:
+ if (task->data[3] == 1)
+ SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR | WINOUT_WIN01_BG0 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3 | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR);
+ else
+ SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR | WINOUT_WIN01_BG0 | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG3 | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR);
+
+ 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_WIN0H = (task->data[14] << 8) | task->data[15];
+ gBattle_WIN0V = 160;
+
+ task->data[0] = 0;
+ task->data[1] = 0;
+ task->data[2] = 0;
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(12, 8));
+ task->func = sub_81140C8;
+ break;
+ }
+}
+
+static void sub_81140C8(u8 taskId)
+{
+ u8 pos;
+ u16 i;
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->data[0])
+ {
+ case 0:
+ task->data[5] += 8;
+ if (task->data[5] >= task->data[7])
+ task->data[5] = task->data[7];
+
+ sub_8114244(task);
+ if (task->data[5] == task->data[7])
+ task->data[0]++;
+ break;
+ case 1:
+ if (task->data[15] - task->data[14] < 0x40)
+ {
+ task->data[14] -= 4;
+ task->data[15] += 4;
+ }
+ else
+ {
+ task->data[1] = 1;
+ }
+
+ gBattle_WIN0H = (task->data[14] << 8) | task->data[15];
+ task->data[4] += 8;
+ if (task->data[4] >= task->data[6])
+ task->data[4] = task->data[6];
+
+ sub_8114244(task);
+ if (task->data[4] == task->data[6] && task->data[1])
+ {
+ task->data[1] = 0;
+ task->data[0]++;
+ }
+ break;
+ case 2:
+ if (++task->data[1] > 1)
+ {
+ task->data[1] = 0;
+ task->data[2]++;
+ if (task->data[2] & 1)
+ {
+ if (task->data[11])
+ task->data[11]--;
+ }
+ else
+ {
+ if (task->data[12] < 16)
+ task->data[12]++;
+ }
+
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(task->data[11], task->data[12]));
+ if (task->data[11] == 0 && task->data[12] == 16)
+ task->data[0]++;
+ }
+ break;
+ case 3:
+ gScanlineEffect.state = 3;
+ task->data[0]++;
+ break;
+ case 4:
+ gBattle_WIN0H = 0;
+ gBattle_WIN0V = 0;
+ SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
+ SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR | WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR);
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+}
+
+static void sub_8114244(struct Task *task)
+{
+ int var0, var1;
+ s16 var2;
+ s16 i;
+ int var4;
+
+ var2 = task->data[5] - task->data[4];
+ if (var2 != 0)
+ {
+ var0 = task->data[13] / var2;
+ var1 = task->data[6] << 8;
+
+ for (i = 0; i < task->data[4]; i++)
+ {
+ gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[10] - (i - 159);
+ }
+
+ for (i = task->data[4]; i <= task->data[5]; i++)
+ {
+ if (i >= 0)
+ {
+ s16 var3 = (var1 >> 8) - i;
+ gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = var3 + task->data[10];
+ }
+
+ var1 += var0;
+ }
+
+ var4 = task->data[10] - (i - 159);
+ for (i = i; i < task->data[7]; i++)
+ {
+ if (i >= 0)
+ {
+ gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = var4;
+ var4--;
+ }
+ }
+ }
+ else
+ {
+ var4 = task->data[10] + 159;
+ for (i = 0; i < 112; i++)
+ {
+ gScanlineEffectRegBuffers[0][i] = var4;
+ gScanlineEffectRegBuffers[1][i] = var4;
+ var4--;
+ }
+ }
+}
+
+static void sub_8114374(u8 priority)
+{
+ u16 i;
+
+ for (i = 0; i < MAX_BATTLERS_COUNT; i++)
+ {
+ u8 spriteId = GetAnimBattlerSpriteId(i);
+ if (spriteId != 0xFF)
+ gSprites[spriteId].oam.priority = priority;
+ }
+}
+
+void sub_81143C0(u8 taskId)
+{
+ u8 toBG2 = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) ^ 1 ? 1 : 0;
+ MoveBattlerSpriteToBG(gBattleAnimAttacker, toBG2, TRUE);
+ gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].invisible = 0;
+
+ if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker)))
+ {
+ MoveBattlerSpriteToBG(gBattleAnimAttacker ^ 2, toBG2 ^ 1, TRUE);
+ gSprites[gBattlerSpriteIds[gBattleAnimAttacker ^ 2]].invisible = 0;
+ }
+
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_8114470(u8 taskId)
+{
+ u8 toBG2 = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) ^ 1 ? 1 : 0;
+ sub_80A477C(toBG2);
+
+ if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker)))
+ sub_80A477C(toBG2 ^ 1);
+
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_81144BC(struct Sprite *sprite)
+{
+ sprite->pos1.x += gBattleAnimArgs[0];
+ sprite->pos1.y += gBattleAnimArgs[1];
+ StartSpriteAnim(sprite, gBattleAnimArgs[2]);
+ sprite->callback = RunStoredCallbackWhenAnimEnds;
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+}
+
+void sub_81144F8(u8 taskId)
+{
+ u16 species;
+ u8 spriteId;
+ u8 newSpriteId;
+ u16 paletteNum;
+ struct UnknownAnimStruct2 unknownStruct;
+ int var0 = 0;
+
+ gBattle_WIN0H = var0;
+ gBattle_WIN0V = var0;
+ SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
+ SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR | WINOUT_WIN01_BG0 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3 | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR);
+ SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJWIN_ON);
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG1);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(8, 12));
+ SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 0);
+ SetAnimBgAttribute(1, BG_ANIM_SCREEN_SIZE, 0);
+ if (!IsContest())
+ SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1);
+
+ if (IsDoubleBattle() && !IsContest())
+ {
+ if (GetBattlerPosition(gBattleAnimAttacker) == B_POSITION_OPPONENT_RIGHT || GetBattlerPosition(gBattleAnimAttacker) == B_POSITION_PLAYER_LEFT)
+ {
+ if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker)) == TRUE)
+ {
+ gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]].oam.priority--;
+ SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1);
+ var0 = 1;
+ }
+ }
+ }
+
+ if (IsContest())
+ {
+ species = gContestResources->field_18->species;
+ }
+ else
+ {
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES);
+ else
+ species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES);
+ }
+
+ spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
+ newSpriteId = sub_80A89C8(gBattleAnimAttacker, spriteId, species);
+
+ sub_80A6B30(&unknownStruct);
+ sub_80A6D48(unknownStruct.bgId, gUnknown_08C1D210);
+ sub_80A6CC0(unknownStruct.bgId, gUnknown_08C1D0AC, unknownStruct.tilesOffset);
+ LoadCompressedPalette(gUnknown_08C1D1E8, unknownStruct.unk8 << 4, 32);
+
+ gBattle_BG1_X = -gSprites[spriteId].pos1.x + 96;
+ gBattle_BG1_Y = -gSprites[spriteId].pos1.y + 32;
+ paletteNum = 16 + gSprites[spriteId].oam.paletteNum;
+
+ if (gBattleAnimArgs[1] == 0)
+ SetGreyscaleOrOriginalPalette(paletteNum, FALSE);
+ else
+ BlendPalette(paletteNum * 16, 16, 11, gBattleAnimArgs[2]);
+
+ gTasks[taskId].data[0] = newSpriteId;
+ gTasks[taskId].data[1] = gBattleAnimArgs[0];
+ gTasks[taskId].data[2] = gBattleAnimArgs[1];
+ gTasks[taskId].data[3] = gBattleAnimArgs[2];
+ gTasks[taskId].data[6] = var0;
+ gTasks[taskId].func = sub_8114748;
+}
+
+static void sub_8114748(u8 taskId)
+{
+ struct UnknownAnimStruct2 unknownStruct;
+ u16 paletteNum;
+ u8 spriteId;
+ u8 taskIdCopy = taskId;
+
+ gTasks[taskIdCopy].data[10] += 4;
+ gBattle_BG1_X -= 4;
+ if (gTasks[taskIdCopy].data[10] == 128)
+ {
+ gTasks[taskIdCopy].data[10] = 0;
+ gBattle_BG1_X += 128;
+ gTasks[taskIdCopy].data[11]++;
+ if (gTasks[taskIdCopy].data[11] == 2)
+ {
+ spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
+ paletteNum = 16 + gSprites[spriteId].oam.paletteNum;
+ if (gTasks[taskIdCopy].data[1] == 0)
+ SetGreyscaleOrOriginalPalette(paletteNum, 1);
+
+ DestroySprite(&gSprites[gTasks[taskIdCopy].data[0]]);
+ sub_80A6B30(&unknownStruct);
+ sub_80A6C68(unknownStruct.bgId);
+ if (gTasks[taskIdCopy].data[6] == 1)
+ gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]].oam.priority++;
+ }
+ else if (gTasks[taskIdCopy].data[11] == 3)
+ {
+ gBattle_WIN0H = 0;
+ gBattle_WIN0V = 0;
+ SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
+ SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR | WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR);
+ if (!IsContest())
+ SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 0);
+
+ SetGpuReg(REG_OFFSET_DISPCNT, GetGpuReg(REG_OFFSET_DISPCNT) ^ DISPCNT_OBJWIN_ON);
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, 0);
+ DestroyAnimVisualTask(taskId);
+ }
+ }
+}
+
+void sub_811489C(u8 taskId)
+{
+ u8 spriteId;
+ u8 battler;
+ bool8 calcSpriteId = FALSE;
+ u8 position = B_POSITION_PLAYER_LEFT;
+
+ switch (gBattleAnimArgs[0])
+ {
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]);
+ break;
+ case 4:
+ position = B_POSITION_PLAYER_LEFT;
+ calcSpriteId = TRUE;
+ break;
+ case 5:
+ position = B_POSITION_PLAYER_RIGHT;
+ calcSpriteId = TRUE;
+ break;
+ case 6:
+ position = B_POSITION_OPPONENT_LEFT;
+ calcSpriteId = TRUE;
+ break;
+ case 7:
+ position = B_POSITION_OPPONENT_RIGHT;
+ calcSpriteId = TRUE;
+ break;
+ default:
+ spriteId = 0xFF;
+ break;
+ }
+
+ if (calcSpriteId)
+ {
+ battler = GetBattlerAtPosition(position);
+ if (IsBattlerSpriteVisible(battler))
+ spriteId = gBattlerSpriteIds[battler];
+ else
+ spriteId = 0xFF;
+ }
+
+ if (spriteId != 0xFF)
+ SetGreyscaleOrOriginalPalette(gSprites[spriteId].oam.paletteNum + 16, gBattleAnimArgs[1]);
+
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_8114960(u8 taskId)
+{
+ if (gAnimMoveTurn < 2)
+ gBattleAnimArgs[7] = 0;
+
+ if (gAnimMoveTurn == 2)
+ gBattleAnimArgs[7] = 1;
+
+ DestroyAnimVisualTask(taskId);
+}
diff --git a/src/data/graphics/berry_fix.h b/src/data/graphics/berry_fix.h
index aede748a4..07e2cbf51 100644
--- a/src/data/graphics/berry_fix.h
+++ b/src/data/graphics/berry_fix.h
@@ -20,4 +20,4 @@ const u32 gBerryFixGbaTransferError_Tilemap[] = INCBIN_U32("graphics/berry_fix/g
const u16 gBerryFixWindow_Pal[] = INCBIN_U16("graphics/berry_fix/window.gbapal");
const u32 gBerryFixWindow_Gfx[] = INCBIN_U32("graphics/berry_fix/window.4bpp.lz");
-const u32 gBerryFixWindow_Tilemap[] = INCBIN_U32("graphics/berry_fix/window.bin.lz"); \ No newline at end of file
+const u32 gBerryFixWindow_Tilemap[] = INCBIN_U32("graphics/berry_fix/window.bin.lz");
diff --git a/src/data/pokemon/base_stats.h b/src/data/pokemon/base_stats.h
index 078304888..86ebb620b 100644
--- a/src/data/pokemon/base_stats.h
+++ b/src/data/pokemon/base_stats.h
@@ -1,7 +1,40 @@
-// Maximum value for a female pokemon is 254 (MON_FEMALE) which is 100% female.
-// 255 (MON_GENDERLESS) is reserved for genderless pokemon.
+// Maximum value for a female Pokémon is 254 (MON_FEMALE) which is 100% female.
+// 255 (MON_GENDERLESS) is reserved for genderless Pokémon.
#define PERCENT_FEMALE(percent) min(254, ((percent * 255) / 100))
+#define OLD_UNOWN_BASE_STATS \
+ { \
+ .baseHP = 50, \
+ .baseAttack = 150, \
+ .baseDefense = 50, \
+ .baseSpAttack = 150, \
+ .baseSpDefense = 50, \
+ .baseSpeed = 150, \
+ .type1 = TYPE_NORMAL, \
+ .type2 = TYPE_NORMAL, \
+ .catchRate = 3, \
+ .expYield = 1, \
+ .evYield_HP = 2, \
+ .evYield_Attack = 2, \
+ .evYield_Defense = 2, \
+ .evYield_Speed = 2, \
+ .evYield_SpAttack = 2, \
+ .evYield_SpDefense = 2, \
+ .item1 = ITEM_NONE, \
+ .item2 = ITEM_NONE, \
+ .genderRatio = MON_GENDERLESS, \
+ .eggCycles = 120, \
+ .friendship = 0, \
+ .growthRate = GROWTH_MEDIUM_FAST, \
+ .eggGroup1 = EGG_GROUP_UNDISCOVERED,\
+ .eggGroup2 = EGG_GROUP_UNDISCOVERED,\
+ .ability1 = ABILITY_NONE, \
+ .ability2 = ABILITY_NONE, \
+ .safariZoneFleeRate = 0, \
+ .bodyColor = BODY_COLOR_BLACK, \
+ .noFlip = FALSE, \
+ }
+
const struct BaseStats gBaseStats[] =
{
[SPECIES_NONE] = {0},
@@ -8289,830 +8322,55 @@ const struct BaseStats gBaseStats[] =
.noFlip = FALSE,
},
- [SPECIES_OLD_UNOWN_B] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_B] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_C] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_C] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_D] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_D] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_E] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_E] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_F] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_F] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_G] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_G] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_H] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_H] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_I] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_I] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_J] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_J] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_K] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_K] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_L] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_L] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_M] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_M] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_N] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_N] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_O] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_O] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_P] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_P] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_Q] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_Q] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_R] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_R] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_S] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_S] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_T] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_T] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_U] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_U] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_V] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_V] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_W] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_W] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_X] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_X] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_Y] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_Y] = OLD_UNOWN_BASE_STATS,
- [SPECIES_OLD_UNOWN_Z] =
- {
- .baseHP = 50,
- .baseAttack = 150,
- .baseDefense = 50,
- .baseSpeed = 150,
- .baseSpAttack = 150,
- .baseSpDefense = 50,
- .type1 = TYPE_NORMAL,
- .type2 = TYPE_NORMAL,
- .catchRate = 3,
- .expYield = 1,
- .evYield_HP = 2,
- .evYield_Attack = 2,
- .evYield_Defense = 2,
- .evYield_Speed = 2,
- .evYield_SpAttack = 2,
- .evYield_SpDefense = 2,
- .item1 = ITEM_NONE,
- .item2 = ITEM_NONE,
- .genderRatio = MON_GENDERLESS,
- .eggCycles = 120,
- .friendship = 0,
- .growthRate = GROWTH_MEDIUM_FAST,
- .eggGroup1 = EGG_GROUP_UNDISCOVERED,
- .eggGroup2 = EGG_GROUP_UNDISCOVERED,
- .ability1 = ABILITY_NONE,
- .ability2 = ABILITY_NONE,
- .safariZoneFleeRate = 0,
- .bodyColor = BODY_COLOR_BLACK,
- .noFlip = FALSE,
- },
+ [SPECIES_OLD_UNOWN_Z] = OLD_UNOWN_BASE_STATS,
[SPECIES_TREECKO] =
{
diff --git a/src/data/pokemon/tutor_learnsets.h b/src/data/pokemon/tutor_learnsets.h
new file mode 100644
index 000000000..27fb40621
--- /dev/null
+++ b/src/data/pokemon/tutor_learnsets.h
@@ -0,0 +1,5783 @@
+#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[] =
+{
+ [TUTOR_MOVE_MEGA_PUNCH] = MOVE_MEGA_PUNCH,
+ [TUTOR_MOVE_SWORDS_DANCE] = MOVE_SWORDS_DANCE,
+ [TUTOR_MOVE_MEGA_KICK] = MOVE_MEGA_KICK,
+ [TUTOR_MOVE_BODY_SLAM] = MOVE_BODY_SLAM,
+ [TUTOR_MOVE_DOUBLE_EDGE] = MOVE_DOUBLE_EDGE,
+ [TUTOR_MOVE_COUNTER] = MOVE_COUNTER,
+ [TUTOR_MOVE_SEISMIC_TOSS] = MOVE_SEISMIC_TOSS,
+ [TUTOR_MOVE_MIMIC] = MOVE_MIMIC,
+ [TUTOR_MOVE_METRONOME] = MOVE_METRONOME,
+ [TUTOR_MOVE_SOFT_BOILED] = MOVE_SOFT_BOILED,
+ [TUTOR_MOVE_DREAM_EATER] = MOVE_DREAM_EATER,
+ [TUTOR_MOVE_THUNDER_WAVE] = MOVE_THUNDER_WAVE,
+ [TUTOR_MOVE_EXPLOSION] = MOVE_EXPLOSION,
+ [TUTOR_MOVE_ROCK_SLIDE] = MOVE_ROCK_SLIDE,
+ [TUTOR_MOVE_SUBSTITUTE] = MOVE_SUBSTITUTE,
+ [TUTOR_MOVE_DYNAMIC_PUNCH] = MOVE_DYNAMIC_PUNCH,
+ [TUTOR_MOVE_ROLLOUT] = MOVE_ROLLOUT,
+ [TUTOR_MOVE_PSYCH_UP] = MOVE_PSYCH_UP,
+ [TUTOR_MOVE_SNORE] = MOVE_SNORE,
+ [TUTOR_MOVE_ICY_WIND] = MOVE_ICY_WIND,
+ [TUTOR_MOVE_ENDURE] = MOVE_ENDURE,
+ [TUTOR_MOVE_MUD_SLAP] = MOVE_MUD_SLAP,
+ [TUTOR_MOVE_ICE_PUNCH] = MOVE_ICE_PUNCH,
+ [TUTOR_MOVE_SWAGGER] = MOVE_SWAGGER,
+ [TUTOR_MOVE_SLEEP_TALK] = MOVE_SLEEP_TALK,
+ [TUTOR_MOVE_SWIFT] = MOVE_SWIFT,
+ [TUTOR_MOVE_DEFENSE_CURL] = MOVE_DEFENSE_CURL,
+ [TUTOR_MOVE_THUNDER_PUNCH] = MOVE_THUNDER_PUNCH,
+ [TUTOR_MOVE_FIRE_PUNCH] = MOVE_FIRE_PUNCH,
+ [TUTOR_MOVE_FURY_CUTTER] = MOVE_FURY_CUTTER,
+};
+
+#define TUTOR_LEARNSET(moves) ((u32)(moves))
+#define TUTOR(move) ((u64)1 << (TUTOR_##move))
+
+static const u32 sTutorLearnsets[] =
+{
+ [SPECIES_NONE] = TUTOR_LEARNSET(0),
+
+ [SPECIES_BULBASAUR] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_IVYSAUR] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_VENUSAUR] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_CHARMANDER] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_FIRE_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_CHARMELEON] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_FIRE_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_CHARIZARD] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_FIRE_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_SQUIRTLE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_WARTORTLE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_BLASTOISE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_CATERPIE] = TUTOR_LEARNSET(0),
+
+ [SPECIES_METAPOD] = TUTOR_LEARNSET(0),
+
+ [SPECIES_BUTTERFREE] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_WEEDLE] = TUTOR_LEARNSET(0),
+
+ [SPECIES_KAKUNA] = TUTOR_LEARNSET(0),
+
+ [SPECIES_BEEDRILL] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_PIDGEY] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_PIDGEOTTO] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_PIDGEOT] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_RATTATA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_RATICATE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_SPEAROW] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_FEAROW] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_EKANS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_ARBOK] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_PIKACHU] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)),
+
+ [SPECIES_RAICHU] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)),
+
+ [SPECIES_SANDSHREW] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_SANDSLASH] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_NIDORAN_F] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_NIDORINA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_NIDOQUEEN] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_NIDORAN_M] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_NIDORINO] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_NIDOKING] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_CLEFAIRY] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_SOFT_BOILED)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_CLEFABLE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_SOFT_BOILED)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_VULPIX] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_NINETALES] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_JIGGLYPUFF] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_WIGGLYTUFF] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_ZUBAT] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_GOLBAT] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_ODDISH] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_GLOOM] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_VILEPLUME] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_PARAS] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_PARASECT] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_VENONAT] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_VENOMOTH] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_DIGLETT] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_DUGTRIO] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_MEOWTH] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_PERSIAN] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_PSYDUCK] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_GOLDUCK] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_MANKEY] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_PRIMEAPE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_GROWLITHE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_ARCANINE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_POLIWAG] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_POLIWHIRL] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_POLIWRATH] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_ABRA] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_KADABRA] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_ALAKAZAM] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_MACHOP] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_MACHOKE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_MACHAMP] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_BELLSPROUT] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_WEEPINBELL] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_VICTREEBEL] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_TENTACOOL] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_TENTACRUEL] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_GEODUDE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_GRAVELER] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_GOLEM] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_FIRE_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_PONYTA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_RAPIDASH] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_SLOWPOKE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_SLOWBRO] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_MAGNEMITE] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_MAGNETON] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_FARFETCHD] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_DODUO] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_DODRIO] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_SEEL] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_DEWGONG] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_GRIMER] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_MUK] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_SHELLDER] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_CLOYSTER] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_GASTLY] = TUTOR_LEARNSET(TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_HAUNTER] = TUTOR_LEARNSET(TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_GENGAR] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_ONIX] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_DROWZEE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_HYPNO] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_KRABBY] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_KINGLER] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_VOLTORB] = TUTOR_LEARNSET(TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_ELECTRODE] = TUTOR_LEARNSET(TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_EXEGGCUTE] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_EXEGGUTOR] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_CUBONE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_MAROWAK] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_HITMONLEE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_HITMONCHAN] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_LICKITUNG] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_KOFFING] = TUTOR_LEARNSET(TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_WEEZING] = TUTOR_LEARNSET(TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_RHYHORN] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_RHYDON] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_CHANSEY] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_SOFT_BOILED)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_TANGELA] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_KANGASKHAN] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_HORSEA] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_SEADRA] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_GOLDEEN] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_SEAKING] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_STARYU] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_STARMIE] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_MR_MIME] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_SCYTHER] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_JYNX] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_ELECTABUZZ] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_MAGMAR] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_PINSIR] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_TAUROS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_MAGIKARP] = TUTOR_LEARNSET(0),
+
+ [SPECIES_GYARADOS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_LAPRAS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_DITTO] = TUTOR_LEARNSET(0),
+
+ [SPECIES_EEVEE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_VAPOREON] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_JOLTEON] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_FLAREON] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_PORYGON] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_OMANYTE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_OMASTAR] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_KABUTO] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_KABUTOPS] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_AERODACTYL] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_SNORLAX] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_ARTICUNO] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_ZAPDOS] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_MOLTRES] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_DRATINI] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_DRAGONAIR] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_DRAGONITE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_MEWTWO] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_MEW] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_SOFT_BOILED)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_CHIKORITA] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_BAYLEEF] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_MEGANIUM] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_CYNDAQUIL] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_QUILAVA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_TYPHLOSION] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_TOTODILE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_CROCONAW] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_FERALIGATR] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_SENTRET] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_FURRET] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_HOOTHOOT] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_NOCTOWL] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_LEDYBA] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_THUNDER_PUNCH)),
+
+ [SPECIES_LEDIAN] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_THUNDER_PUNCH)),
+
+ [SPECIES_SPINARAK] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_ARIADOS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_CROBAT] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_CHINCHOU] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_LANTURN] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_PICHU] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_CLEFFA] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_SOFT_BOILED)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_IGGLYBUFF] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_TOGEPI] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_SOFT_BOILED)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_TOGETIC] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_SOFT_BOILED)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_NATU] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_XATU] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_MAREEP] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_FLAAFFY] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_AMPHAROS] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_BELLOSSOM] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_MARILL] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_AZUMARILL] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_SUDOWOODO] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_POLITOED] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_HOPPIP] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_SKIPLOOM] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_JUMPLUFF] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_AIPOM] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_SUNKERN] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_SUNFLORA] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_YANMA] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_WOOPER] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_QUAGSIRE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_ESPEON] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_UMBREON] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_MURKROW] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_SLOWKING] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_MISDREAVUS] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_UNOWN] = TUTOR_LEARNSET(0),
+
+ [SPECIES_WOBBUFFET] = TUTOR_LEARNSET(0),
+
+ [SPECIES_GIRAFARIG] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_PINECO] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_FORRETRESS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_DUNSPARCE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_GLIGAR] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_STEELIX] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_SNUBBULL] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_GRANBULL] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_QWILFISH] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_SCIZOR] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_SHUCKLE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_HERACROSS] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_SNEASEL] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_TEDDIURSA] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_URSARING] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_SLUGMA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_MAGCARGO] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_SWINUB] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_PILOSWINE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_CORSOLA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_REMORAID] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_OCTILLERY] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_DELIBIRD] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_MANTINE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_SKARMORY] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_HOUNDOUR] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_HOUNDOOM] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_KINGDRA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_PHANPY] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_DONPHAN] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_PORYGON2] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_STANTLER] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_SMEARGLE] = TUTOR_LEARNSET(0),
+
+ [SPECIES_TYROGUE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_HITMONTOP] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_SMOOCHUM] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_ELEKID] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_MAGBY] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_MILTANK] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_BLISSEY] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_SOFT_BOILED)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_RAIKOU] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_ENTEI] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_SUICUNE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_LARVITAR] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_PUPITAR] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_TYRANITAR] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_FIRE_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_LUGIA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_HO_OH] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_CELEBI] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_TREECKO] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_GROVYLE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_SCEPTILE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_TORCHIC] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_COMBUSKEN] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_BLAZIKEN] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_MUDKIP] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_MARSHTOMP] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_SWAMPERT] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_POOCHYENA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_MIGHTYENA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_ZIGZAGOON] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_LINOONE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_WURMPLE] = TUTOR_LEARNSET(0),
+
+ [SPECIES_SILCOON] = TUTOR_LEARNSET(0),
+
+ [SPECIES_BEAUTIFLY] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_CASCOON] = TUTOR_LEARNSET(0),
+
+ [SPECIES_DUSTOX] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_LOTAD] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_LOMBRE] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_LUDICOLO] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_SEEDOT] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_NUZLEAF] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_SHIFTRY] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_NINCADA] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_NINJASK] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_SHEDINJA] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_TAILLOW] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_SWELLOW] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_SHROOMISH] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_BRELOOM] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_SPINDA] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_WINGULL] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_PELIPPER] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_SURSKIT] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_MASQUERAIN] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_WAILMER] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_WAILORD] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_SKITTY] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_DELCATTY] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_KECLEON] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_BALTOY] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_CLAYDOL] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_NOSEPASS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_TORKOAL] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_SABLEYE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_BARBOACH] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_WHISCASH] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_LUVDISC] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_CORPHISH] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_CRAWDAUNT] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_FEEBAS] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_MILOTIC] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_CARVANHA] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_SHARPEDO] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_TRAPINCH] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_VIBRAVA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_FLYGON] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_FIRE_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_MAKUHITA] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_HARIYAMA] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_ELECTRIKE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_MANECTRIC] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_NUMEL] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_CAMERUPT] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_SPHEAL] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_SEALEO] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_WALREIN] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_CACNEA] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_CACTURNE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_SNORUNT] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_GLALIE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_LUNATONE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_SOLROCK] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_AZURILL] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_SPOINK] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_GRUMPIG] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_PLUSLE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)),
+
+ [SPECIES_MINUN] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)),
+
+ [SPECIES_MAWILE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_THUNDER_PUNCH)),
+
+ [SPECIES_MEDITITE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_MEDICHAM] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_SWABLU] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_ALTARIA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_WYNAUT] = TUTOR_LEARNSET(0),
+
+ [SPECIES_DUSKULL] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_DUSCLOPS] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_ROSELIA] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_SLAKOTH] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_VIGOROTH] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_SLAKING] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_GULPIN] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_SWALOT] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_TROPIUS] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_WHISMUR] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_LOUDRED] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_EXPLOUD] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_CLAMPERL] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_HUNTAIL] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_GOREBYSS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)),
+
+ [SPECIES_ABSOL] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_SHUPPET] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_BANETTE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_SEVIPER] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_ZANGOOSE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_RELICANTH] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_ARON] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_LAIRON] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_AGGRON] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_CASTFORM] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_VOLBEAT] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_THUNDER_PUNCH)),
+
+ [SPECIES_ILLUMISE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_THUNDER_PUNCH)),
+
+ [SPECIES_LILEEP] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_CRADILY] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)),
+
+ [SPECIES_ANORITH] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_ARMALDO] = TUTOR_LEARNSET(TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_RALTS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_KIRLIA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_GARDEVOIR] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_BAGON] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_SHELGON] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_SALAMENCE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_BELDUM] = TUTOR_LEARNSET(0),
+
+ [SPECIES_METANG] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_METAGROSS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_REGIROCK] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_REGICE] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)),
+
+ [SPECIES_REGISTEEL] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_EXPLOSION)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)),
+
+ [SPECIES_KYOGRE] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+ [SPECIES_GROUDON] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_SWORDS_DANCE)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_RAYQUAZA] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_LATIAS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_LATIOS] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_FURY_CUTTER)),
+
+ [SPECIES_JIRACHI] = TUTOR_LEARNSET(TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_METRONOME)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_DEFENSE_CURL)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_DEOXYS] = TUTOR_LEARNSET(TUTOR(MOVE_MEGA_PUNCH)
+ | TUTOR(MOVE_MEGA_KICK)
+ | TUTOR(MOVE_BODY_SLAM)
+ | TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_COUNTER)
+ | TUTOR(MOVE_SEISMIC_TOSS)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_THUNDER_WAVE)
+ | TUTOR(MOVE_ROCK_SLIDE)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_DYNAMIC_PUNCH)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_MUD_SLAP)
+ | TUTOR(MOVE_ICE_PUNCH)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_SWIFT)
+ | TUTOR(MOVE_THUNDER_PUNCH)
+ | TUTOR(MOVE_FIRE_PUNCH)),
+
+ [SPECIES_CHIMECHO] = TUTOR_LEARNSET(TUTOR(MOVE_DOUBLE_EDGE)
+ | TUTOR(MOVE_MIMIC)
+ | TUTOR(MOVE_DREAM_EATER)
+ | TUTOR(MOVE_SUBSTITUTE)
+ | TUTOR(MOVE_ROLLOUT)
+ | TUTOR(MOVE_PSYCH_UP)
+ | TUTOR(MOVE_SNORE)
+ | TUTOR(MOVE_ICY_WIND)
+ | TUTOR(MOVE_ENDURE)
+ | TUTOR(MOVE_SWAGGER)
+ | TUTOR(MOVE_SLEEP_TALK)
+ | TUTOR(MOVE_DEFENSE_CURL)),
+
+};
+
diff --git a/src/data/wild_encounters.h b/src/data/wild_encounters.h
new file mode 100644
index 000000000..d1f2eb616
--- /dev/null
+++ b/src/data/wild_encounters.h
@@ -0,0 +1,4573 @@
+// const rom data
+
+/*This file consists of several parts.
+ *First, the actual tables that define the available Pokemon and their level ranges.
+ *Second, the headers for each area that links the tables to the actual maps.
+ *Third, Battle Pyramid-specific tables and headers.
+ *Fourth, Battle Pike-specific tables and headers.
+ *And then finally, Feebas-related data.
+ *You can search for // to jump between the sections.
+ */
+
+ //Start of regular Pokemon tables.
+
+const struct WildPokemon gRoute101_LandMons[] =
+{
+ {2, 2, SPECIES_WURMPLE},
+ {2, 2, SPECIES_POOCHYENA},
+ {2, 2, SPECIES_WURMPLE},
+ {3, 3, SPECIES_WURMPLE},
+ {3, 3, SPECIES_POOCHYENA},
+ {3, 3, SPECIES_POOCHYENA},
+ {3, 3, SPECIES_WURMPLE},
+ {3, 3, SPECIES_POOCHYENA},
+ {2, 2, SPECIES_ZIGZAGOON},
+ {2, 2, SPECIES_ZIGZAGOON},
+ {3, 3, SPECIES_ZIGZAGOON},
+ {3, 3, SPECIES_ZIGZAGOON},
+};
+
+const struct WildPokemonInfo gRoute101_LandMonsInfo = {20, gRoute101_LandMons};
+
+const struct WildPokemon gRoute102_LandMons[] =
+{
+ {3, 3, SPECIES_POOCHYENA},
+ {3, 3, SPECIES_WURMPLE},
+ {4, 4, SPECIES_POOCHYENA},
+ {4, 4, SPECIES_WURMPLE},
+ {3, 3, SPECIES_LOTAD},
+ {4, 4, SPECIES_LOTAD},
+ {3, 3, SPECIES_ZIGZAGOON},
+ {3, 3, SPECIES_ZIGZAGOON},
+ {4, 4, SPECIES_ZIGZAGOON},
+ {4, 4, SPECIES_RALTS},
+ {4, 4, SPECIES_ZIGZAGOON},
+ {3, 3, SPECIES_SEEDOT},
+};
+
+const struct WildPokemonInfo gRoute102_LandMonsInfo = {20, gRoute102_LandMons};
+
+const struct WildPokemon gRoute102_WaterMons[] =
+{
+ {20, 30, SPECIES_MARILL},
+ {10, 20, SPECIES_MARILL},
+ {30, 35, SPECIES_MARILL},
+ {5, 10, SPECIES_MARILL},
+ {20, 30, SPECIES_GOLDEEN},
+};
+
+const struct WildPokemonInfo gRoute102_WaterMonsInfo = {4, gRoute102_WaterMons};
+
+const struct WildPokemon gRoute102_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_CORPHISH},
+ {25, 30, SPECIES_CORPHISH},
+ {30, 35, SPECIES_CORPHISH},
+ {20, 25, SPECIES_CORPHISH},
+ {35, 40, SPECIES_CORPHISH},
+ {40, 45, SPECIES_CORPHISH},
+};
+
+const struct WildPokemonInfo gRoute102_FishingMonsInfo = {30, gRoute102_FishingMons};
+
+const struct WildPokemon gRoute103_LandMons[] =
+{
+ {2, 2, SPECIES_POOCHYENA},
+ {3, 3, SPECIES_POOCHYENA},
+ {3, 3, SPECIES_POOCHYENA},
+ {4, 4, SPECIES_POOCHYENA},
+ {2, 2, SPECIES_WINGULL},
+ {3, 3, SPECIES_ZIGZAGOON},
+ {3, 3, SPECIES_ZIGZAGOON},
+ {4, 4, SPECIES_ZIGZAGOON},
+ {3, 3, SPECIES_WINGULL},
+ {3, 3, SPECIES_WINGULL},
+ {2, 2, SPECIES_WINGULL},
+ {4, 4, SPECIES_WINGULL},
+};
+
+const struct WildPokemonInfo gRoute103_LandMonsInfo = {20, gRoute103_LandMons};
+
+const struct WildPokemon gRoute103_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
+};
+
+const struct WildPokemonInfo gRoute103_WaterMonsInfo = {4, gRoute103_WaterMons};
+
+const struct WildPokemon gRoute103_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_SHARPEDO},
+ {30, 35, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
+};
+
+const struct WildPokemonInfo gRoute103_FishingMonsInfo = {30, gRoute103_FishingMons};
+
+const struct WildPokemon gRoute104_LandMons[] =
+{
+ {4, 4, SPECIES_POOCHYENA},
+ {4, 4, SPECIES_WURMPLE},
+ {5, 5, SPECIES_POOCHYENA},
+ {5, 5, SPECIES_MARILL},
+ {4, 4, SPECIES_MARILL},
+ {5, 5, SPECIES_POOCHYENA},
+ {4, 4, SPECIES_TAILLOW},
+ {5, 5, SPECIES_TAILLOW},
+ {4, 4, SPECIES_WINGULL},
+ {4, 4, SPECIES_WINGULL},
+ {3, 3, SPECIES_WINGULL},
+ {5, 5, SPECIES_WINGULL},
+};
+
+const struct WildPokemonInfo gRoute104_LandMonsInfo = {20, gRoute104_LandMons};
+
+const struct WildPokemon gRoute104_WaterMons[] =
+{
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
+};
+
+const struct WildPokemonInfo gRoute104_WaterMonsInfo = {4, gRoute104_WaterMons};
+
+const struct WildPokemon gRoute104_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_MAGIKARP},
+ {25, 30, SPECIES_MAGIKARP},
+ {30, 35, SPECIES_MAGIKARP},
+ {20, 25, SPECIES_MAGIKARP},
+ {35, 40, SPECIES_MAGIKARP},
+ {40, 45, SPECIES_MAGIKARP},
+};
+
+const struct WildPokemonInfo gRoute104_FishingMonsInfo = {30, gRoute104_FishingMons};
+
+const struct WildPokemon gRoute105_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
+};
+
+const struct WildPokemonInfo gRoute105_WaterMonsInfo = {4, gRoute105_WaterMons};
+
+const struct WildPokemon gRoute105_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_WAILMER},
+ {20, 25, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
+};
+
+const struct WildPokemonInfo gRoute105_FishingMonsInfo = {30, gRoute105_FishingMons};
+
+const struct WildPokemon gRoute110_LandMons[] =
+{
+ {12, 12, SPECIES_POOCHYENA},
+ {12, 12, SPECIES_ELECTRIKE},
+ {12, 12, SPECIES_GULPIN},
+ {13, 13, SPECIES_ELECTRIKE},
+ {13, 13, SPECIES_MINUN},
+ {13, 13, SPECIES_ODDISH},
+ {13, 13, SPECIES_MINUN},
+ {13, 13, SPECIES_GULPIN},
+ {12, 12, SPECIES_WINGULL},
+ {12, 12, SPECIES_WINGULL},
+ {12, 12, SPECIES_PLUSLE},
+ {13, 13, SPECIES_PLUSLE},
+};
+
+const struct WildPokemonInfo gRoute110_LandMonsInfo = {20, gRoute110_LandMons};
+
+const struct WildPokemon gRoute110_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
+};
+
+const struct WildPokemonInfo gRoute110_WaterMonsInfo = {4, gRoute110_WaterMons};
+
+const struct WildPokemon gRoute110_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_WAILMER},
+ {20, 25, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
+};
+
+const struct WildPokemonInfo gRoute110_FishingMonsInfo = {30, gRoute110_FishingMons};
+
+const struct WildPokemon gRoute111_LandMons[] =
+{
+ {20, 20, SPECIES_SANDSHREW},
+ {20, 20, SPECIES_TRAPINCH},
+ {21, 21, SPECIES_SANDSHREW},
+ {21, 21, SPECIES_TRAPINCH},
+ {19, 19, SPECIES_BALTOY},
+ {21, 21, SPECIES_BALTOY},
+ {19, 19, SPECIES_SANDSHREW},
+ {19, 19, SPECIES_TRAPINCH},
+ {20, 20, SPECIES_BALTOY},
+ {20, 20, SPECIES_CACNEA},
+ {22, 22, SPECIES_CACNEA},
+ {22, 22, SPECIES_CACNEA},
+};
+
+const struct WildPokemonInfo gRoute111_LandMonsInfo = {10, gRoute111_LandMons};
+
+const struct WildPokemon gRoute111_WaterMons[] =
+{
+ {20, 30, SPECIES_MARILL},
+ {10, 20, SPECIES_MARILL},
+ {30, 35, SPECIES_MARILL},
+ {5, 10, SPECIES_MARILL},
+ {20, 30, SPECIES_GOLDEEN},
+};
+
+const struct WildPokemonInfo gRoute111_WaterMonsInfo = {4, gRoute111_WaterMons};
+
+const struct WildPokemon gRoute111_RockSmashMons[] =
+{
+ {10, 15, SPECIES_GEODUDE},
+ {5, 10, SPECIES_GEODUDE},
+ {15, 20, SPECIES_GEODUDE},
+ {15, 20, SPECIES_GEODUDE},
+ {15, 20, SPECIES_GEODUDE},
+};
+
+const struct WildPokemonInfo gRoute111_RockSmashMonsInfo = {20, gRoute111_RockSmashMons};
+
+const struct WildPokemon gRoute111_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_BARBOACH},
+ {25, 30, SPECIES_BARBOACH},
+ {30, 35, SPECIES_BARBOACH},
+ {20, 25, SPECIES_BARBOACH},
+ {35, 40, SPECIES_BARBOACH},
+ {40, 45, SPECIES_BARBOACH},
+};
+
+const struct WildPokemonInfo gRoute111_FishingMonsInfo = {30, gRoute111_FishingMons};
+
+const struct WildPokemon gRoute112_LandMons[] =
+{
+ {15, 15, SPECIES_NUMEL},
+ {15, 15, SPECIES_NUMEL},
+ {15, 15, SPECIES_MARILL},
+ {14, 14, SPECIES_NUMEL},
+ {14, 14, SPECIES_NUMEL},
+ {14, 14, SPECIES_MARILL},
+ {16, 16, SPECIES_NUMEL},
+ {16, 16, SPECIES_MARILL},
+ {16, 16, SPECIES_NUMEL},
+ {16, 16, SPECIES_NUMEL},
+ {16, 16, SPECIES_NUMEL},
+ {16, 16, SPECIES_NUMEL},
+};
+
+const struct WildPokemonInfo gRoute112_LandMonsInfo = {20, gRoute112_LandMons};
+
+const struct WildPokemon gRoute113_LandMons[] =
+{
+ {15, 15, SPECIES_SPINDA},
+ {15, 15, SPECIES_SPINDA},
+ {15, 15, SPECIES_SLUGMA},
+ {14, 14, SPECIES_SPINDA},
+ {14, 14, SPECIES_SPINDA},
+ {14, 14, SPECIES_SLUGMA},
+ {16, 16, SPECIES_SPINDA},
+ {16, 16, SPECIES_SLUGMA},
+ {16, 16, SPECIES_SPINDA},
+ {16, 16, SPECIES_SKARMORY},
+ {16, 16, SPECIES_SPINDA},
+ {16, 16, SPECIES_SKARMORY},
+};
+
+const struct WildPokemonInfo gRoute113_LandMonsInfo = {20, gRoute113_LandMons};
+
+const struct WildPokemon gRoute114_LandMons[] =
+{
+ {16, 16, SPECIES_SWABLU},
+ {16, 16, SPECIES_LOTAD},
+ {17, 17, SPECIES_SWABLU},
+ {15, 15, SPECIES_SWABLU},
+ {15, 15, SPECIES_LOTAD},
+ {16, 16, SPECIES_LOMBRE},
+ {16, 16, SPECIES_LOMBRE},
+ {18, 18, SPECIES_LOMBRE},
+ {17, 17, SPECIES_SEVIPER},
+ {15, 15, SPECIES_SEVIPER},
+ {17, 17, SPECIES_SEVIPER},
+ {15, 15, SPECIES_NUZLEAF},
+};
+
+const struct WildPokemonInfo gRoute114_LandMonsInfo = {20, gRoute114_LandMons};
+
+const struct WildPokemon gRoute114_WaterMons[] =
+{
+ {20, 30, SPECIES_MARILL},
+ {10, 20, SPECIES_MARILL},
+ {30, 35, SPECIES_MARILL},
+ {5, 10, SPECIES_MARILL},
+ {20, 30, SPECIES_GOLDEEN},
+};
+
+const struct WildPokemonInfo gRoute114_WaterMonsInfo = {4, gRoute114_WaterMons};
+
+const struct WildPokemon gRoute114_RockSmashMons[] =
+{
+ {10, 15, SPECIES_GEODUDE},
+ {5, 10, SPECIES_GEODUDE},
+ {15, 20, SPECIES_GEODUDE},
+ {15, 20, SPECIES_GEODUDE},
+ {15, 20, SPECIES_GEODUDE},
+};
+
+const struct WildPokemonInfo gRoute114_RockSmashMonsInfo = {20, gRoute114_RockSmashMons};
+
+const struct WildPokemon gRoute114_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_BARBOACH},
+ {25, 30, SPECIES_BARBOACH},
+ {30, 35, SPECIES_BARBOACH},
+ {20, 25, SPECIES_BARBOACH},
+ {35, 40, SPECIES_BARBOACH},
+ {40, 45, SPECIES_BARBOACH},
+};
+
+const struct WildPokemonInfo gRoute114_FishingMonsInfo = {30, gRoute114_FishingMons};
+
+const struct WildPokemon gRoute116_LandMons[] =
+{
+ {6, 6, SPECIES_POOCHYENA},
+ {6, 6, SPECIES_WHISMUR},
+ {6, 6, SPECIES_NINCADA},
+ {7, 7, SPECIES_ABRA},
+ {7, 7, SPECIES_NINCADA},
+ {6, 6, SPECIES_TAILLOW},
+ {7, 7, SPECIES_TAILLOW},
+ {8, 8, SPECIES_TAILLOW},
+ {7, 7, SPECIES_POOCHYENA},
+ {8, 8, SPECIES_POOCHYENA},
+ {7, 7, SPECIES_SKITTY},
+ {8, 8, SPECIES_SKITTY},
+};
+
+const struct WildPokemonInfo gRoute116_LandMonsInfo = {20, gRoute116_LandMons};
+
+const struct WildPokemon gRoute117_LandMons[] =
+{
+ {13, 13, SPECIES_POOCHYENA},
+ {13, 13, SPECIES_ODDISH},
+ {14, 14, SPECIES_POOCHYENA},
+ {14, 14, SPECIES_ODDISH},
+ {13, 13, SPECIES_MARILL},
+ {13, 13, SPECIES_ODDISH},
+ {13, 13, SPECIES_ILLUMISE},
+ {13, 13, SPECIES_ILLUMISE},
+ {14, 14, SPECIES_ILLUMISE},
+ {14, 14, SPECIES_ILLUMISE},
+ {13, 13, SPECIES_VOLBEAT},
+ {13, 13, SPECIES_SEEDOT},
+};
+
+const struct WildPokemonInfo gRoute117_LandMonsInfo = {20, gRoute117_LandMons};
+
+const struct WildPokemon gRoute117_WaterMons[] =
+{
+ {20, 30, SPECIES_MARILL},
+ {10, 20, SPECIES_MARILL},
+ {30, 35, SPECIES_MARILL},
+ {5, 10, SPECIES_MARILL},
+ {20, 30, SPECIES_GOLDEEN},
+};
+
+const struct WildPokemonInfo gRoute117_WaterMonsInfo = {4, gRoute117_WaterMons};
+
+const struct WildPokemon gRoute117_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_CORPHISH},
+ {25, 30, SPECIES_CORPHISH},
+ {30, 35, SPECIES_CORPHISH},
+ {20, 25, SPECIES_CORPHISH},
+ {35, 40, SPECIES_CORPHISH},
+ {40, 45, SPECIES_CORPHISH},
+};
+
+const struct WildPokemonInfo gRoute117_FishingMonsInfo = {30, gRoute117_FishingMons};
+
+const struct WildPokemon gRoute118_LandMons[] =
+{
+ {24, 24, SPECIES_ZIGZAGOON},
+ {24, 24, SPECIES_ELECTRIKE},
+ {26, 26, SPECIES_ZIGZAGOON},
+ {26, 26, SPECIES_ELECTRIKE},
+ {26, 26, SPECIES_LINOONE},
+ {26, 26, SPECIES_MANECTRIC},
+ {25, 25, SPECIES_WINGULL},
+ {25, 25, SPECIES_WINGULL},
+ {26, 26, SPECIES_WINGULL},
+ {26, 26, SPECIES_WINGULL},
+ {27, 27, SPECIES_WINGULL},
+ {25, 25, SPECIES_KECLEON},
+};
+
+const struct WildPokemonInfo gRoute118_LandMonsInfo = {20, gRoute118_LandMons};
+
+const struct WildPokemon gRoute118_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
+};
+
+const struct WildPokemonInfo gRoute118_WaterMonsInfo = {4, gRoute118_WaterMons};
+
+const struct WildPokemon gRoute118_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_CARVANHA},
+ {30, 35, SPECIES_SHARPEDO},
+ {30, 35, SPECIES_CARVANHA},
+ {20, 25, SPECIES_CARVANHA},
+ {35, 40, SPECIES_CARVANHA},
+ {40, 45, SPECIES_CARVANHA},
+};
+
+const struct WildPokemonInfo gRoute118_FishingMonsInfo = {30, gRoute118_FishingMons};
+
+const struct WildPokemon gRoute124_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
+};
+
+const struct WildPokemonInfo gRoute124_WaterMonsInfo = {4, gRoute124_WaterMons};
+
+const struct WildPokemon gRoute124_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_SHARPEDO},
+ {30, 35, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
+};
+
+const struct WildPokemonInfo gRoute124_FishingMonsInfo = {30, gRoute124_FishingMons};
+
+const struct WildPokemon gPetalburgWoods_LandMons[] =
+{
+ {5, 5, SPECIES_POOCHYENA},
+ {5, 5, SPECIES_WURMPLE},
+ {5, 5, SPECIES_SHROOMISH},
+ {6, 6, SPECIES_POOCHYENA},
+ {5, 5, SPECIES_SILCOON},
+ {5, 5, SPECIES_CASCOON},
+ {6, 6, SPECIES_WURMPLE},
+ {6, 6, SPECIES_SHROOMISH},
+ {5, 5, SPECIES_TAILLOW},
+ {5, 5, SPECIES_SLAKOTH},
+ {6, 6, SPECIES_TAILLOW},
+ {6, 6, SPECIES_SLAKOTH},
+};
+
+const struct WildPokemonInfo gPetalburgWoods_LandMonsInfo = {20, gPetalburgWoods_LandMons};
+
+const struct WildPokemon gRusturfTunnel_LandMons[] =
+{
+ {6, 6, SPECIES_WHISMUR},
+ {7, 7, SPECIES_WHISMUR},
+ {6, 6, SPECIES_WHISMUR},
+ {6, 6, SPECIES_WHISMUR},
+ {7, 7, SPECIES_WHISMUR},
+ {7, 7, SPECIES_WHISMUR},
+ {5, 5, SPECIES_WHISMUR},
+ {8, 8, SPECIES_WHISMUR},
+ {5, 5, SPECIES_WHISMUR},
+ {8, 8, SPECIES_WHISMUR},
+ {5, 5, SPECIES_WHISMUR},
+ {8, 8, SPECIES_WHISMUR},
+};
+
+const struct WildPokemonInfo gRusturfTunnel_LandMonsInfo = {10, gRusturfTunnel_LandMons};
+
+const struct WildPokemon gGraniteCave_1F_LandMons[] =
+{
+ {7, 7, SPECIES_ZUBAT},
+ {8, 8, SPECIES_MAKUHITA},
+ {7, 7, SPECIES_MAKUHITA},
+ {8, 8, SPECIES_ZUBAT},
+ {9, 9, SPECIES_MAKUHITA},
+ {8, 8, SPECIES_ABRA},
+ {10, 10, SPECIES_MAKUHITA},
+ {6, 6, SPECIES_MAKUHITA},
+ {7, 7, SPECIES_GEODUDE},
+ {8, 8, SPECIES_GEODUDE},
+ {6, 6, SPECIES_GEODUDE},
+ {9, 9, SPECIES_GEODUDE},
+};
+
+const struct WildPokemonInfo gGraniteCave_1F_LandMonsInfo = {10, gGraniteCave_1F_LandMons};
+
+const struct WildPokemon gGraniteCave_B1F_LandMons[] =
+{
+ {9, 9, SPECIES_ZUBAT},
+ {10, 10, SPECIES_ARON},
+ {9, 9, SPECIES_ARON},
+ {11, 11, SPECIES_ARON},
+ {10, 10, SPECIES_ZUBAT},
+ {9, 9, SPECIES_ABRA},
+ {10, 10, SPECIES_MAKUHITA},
+ {11, 11, SPECIES_MAKUHITA},
+ {10, 10, SPECIES_SABLEYE},
+ {10, 10, SPECIES_SABLEYE},
+ {9, 9, SPECIES_SABLEYE},
+ {11, 11, SPECIES_SABLEYE},
+};
+
+const struct WildPokemonInfo gGraniteCave_B1F_LandMonsInfo = {10, gGraniteCave_B1F_LandMons};
+
+const struct WildPokemon gMtPyre_1F_LandMons[] =
+{
+ {27, 27, SPECIES_SHUPPET},
+ {28, 28, SPECIES_SHUPPET},
+ {26, 26, SPECIES_SHUPPET},
+ {25, 25, SPECIES_SHUPPET},
+ {29, 29, SPECIES_SHUPPET},
+ {24, 24, SPECIES_SHUPPET},
+ {23, 23, SPECIES_SHUPPET},
+ {22, 22, SPECIES_SHUPPET},
+ {29, 29, SPECIES_SHUPPET},
+ {24, 24, SPECIES_SHUPPET},
+ {29, 29, SPECIES_SHUPPET},
+ {24, 24, SPECIES_SHUPPET},
+};
+
+const struct WildPokemonInfo gMtPyre_1F_LandMonsInfo = {10, gMtPyre_1F_LandMons};
+
+const struct WildPokemon gVictoryRoad_1F_LandMons[] =
+{
+ {40, 40, SPECIES_GOLBAT},
+ {40, 40, SPECIES_HARIYAMA},
+ {40, 40, SPECIES_LAIRON},
+ {40, 40, SPECIES_LOUDRED},
+ {36, 36, SPECIES_ZUBAT},
+ {36, 36, SPECIES_MAKUHITA},
+ {38, 38, SPECIES_GOLBAT},
+ {38, 38, SPECIES_HARIYAMA},
+ {36, 36, SPECIES_ARON},
+ {36, 36, SPECIES_WHISMUR},
+ {36, 36, SPECIES_ARON},
+ {36, 36, SPECIES_WHISMUR},
+};
+
+const struct WildPokemonInfo gVictoryRoad_1F_LandMonsInfo = {10, gVictoryRoad_1F_LandMons};
+
+const struct WildPokemon gSafariZone_South_LandMons[] =
+{
+ {25, 25, SPECIES_ODDISH},
+ {27, 27, SPECIES_ODDISH},
+ {25, 25, SPECIES_GIRAFARIG},
+ {27, 27, SPECIES_GIRAFARIG},
+ {25, 25, SPECIES_NATU},
+ {25, 25, SPECIES_DODUO},
+ {25, 25, SPECIES_GLOOM},
+ {27, 27, SPECIES_WOBBUFFET},
+ {25, 25, SPECIES_PIKACHU},
+ {27, 27, SPECIES_WOBBUFFET},
+ {27, 27, SPECIES_PIKACHU},
+ {29, 29, SPECIES_WOBBUFFET},
+};
+
+const struct WildPokemonInfo gSafariZone_South_LandMonsInfo = {25, gSafariZone_South_LandMons};
+
+const struct WildPokemon gUnderwater2_WaterMons[] =
+{
+ {20, 30, SPECIES_CLAMPERL},
+ {20, 30, SPECIES_CHINCHOU},
+ {30, 35, SPECIES_CLAMPERL},
+ {30, 35, SPECIES_RELICANTH},
+ {30, 35, SPECIES_RELICANTH},
+};
+
+const struct WildPokemonInfo gUnderwater2_WaterMonsInfo = {4, gUnderwater2_WaterMons};
+
+const struct WildPokemon gAbandonedShip_Rooms_B1F_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {5, 35, SPECIES_TENTACOOL},
+ {5, 35, SPECIES_TENTACOOL},
+ {5, 35, SPECIES_TENTACOOL},
+ {30, 35, SPECIES_TENTACRUEL},
+};
+
+const struct WildPokemonInfo gAbandonedShip_Rooms_B1F_WaterMonsInfo = {4, gAbandonedShip_Rooms_B1F_WaterMons};
+
+const struct WildPokemon gAbandonedShip_Rooms_B1F_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_TENTACOOL},
+ {25, 30, SPECIES_TENTACOOL},
+ {30, 35, SPECIES_TENTACOOL},
+ {30, 35, SPECIES_TENTACRUEL},
+ {25, 30, SPECIES_TENTACRUEL},
+ {20, 25, SPECIES_TENTACRUEL},
+};
+
+const struct WildPokemonInfo gAbandonedShip_Rooms_B1F_FishingMonsInfo = {20, gAbandonedShip_Rooms_B1F_FishingMons};
+
+const struct WildPokemon gGraniteCave_B2F_LandMons[] =
+{
+ {10, 10, SPECIES_ZUBAT},
+ {11, 11, SPECIES_ARON},
+ {10, 10, SPECIES_ARON},
+ {11, 11, SPECIES_ZUBAT},
+ {12, 12, SPECIES_ARON},
+ {10, 10, SPECIES_ABRA},
+ {10, 10, SPECIES_SABLEYE},
+ {11, 11, SPECIES_SABLEYE},
+ {12, 12, SPECIES_SABLEYE},
+ {10, 10, SPECIES_SABLEYE},
+ {12, 12, SPECIES_SABLEYE},
+ {10, 10, SPECIES_SABLEYE},
+};
+
+const struct WildPokemonInfo gGraniteCave_B2F_LandMonsInfo = {10, gGraniteCave_B2F_LandMons};
+
+const struct WildPokemon gGraniteCave_B2F_RockSmashMons[] =
+{
+ {10, 15, SPECIES_GEODUDE},
+ {10, 20, SPECIES_NOSEPASS},
+ {5, 10, SPECIES_GEODUDE},
+ {15, 20, SPECIES_GEODUDE},
+ {15, 20, SPECIES_GEODUDE},
+};
+
+const struct WildPokemonInfo gGraniteCave_B2F_RockSmashMonsInfo = {20, gGraniteCave_B2F_RockSmashMons};
+
+const struct WildPokemon gFieryPath_LandMons[] =
+{
+ {15, 15, SPECIES_NUMEL},
+ {15, 15, SPECIES_KOFFING},
+ {16, 16, SPECIES_NUMEL},
+ {15, 15, SPECIES_MACHOP},
+ {15, 15, SPECIES_TORKOAL},
+ {15, 15, SPECIES_SLUGMA},
+ {16, 16, SPECIES_KOFFING},
+ {16, 16, SPECIES_MACHOP},
+ {14, 14, SPECIES_TORKOAL},
+ {16, 16, SPECIES_TORKOAL},
+ {14, 14, SPECIES_GRIMER},
+ {14, 14, SPECIES_GRIMER},
+};
+
+const struct WildPokemonInfo gFieryPath_LandMonsInfo = {10, gFieryPath_LandMons};
+
+const struct WildPokemon gMeteorFalls_B1F_2R_LandMons[] =
+{
+ {33, 33, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {30, 30, SPECIES_BAGON},
+ {35, 35, SPECIES_SOLROCK},
+ {35, 35, SPECIES_BAGON},
+ {37, 37, SPECIES_SOLROCK},
+ {25, 25, SPECIES_BAGON},
+ {39, 39, SPECIES_SOLROCK},
+ {38, 38, SPECIES_GOLBAT},
+ {40, 40, SPECIES_GOLBAT},
+ {38, 38, SPECIES_GOLBAT},
+ {40, 40, SPECIES_GOLBAT},
+};
+
+const struct WildPokemonInfo gMeteorFalls_B1F_2R_LandMonsInfo = {10, gMeteorFalls_B1F_2R_LandMons};
+
+const struct WildPokemon gMeteorFalls_B1F_2R_WaterMons[] =
+{
+ {30, 35, SPECIES_GOLBAT},
+ {30, 35, SPECIES_GOLBAT},
+ {25, 35, SPECIES_SOLROCK},
+ {15, 25, SPECIES_SOLROCK},
+ {5, 15, SPECIES_SOLROCK},
+};
+
+const struct WildPokemonInfo gMeteorFalls_B1F_2R_WaterMonsInfo = {4, gMeteorFalls_B1F_2R_WaterMons};
+
+const struct WildPokemon gMeteorFalls_B1F_2R_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_BARBOACH},
+ {25, 30, SPECIES_BARBOACH},
+ {30, 35, SPECIES_BARBOACH},
+ {30, 35, SPECIES_WHISCASH},
+ {35, 40, SPECIES_WHISCASH},
+ {40, 45, SPECIES_WHISCASH},
+};
+
+const struct WildPokemonInfo gMeteorFalls_B1F_2R_FishingMonsInfo = {30, gMeteorFalls_B1F_2R_FishingMons};
+
+const struct WildPokemon gJaggedPass_LandMons[] =
+{
+ {21, 21, SPECIES_NUMEL},
+ {21, 21, SPECIES_NUMEL},
+ {21, 21, SPECIES_MACHOP},
+ {20, 20, SPECIES_NUMEL},
+ {20, 20, SPECIES_SPOINK},
+ {20, 20, SPECIES_MACHOP},
+ {21, 21, SPECIES_SPOINK},
+ {22, 22, SPECIES_MACHOP},
+ {22, 22, SPECIES_NUMEL},
+ {22, 22, SPECIES_SPOINK},
+ {22, 22, SPECIES_NUMEL},
+ {22, 22, SPECIES_SPOINK},
+};
+
+const struct WildPokemonInfo gJaggedPass_LandMonsInfo = {20, gJaggedPass_LandMons};
+
+const struct WildPokemon gRoute106_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
+};
+
+const struct WildPokemonInfo gRoute106_WaterMonsInfo = {4, gRoute106_WaterMons};
+
+const struct WildPokemon gRoute106_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_WAILMER},
+ {20, 25, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
+};
+
+const struct WildPokemonInfo gRoute106_FishingMonsInfo = {30, gRoute106_FishingMons};
+
+const struct WildPokemon gRoute107_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
+};
+
+const struct WildPokemonInfo gRoute107_WaterMonsInfo = {4, gRoute107_WaterMons};
+
+const struct WildPokemon gRoute107_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_WAILMER},
+ {20, 25, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
+};
+
+const struct WildPokemonInfo gRoute107_FishingMonsInfo = {30, gRoute107_FishingMons};
+
+const struct WildPokemon gRoute108_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
+};
+
+const struct WildPokemonInfo gRoute108_WaterMonsInfo = {4, gRoute108_WaterMons};
+
+const struct WildPokemon gRoute108_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_WAILMER},
+ {20, 25, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
+};
+
+const struct WildPokemonInfo gRoute108_FishingMonsInfo = {30, gRoute108_FishingMons};
+
+const struct WildPokemon gRoute109_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
+};
+
+const struct WildPokemonInfo gRoute109_WaterMonsInfo = {4, gRoute109_WaterMons};
+
+const struct WildPokemon gRoute109_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_WAILMER},
+ {20, 25, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
+};
+
+const struct WildPokemonInfo gRoute109_FishingMonsInfo = {30, gRoute109_FishingMons};
+
+const struct WildPokemon gRoute115_LandMons[] =
+{
+ {23, 23, SPECIES_SWABLU},
+ {23, 23, SPECIES_TAILLOW},
+ {25, 25, SPECIES_SWABLU},
+ {24, 24, SPECIES_TAILLOW},
+ {25, 25, SPECIES_TAILLOW},
+ {25, 25, SPECIES_SWELLOW},
+ {24, 24, SPECIES_JIGGLYPUFF},
+ {25, 25, SPECIES_JIGGLYPUFF},
+ {24, 24, SPECIES_WINGULL},
+ {24, 24, SPECIES_WINGULL},
+ {26, 26, SPECIES_WINGULL},
+ {25, 25, SPECIES_WINGULL},
+};
+
+const struct WildPokemonInfo gRoute115_LandMonsInfo = {20, gRoute115_LandMons};
+
+const struct WildPokemon gRoute115_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
+};
+
+const struct WildPokemonInfo gRoute115_WaterMonsInfo = {4, gRoute115_WaterMons};
+
+const struct WildPokemon gRoute115_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_WAILMER},
+ {20, 25, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
+};
+
+const struct WildPokemonInfo gRoute115_FishingMonsInfo = {30, gRoute115_FishingMons};
+
+const struct WildPokemon gNewMauville_Inside_LandMons[] =
+{
+ {24, 24, SPECIES_VOLTORB},
+ {24, 24, SPECIES_MAGNEMITE},
+ {25, 25, SPECIES_VOLTORB},
+ {25, 25, SPECIES_MAGNEMITE},
+ {23, 23, SPECIES_VOLTORB},
+ {23, 23, SPECIES_MAGNEMITE},
+ {26, 26, SPECIES_VOLTORB},
+ {26, 26, SPECIES_MAGNEMITE},
+ {22, 22, SPECIES_VOLTORB},
+ {22, 22, SPECIES_MAGNEMITE},
+ {26, 26, SPECIES_ELECTRODE},
+ {26, 26, SPECIES_MAGNETON},
+};
+
+const struct WildPokemonInfo gNewMauville_Inside_LandMonsInfo = {10, gNewMauville_Inside_LandMons};
+
+const struct WildPokemon gRoute119_LandMons[] =
+{
+ {25, 25, SPECIES_ZIGZAGOON},
+ {25, 25, SPECIES_LINOONE},
+ {27, 27, SPECIES_ZIGZAGOON},
+ {25, 25, SPECIES_ODDISH},
+ {27, 27, SPECIES_LINOONE},
+ {26, 26, SPECIES_ODDISH},
+ {27, 27, SPECIES_ODDISH},
+ {24, 24, SPECIES_ODDISH},
+ {25, 25, SPECIES_TROPIUS},
+ {26, 26, SPECIES_TROPIUS},
+ {27, 27, SPECIES_TROPIUS},
+ {25, 25, SPECIES_KECLEON},
+};
+
+const struct WildPokemonInfo gRoute119_LandMonsInfo = {15, gRoute119_LandMons};
+
+const struct WildPokemon gRoute119_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
+};
+
+const struct WildPokemonInfo gRoute119_WaterMonsInfo = {4, gRoute119_WaterMons};
+
+const struct WildPokemon gRoute119_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_CARVANHA},
+ {25, 30, SPECIES_CARVANHA},
+ {30, 35, SPECIES_CARVANHA},
+ {20, 25, SPECIES_CARVANHA},
+ {35, 40, SPECIES_CARVANHA},
+ {40, 45, SPECIES_CARVANHA},
+};
+
+const struct WildPokemonInfo gRoute119_FishingMonsInfo = {30, gRoute119_FishingMons};
+
+const struct WildPokemon gRoute120_LandMons[] =
+{
+ {25, 25, SPECIES_POOCHYENA},
+ {25, 25, SPECIES_MIGHTYENA},
+ {27, 27, SPECIES_MIGHTYENA},
+ {25, 25, SPECIES_ODDISH},
+ {25, 25, SPECIES_MARILL},
+ {26, 26, SPECIES_ODDISH},
+ {27, 27, SPECIES_ODDISH},
+ {27, 27, SPECIES_MARILL},
+ {25, 25, SPECIES_ABSOL},
+ {27, 27, SPECIES_ABSOL},
+ {25, 25, SPECIES_KECLEON},
+ {25, 25, SPECIES_SEEDOT},
+};
+
+const struct WildPokemonInfo gRoute120_LandMonsInfo = {20, gRoute120_LandMons};
+
+const struct WildPokemon gRoute120_WaterMons[] =
+{
+ {20, 30, SPECIES_MARILL},
+ {10, 20, SPECIES_MARILL},
+ {30, 35, SPECIES_MARILL},
+ {5, 10, SPECIES_MARILL},
+ {20, 30, SPECIES_GOLDEEN},
+};
+
+const struct WildPokemonInfo gRoute120_WaterMonsInfo = {4, gRoute120_WaterMons};
+
+const struct WildPokemon gRoute120_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_BARBOACH},
+ {25, 30, SPECIES_BARBOACH},
+ {30, 35, SPECIES_BARBOACH},
+ {20, 25, SPECIES_BARBOACH},
+ {35, 40, SPECIES_BARBOACH},
+ {40, 45, SPECIES_BARBOACH},
+};
+
+const struct WildPokemonInfo gRoute120_FishingMonsInfo = {30, gRoute120_FishingMons};
+
+const struct WildPokemon gRoute121_LandMons[] =
+{
+ {26, 26, SPECIES_POOCHYENA},
+ {26, 26, SPECIES_SHUPPET},
+ {26, 26, SPECIES_MIGHTYENA},
+ {28, 28, SPECIES_SHUPPET},
+ {28, 28, SPECIES_MIGHTYENA},
+ {26, 26, SPECIES_ODDISH},
+ {28, 28, SPECIES_ODDISH},
+ {28, 28, SPECIES_GLOOM},
+ {26, 26, SPECIES_WINGULL},
+ {27, 27, SPECIES_WINGULL},
+ {28, 28, SPECIES_WINGULL},
+ {25, 25, SPECIES_KECLEON},
+};
+
+const struct WildPokemonInfo gRoute121_LandMonsInfo = {20, gRoute121_LandMons};
+
+const struct WildPokemon gRoute121_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
+};
+
+const struct WildPokemonInfo gRoute121_WaterMonsInfo = {4, gRoute121_WaterMons};
+
+const struct WildPokemon gRoute121_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_WAILMER},
+ {20, 25, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
+};
+
+const struct WildPokemonInfo gRoute121_FishingMonsInfo = {30, gRoute121_FishingMons};
+
+const struct WildPokemon gRoute122_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
+};
+
+const struct WildPokemonInfo gRoute122_WaterMonsInfo = {4, gRoute122_WaterMons};
+
+const struct WildPokemon gRoute122_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_SHARPEDO},
+ {30, 35, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
+};
+
+const struct WildPokemonInfo gRoute122_FishingMonsInfo = {30, gRoute122_FishingMons};
+
+const struct WildPokemon gRoute123_LandMons[] =
+{
+ {26, 26, SPECIES_POOCHYENA},
+ {26, 26, SPECIES_SHUPPET},
+ {26, 26, SPECIES_MIGHTYENA},
+ {28, 28, SPECIES_SHUPPET},
+ {28, 28, SPECIES_MIGHTYENA},
+ {26, 26, SPECIES_ODDISH},
+ {28, 28, SPECIES_ODDISH},
+ {28, 28, SPECIES_GLOOM},
+ {26, 26, SPECIES_WINGULL},
+ {27, 27, SPECIES_WINGULL},
+ {28, 28, SPECIES_WINGULL},
+ {25, 25, SPECIES_KECLEON},
+};
+
+const struct WildPokemonInfo gRoute123_LandMonsInfo = {20, gRoute123_LandMons};
+
+const struct WildPokemon gRoute123_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
+};
+
+const struct WildPokemonInfo gRoute123_WaterMonsInfo = {4, gRoute123_WaterMons};
+
+const struct WildPokemon gRoute123_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_WAILMER},
+ {20, 25, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
+};
+
+const struct WildPokemonInfo gRoute123_FishingMonsInfo = {30, gRoute123_FishingMons};
+
+const struct WildPokemon gMtPyre_2F_LandMons[] =
+{
+ {27, 27, SPECIES_SHUPPET},
+ {28, 28, SPECIES_SHUPPET},
+ {26, 26, SPECIES_SHUPPET},
+ {25, 25, SPECIES_SHUPPET},
+ {29, 29, SPECIES_SHUPPET},
+ {24, 24, SPECIES_SHUPPET},
+ {23, 23, SPECIES_SHUPPET},
+ {22, 22, SPECIES_SHUPPET},
+ {29, 29, SPECIES_SHUPPET},
+ {24, 24, SPECIES_SHUPPET},
+ {29, 29, SPECIES_SHUPPET},
+ {24, 24, SPECIES_SHUPPET},
+};
+
+const struct WildPokemonInfo gMtPyre_2F_LandMonsInfo = {10, gMtPyre_2F_LandMons};
+
+const struct WildPokemon gMtPyre_3F_LandMons[] =
+{
+ {27, 27, SPECIES_SHUPPET},
+ {28, 28, SPECIES_SHUPPET},
+ {26, 26, SPECIES_SHUPPET},
+ {25, 25, SPECIES_SHUPPET},
+ {29, 29, SPECIES_SHUPPET},
+ {24, 24, SPECIES_SHUPPET},
+ {23, 23, SPECIES_SHUPPET},
+ {22, 22, SPECIES_SHUPPET},
+ {29, 29, SPECIES_SHUPPET},
+ {24, 24, SPECIES_SHUPPET},
+ {29, 29, SPECIES_SHUPPET},
+ {24, 24, SPECIES_SHUPPET},
+};
+
+const struct WildPokemonInfo gMtPyre_3F_LandMonsInfo = {10, gMtPyre_3F_LandMons};
+
+const struct WildPokemon gMtPyre_4F_LandMons[] =
+{
+ {27, 27, SPECIES_SHUPPET},
+ {28, 28, SPECIES_SHUPPET},
+ {26, 26, SPECIES_SHUPPET},
+ {25, 25, SPECIES_SHUPPET},
+ {29, 29, SPECIES_SHUPPET},
+ {24, 24, SPECIES_SHUPPET},
+ {23, 23, SPECIES_SHUPPET},
+ {22, 22, SPECIES_SHUPPET},
+ {27, 27, SPECIES_DUSKULL},
+ {27, 27, SPECIES_DUSKULL},
+ {25, 25, SPECIES_DUSKULL},
+ {29, 29, SPECIES_DUSKULL},
+};
+
+const struct WildPokemonInfo gMtPyre_4F_LandMonsInfo = {10, gMtPyre_4F_LandMons};
+
+const struct WildPokemon gMtPyre_5F_LandMons[] =
+{
+ {27, 27, SPECIES_SHUPPET},
+ {28, 28, SPECIES_SHUPPET},
+ {26, 26, SPECIES_SHUPPET},
+ {25, 25, SPECIES_SHUPPET},
+ {29, 29, SPECIES_SHUPPET},
+ {24, 24, SPECIES_SHUPPET},
+ {23, 23, SPECIES_SHUPPET},
+ {22, 22, SPECIES_SHUPPET},
+ {27, 27, SPECIES_DUSKULL},
+ {27, 27, SPECIES_DUSKULL},
+ {25, 25, SPECIES_DUSKULL},
+ {29, 29, SPECIES_DUSKULL},
+};
+
+const struct WildPokemonInfo gMtPyre_5F_LandMonsInfo = {10, gMtPyre_5F_LandMons};
+
+const struct WildPokemon gMtPyre_6F_LandMons[] =
+{
+ {27, 27, SPECIES_SHUPPET},
+ {28, 28, SPECIES_SHUPPET},
+ {26, 26, SPECIES_SHUPPET},
+ {25, 25, SPECIES_SHUPPET},
+ {29, 29, SPECIES_SHUPPET},
+ {24, 24, SPECIES_SHUPPET},
+ {23, 23, SPECIES_SHUPPET},
+ {22, 22, SPECIES_SHUPPET},
+ {27, 27, SPECIES_DUSKULL},
+ {27, 27, SPECIES_DUSKULL},
+ {25, 25, SPECIES_DUSKULL},
+ {29, 29, SPECIES_DUSKULL},
+};
+
+const struct WildPokemonInfo gMtPyre_6F_LandMonsInfo = {10, gMtPyre_6F_LandMons};
+
+const struct WildPokemon gMtPyre_Exterior_LandMons[] =
+{
+ {27, 27, SPECIES_SHUPPET},
+ {27, 27, SPECIES_SHUPPET},
+ {28, 28, SPECIES_SHUPPET},
+ {29, 29, SPECIES_SHUPPET},
+ {29, 29, SPECIES_VULPIX},
+ {27, 27, SPECIES_VULPIX},
+ {29, 29, SPECIES_VULPIX},
+ {25, 25, SPECIES_VULPIX},
+ {27, 27, SPECIES_WINGULL},
+ {27, 27, SPECIES_WINGULL},
+ {26, 26, SPECIES_WINGULL},
+ {28, 28, SPECIES_WINGULL},
+};
+
+const struct WildPokemonInfo gMtPyre_Exterior_LandMonsInfo = {10, gMtPyre_Exterior_LandMons};
+
+const struct WildPokemon gMtPyre_Summit_LandMons[] =
+{
+ {28, 28, SPECIES_SHUPPET},
+ {29, 29, SPECIES_SHUPPET},
+ {27, 27, SPECIES_SHUPPET},
+ {26, 26, SPECIES_SHUPPET},
+ {30, 30, SPECIES_SHUPPET},
+ {25, 25, SPECIES_SHUPPET},
+ {24, 24, SPECIES_SHUPPET},
+ {28, 28, SPECIES_DUSKULL},
+ {26, 26, SPECIES_DUSKULL},
+ {30, 30, SPECIES_DUSKULL},
+ {28, 28, SPECIES_CHIMECHO},
+ {28, 28, SPECIES_CHIMECHO},
+};
+
+const struct WildPokemonInfo gMtPyre_Summit_LandMonsInfo = {10, gMtPyre_Summit_LandMons};
+
+const struct WildPokemon gGraniteCave_StevensRoom_LandMons[] =
+{
+ {7, 7, SPECIES_ZUBAT},
+ {8, 8, SPECIES_MAKUHITA},
+ {7, 7, SPECIES_MAKUHITA},
+ {8, 8, SPECIES_ZUBAT},
+ {9, 9, SPECIES_MAKUHITA},
+ {8, 8, SPECIES_ABRA},
+ {10, 10, SPECIES_MAKUHITA},
+ {6, 6, SPECIES_MAKUHITA},
+ {7, 7, SPECIES_ARON},
+ {8, 8, SPECIES_ARON},
+ {7, 7, SPECIES_ARON},
+ {8, 8, SPECIES_ARON},
+};
+
+const struct WildPokemonInfo gGraniteCave_StevensRoom_LandMonsInfo = {10, gGraniteCave_StevensRoom_LandMons};
+
+const struct WildPokemon gRoute125_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
+};
+
+const struct WildPokemonInfo gRoute125_WaterMonsInfo = {4, gRoute125_WaterMons};
+
+const struct WildPokemon gRoute125_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_SHARPEDO},
+ {30, 35, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
+};
+
+const struct WildPokemonInfo gRoute125_FishingMonsInfo = {30, gRoute125_FishingMons};
+
+const struct WildPokemon gRoute126_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
+};
+
+const struct WildPokemonInfo gRoute126_WaterMonsInfo = {4, gRoute126_WaterMons};
+
+const struct WildPokemon gRoute126_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_SHARPEDO},
+ {30, 35, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
+};
+
+const struct WildPokemonInfo gRoute126_FishingMonsInfo = {30, gRoute126_FishingMons};
+
+const struct WildPokemon gRoute127_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
+};
+
+const struct WildPokemonInfo gRoute127_WaterMonsInfo = {4, gRoute127_WaterMons};
+
+const struct WildPokemon gRoute127_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_SHARPEDO},
+ {30, 35, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
+};
+
+const struct WildPokemonInfo gRoute127_FishingMonsInfo = {30, gRoute127_FishingMons};
+
+const struct WildPokemon gRoute128_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
+};
+
+const struct WildPokemonInfo gRoute128_WaterMonsInfo = {4, gRoute128_WaterMons};
+
+const struct WildPokemon gRoute128_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_LUVDISC},
+ {10, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_LUVDISC},
+ {30, 35, SPECIES_WAILMER},
+ {30, 35, SPECIES_CORSOLA},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
+};
+
+const struct WildPokemonInfo gRoute128_FishingMonsInfo = {30, gRoute128_FishingMons};
+
+const struct WildPokemon gRoute129_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_WAILORD},
+};
+
+const struct WildPokemonInfo gRoute129_WaterMonsInfo = {4, gRoute129_WaterMons};
+
+const struct WildPokemon gRoute129_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_SHARPEDO},
+ {30, 35, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
+};
+
+const struct WildPokemonInfo gRoute129_FishingMonsInfo = {30, gRoute129_FishingMons};
+
+const struct WildPokemon gRoute130_LandMons[] =
+{
+ {30, 30, SPECIES_WYNAUT},
+ {35, 35, SPECIES_WYNAUT},
+ {25, 25, SPECIES_WYNAUT},
+ {40, 40, SPECIES_WYNAUT},
+ {20, 20, SPECIES_WYNAUT},
+ {45, 45, SPECIES_WYNAUT},
+ {15, 15, SPECIES_WYNAUT},
+ {50, 50, SPECIES_WYNAUT},
+ {10, 10, SPECIES_WYNAUT},
+ {5, 5, SPECIES_WYNAUT},
+ {10, 10, SPECIES_WYNAUT},
+ {5, 5, SPECIES_WYNAUT},
+};
+
+const struct WildPokemonInfo gRoute130_LandMonsInfo = {20, gRoute130_LandMons};
+
+const struct WildPokemon gRoute130_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
+};
+
+const struct WildPokemonInfo gRoute130_WaterMonsInfo = {4, gRoute130_WaterMons};
+
+const struct WildPokemon gRoute130_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_SHARPEDO},
+ {30, 35, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
+};
+
+const struct WildPokemonInfo gRoute130_FishingMonsInfo = {30, gRoute130_FishingMons};
+
+const struct WildPokemon gRoute131_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
+};
+
+const struct WildPokemonInfo gRoute131_WaterMonsInfo = {4, gRoute131_WaterMons};
+
+const struct WildPokemon gRoute131_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_SHARPEDO},
+ {30, 35, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
+};
+
+const struct WildPokemonInfo gRoute131_FishingMonsInfo = {30, gRoute131_FishingMons};
+
+const struct WildPokemon gRoute132_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
+};
+
+const struct WildPokemonInfo gRoute132_WaterMonsInfo = {4, gRoute132_WaterMons};
+
+const struct WildPokemon gRoute132_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_SHARPEDO},
+ {30, 35, SPECIES_WAILMER},
+ {25, 30, SPECIES_HORSEA},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
+};
+
+const struct WildPokemonInfo gRoute132_FishingMonsInfo = {30, gRoute132_FishingMons};
+
+const struct WildPokemon gRoute133_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
+};
+
+const struct WildPokemonInfo gRoute133_WaterMonsInfo = {4, gRoute133_WaterMons};
+
+const struct WildPokemon gRoute133_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_SHARPEDO},
+ {30, 35, SPECIES_WAILMER},
+ {25, 30, SPECIES_HORSEA},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
+};
+
+const struct WildPokemonInfo gRoute133_FishingMonsInfo = {30, gRoute133_FishingMons};
+
+const struct WildPokemon gRoute134_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
+};
+
+const struct WildPokemonInfo gRoute134_WaterMonsInfo = {4, gRoute134_WaterMons};
+
+const struct WildPokemon gRoute134_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_SHARPEDO},
+ {30, 35, SPECIES_WAILMER},
+ {25, 30, SPECIES_HORSEA},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
+};
+
+const struct WildPokemonInfo gRoute134_FishingMonsInfo = {30, gRoute134_FishingMons};
+
+const struct WildPokemon gAbandonedShip_HiddenFloorCorridors_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {5, 35, SPECIES_TENTACOOL},
+ {5, 35, SPECIES_TENTACOOL},
+ {5, 35, SPECIES_TENTACOOL},
+ {30, 35, SPECIES_TENTACRUEL},
+};
+
+const struct WildPokemonInfo gAbandonedShip_HiddenFloorCorridors_WaterMonsInfo = {4, gAbandonedShip_HiddenFloorCorridors_WaterMons};
+
+const struct WildPokemon gAbandonedShip_HiddenFloorCorridors_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_TENTACOOL},
+ {25, 30, SPECIES_TENTACOOL},
+ {30, 35, SPECIES_TENTACOOL},
+ {30, 35, SPECIES_TENTACRUEL},
+ {25, 30, SPECIES_TENTACRUEL},
+ {20, 25, SPECIES_TENTACRUEL},
+};
+
+const struct WildPokemonInfo gAbandonedShip_HiddenFloorCorridors_FishingMonsInfo = {20, gAbandonedShip_HiddenFloorCorridors_FishingMons};
+
+const struct WildPokemon gSeafloorCavern_Room1_LandMons[] =
+{
+ {30, 30, SPECIES_ZUBAT},
+ {31, 31, SPECIES_ZUBAT},
+ {32, 32, SPECIES_ZUBAT},
+ {33, 33, SPECIES_ZUBAT},
+ {28, 28, SPECIES_ZUBAT},
+ {29, 29, SPECIES_ZUBAT},
+ {34, 34, SPECIES_ZUBAT},
+ {35, 35, SPECIES_ZUBAT},
+ {34, 34, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {36, 36, SPECIES_GOLBAT},
+};
+
+const struct WildPokemonInfo gSeafloorCavern_Room1_LandMonsInfo = {4, gSeafloorCavern_Room1_LandMons};
+
+const struct WildPokemon gSeafloorCavern_Room2_LandMons[] =
+{
+ {30, 30, SPECIES_ZUBAT},
+ {31, 31, SPECIES_ZUBAT},
+ {32, 32, SPECIES_ZUBAT},
+ {33, 33, SPECIES_ZUBAT},
+ {28, 28, SPECIES_ZUBAT},
+ {29, 29, SPECIES_ZUBAT},
+ {34, 34, SPECIES_ZUBAT},
+ {35, 35, SPECIES_ZUBAT},
+ {34, 34, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {36, 36, SPECIES_GOLBAT},
+};
+
+const struct WildPokemonInfo gSeafloorCavern_Room2_LandMonsInfo = {4, gSeafloorCavern_Room2_LandMons};
+
+const struct WildPokemon gSeafloorCavern_Room3_LandMons[] =
+{
+ {30, 30, SPECIES_ZUBAT},
+ {31, 31, SPECIES_ZUBAT},
+ {32, 32, SPECIES_ZUBAT},
+ {33, 33, SPECIES_ZUBAT},
+ {28, 28, SPECIES_ZUBAT},
+ {29, 29, SPECIES_ZUBAT},
+ {34, 34, SPECIES_ZUBAT},
+ {35, 35, SPECIES_ZUBAT},
+ {34, 34, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {36, 36, SPECIES_GOLBAT},
+};
+
+const struct WildPokemonInfo gSeafloorCavern_Room3_LandMonsInfo = {4, gSeafloorCavern_Room3_LandMons};
+
+const struct WildPokemon gSeafloorCavern_Room4_LandMons[] =
+{
+ {30, 30, SPECIES_ZUBAT},
+ {31, 31, SPECIES_ZUBAT},
+ {32, 32, SPECIES_ZUBAT},
+ {33, 33, SPECIES_ZUBAT},
+ {28, 28, SPECIES_ZUBAT},
+ {29, 29, SPECIES_ZUBAT},
+ {34, 34, SPECIES_ZUBAT},
+ {35, 35, SPECIES_ZUBAT},
+ {34, 34, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {36, 36, SPECIES_GOLBAT},
+};
+
+const struct WildPokemonInfo gSeafloorCavern_Room4_LandMonsInfo = {4, gSeafloorCavern_Room4_LandMons};
+
+const struct WildPokemon gSeafloorCavern_Room5_LandMons[] =
+{
+ {30, 30, SPECIES_ZUBAT},
+ {31, 31, SPECIES_ZUBAT},
+ {32, 32, SPECIES_ZUBAT},
+ {33, 33, SPECIES_ZUBAT},
+ {28, 28, SPECIES_ZUBAT},
+ {29, 29, SPECIES_ZUBAT},
+ {34, 34, SPECIES_ZUBAT},
+ {35, 35, SPECIES_ZUBAT},
+ {34, 34, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {36, 36, SPECIES_GOLBAT},
+};
+
+const struct WildPokemonInfo gSeafloorCavern_Room5_LandMonsInfo = {4, gSeafloorCavern_Room5_LandMons};
+
+const struct WildPokemon gSeafloorCavern_Room6_LandMons[] =
+{
+ {30, 30, SPECIES_ZUBAT},
+ {31, 31, SPECIES_ZUBAT},
+ {32, 32, SPECIES_ZUBAT},
+ {33, 33, SPECIES_ZUBAT},
+ {28, 28, SPECIES_ZUBAT},
+ {29, 29, SPECIES_ZUBAT},
+ {34, 34, SPECIES_ZUBAT},
+ {35, 35, SPECIES_ZUBAT},
+ {34, 34, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {36, 36, SPECIES_GOLBAT},
+};
+
+const struct WildPokemonInfo gSeafloorCavern_Room6_LandMonsInfo = {4, gSeafloorCavern_Room6_LandMons};
+
+const struct WildPokemon gSeafloorCavern_Room6_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {5, 35, SPECIES_ZUBAT},
+ {30, 35, SPECIES_ZUBAT},
+ {30, 35, SPECIES_GOLBAT},
+ {30, 35, SPECIES_GOLBAT},
+};
+
+const struct WildPokemonInfo gSeafloorCavern_Room6_WaterMonsInfo = {4, gSeafloorCavern_Room6_WaterMons};
+
+const struct WildPokemon gSeafloorCavern_Room6_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_WAILMER},
+ {20, 25, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
+};
+
+const struct WildPokemonInfo gSeafloorCavern_Room6_FishingMonsInfo = {10, gSeafloorCavern_Room6_FishingMons};
+
+const struct WildPokemon gSeafloorCavern_Room7_LandMons[] =
+{
+ {30, 30, SPECIES_ZUBAT},
+ {31, 31, SPECIES_ZUBAT},
+ {32, 32, SPECIES_ZUBAT},
+ {33, 33, SPECIES_ZUBAT},
+ {28, 28, SPECIES_ZUBAT},
+ {29, 29, SPECIES_ZUBAT},
+ {34, 34, SPECIES_ZUBAT},
+ {35, 35, SPECIES_ZUBAT},
+ {34, 34, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {36, 36, SPECIES_GOLBAT},
+};
+
+const struct WildPokemonInfo gSeafloorCavern_Room7_LandMonsInfo = {4, gSeafloorCavern_Room7_LandMons};
+
+const struct WildPokemon gSeafloorCavern_Room7_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {5, 35, SPECIES_ZUBAT},
+ {30, 35, SPECIES_ZUBAT},
+ {30, 35, SPECIES_GOLBAT},
+ {30, 35, SPECIES_GOLBAT},
+};
+
+const struct WildPokemonInfo gSeafloorCavern_Room7_WaterMonsInfo = {4, gSeafloorCavern_Room7_WaterMons};
+
+const struct WildPokemon gSeafloorCavern_Room7_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_WAILMER},
+ {20, 25, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
+};
+
+const struct WildPokemonInfo gSeafloorCavern_Room7_FishingMonsInfo = {10, gSeafloorCavern_Room7_FishingMons};
+
+const struct WildPokemon gSeafloorCavern_Room8_LandMons[] =
+{
+ {30, 30, SPECIES_ZUBAT},
+ {31, 31, SPECIES_ZUBAT},
+ {32, 32, SPECIES_ZUBAT},
+ {33, 33, SPECIES_ZUBAT},
+ {28, 28, SPECIES_ZUBAT},
+ {29, 29, SPECIES_ZUBAT},
+ {34, 34, SPECIES_ZUBAT},
+ {35, 35, SPECIES_ZUBAT},
+ {34, 34, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {36, 36, SPECIES_GOLBAT},
+};
+
+const struct WildPokemonInfo gSeafloorCavern_Room8_LandMonsInfo = {4, gSeafloorCavern_Room8_LandMons};
+
+const struct WildPokemon gSeafloorCavern_Entrance_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {5, 35, SPECIES_ZUBAT},
+ {30, 35, SPECIES_ZUBAT},
+ {30, 35, SPECIES_GOLBAT},
+ {30, 35, SPECIES_GOLBAT},
+};
+
+const struct WildPokemonInfo gSeafloorCavern_Entrance_WaterMonsInfo = {4, gSeafloorCavern_Entrance_WaterMons};
+
+const struct WildPokemon gSeafloorCavern_Entrance_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_WAILMER},
+ {20, 25, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
+};
+
+const struct WildPokemonInfo gSeafloorCavern_Entrance_FishingMonsInfo = {10, gSeafloorCavern_Entrance_FishingMons};
+
+const struct WildPokemon gCaveOfOrigin_Entrance_LandMons[] =
+{
+ {30, 30, SPECIES_ZUBAT},
+ {31, 31, SPECIES_ZUBAT},
+ {32, 32, SPECIES_ZUBAT},
+ {33, 33, SPECIES_ZUBAT},
+ {28, 28, SPECIES_ZUBAT},
+ {29, 29, SPECIES_ZUBAT},
+ {34, 34, SPECIES_ZUBAT},
+ {35, 35, SPECIES_ZUBAT},
+ {34, 34, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {36, 36, SPECIES_GOLBAT},
+};
+
+const struct WildPokemonInfo gCaveOfOrigin_Entrance_LandMonsInfo = {4, gCaveOfOrigin_Entrance_LandMons};
+
+const struct WildPokemon gCaveOfOrigin_1F_LandMons[] =
+{
+ {30, 30, SPECIES_ZUBAT},
+ {31, 31, SPECIES_ZUBAT},
+ {32, 32, SPECIES_ZUBAT},
+ {30, 30, SPECIES_SABLEYE},
+ {32, 32, SPECIES_SABLEYE},
+ {34, 34, SPECIES_SABLEYE},
+ {33, 33, SPECIES_ZUBAT},
+ {34, 34, SPECIES_ZUBAT},
+ {34, 34, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {36, 36, SPECIES_GOLBAT},
+};
+
+const struct WildPokemonInfo gCaveOfOrigin_1F_LandMonsInfo = {4, gCaveOfOrigin_1F_LandMons};
+
+const struct WildPokemon gCaveOfOrigin_UnusedRubySapphireMap1_LandMons[] =
+{
+ {30, 30, SPECIES_ZUBAT},
+ {31, 31, SPECIES_ZUBAT},
+ {32, 32, SPECIES_ZUBAT},
+ {30, 30, SPECIES_SABLEYE},
+ {32, 32, SPECIES_SABLEYE},
+ {34, 34, SPECIES_SABLEYE},
+ {33, 33, SPECIES_ZUBAT},
+ {34, 34, SPECIES_ZUBAT},
+ {34, 34, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {36, 36, SPECIES_GOLBAT},
+};
+
+const struct WildPokemonInfo gCaveOfOrigin_UnusedRubySapphireMap1_LandMonsInfo = {4, gCaveOfOrigin_UnusedRubySapphireMap1_LandMons};
+
+const struct WildPokemon gCaveOfOrigin_UnusedRubySapphireMap2_LandMons[] =
+{
+ {30, 30, SPECIES_ZUBAT},
+ {31, 31, SPECIES_ZUBAT},
+ {32, 32, SPECIES_ZUBAT},
+ {30, 30, SPECIES_SABLEYE},
+ {32, 32, SPECIES_SABLEYE},
+ {34, 34, SPECIES_SABLEYE},
+ {33, 33, SPECIES_ZUBAT},
+ {34, 34, SPECIES_ZUBAT},
+ {34, 34, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {36, 36, SPECIES_GOLBAT},
+};
+
+const struct WildPokemonInfo gCaveOfOrigin_UnusedRubySapphireMap2_LandMonsInfo = {4, gCaveOfOrigin_UnusedRubySapphireMap2_LandMons};
+
+const struct WildPokemon gCaveOfOrigin_UnusedRubySapphireMap3_LandMons[] =
+{
+ {30, 30, SPECIES_ZUBAT},
+ {31, 31, SPECIES_ZUBAT},
+ {32, 32, SPECIES_ZUBAT},
+ {30, 30, SPECIES_SABLEYE},
+ {32, 32, SPECIES_SABLEYE},
+ {34, 34, SPECIES_SABLEYE},
+ {33, 33, SPECIES_ZUBAT},
+ {34, 34, SPECIES_ZUBAT},
+ {34, 34, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {36, 36, SPECIES_GOLBAT},
+};
+
+const struct WildPokemonInfo gCaveOfOrigin_UnusedRubySapphireMap3_LandMonsInfo = {4, gCaveOfOrigin_UnusedRubySapphireMap3_LandMons};
+
+const struct WildPokemon gNewMauville_Entrance_LandMons[] =
+{
+ {24, 24, SPECIES_VOLTORB},
+ {24, 24, SPECIES_MAGNEMITE},
+ {25, 25, SPECIES_VOLTORB},
+ {25, 25, SPECIES_MAGNEMITE},
+ {23, 23, SPECIES_VOLTORB},
+ {23, 23, SPECIES_MAGNEMITE},
+ {26, 26, SPECIES_VOLTORB},
+ {26, 26, SPECIES_MAGNEMITE},
+ {22, 22, SPECIES_VOLTORB},
+ {22, 22, SPECIES_MAGNEMITE},
+ {22, 22, SPECIES_VOLTORB},
+ {22, 22, SPECIES_MAGNEMITE},
+};
+
+const struct WildPokemonInfo gNewMauville_Entrance_LandMonsInfo = {10, gNewMauville_Entrance_LandMons};
+
+const struct WildPokemon gSafariZone_Southwest_LandMons[] =
+{
+ {25, 25, SPECIES_ODDISH},
+ {27, 27, SPECIES_ODDISH},
+ {25, 25, SPECIES_GIRAFARIG},
+ {27, 27, SPECIES_GIRAFARIG},
+ {25, 25, SPECIES_NATU},
+ {27, 27, SPECIES_DODUO},
+ {25, 25, SPECIES_GLOOM},
+ {27, 27, SPECIES_WOBBUFFET},
+ {25, 25, SPECIES_PIKACHU},
+ {27, 27, SPECIES_WOBBUFFET},
+ {27, 27, SPECIES_PIKACHU},
+ {29, 29, SPECIES_WOBBUFFET},
+};
+
+const struct WildPokemonInfo gSafariZone_Southwest_LandMonsInfo = {25, gSafariZone_Southwest_LandMons};
+
+const struct WildPokemon gSafariZone_Southwest_WaterMons[] =
+{
+ {20, 30, SPECIES_PSYDUCK},
+ {20, 30, SPECIES_PSYDUCK},
+ {30, 35, SPECIES_PSYDUCK},
+ {30, 35, SPECIES_PSYDUCK},
+ {30, 35, SPECIES_PSYDUCK},
+};
+
+const struct WildPokemonInfo gSafariZone_Southwest_WaterMonsInfo = {9, gSafariZone_Southwest_WaterMons};
+
+const struct WildPokemon gSafariZone_Southwest_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 25, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_GOLDEEN},
+ {25, 30, SPECIES_GOLDEEN},
+ {30, 35, SPECIES_GOLDEEN},
+ {30, 35, SPECIES_SEAKING},
+ {35, 40, SPECIES_SEAKING},
+ {25, 30, SPECIES_SEAKING},
+};
+
+const struct WildPokemonInfo gSafariZone_Southwest_FishingMonsInfo = {35, gSafariZone_Southwest_FishingMons};
+
+const struct WildPokemon gSafariZone_North_LandMons[] =
+{
+ {27, 27, SPECIES_PHANPY},
+ {27, 27, SPECIES_ODDISH},
+ {29, 29, SPECIES_PHANPY},
+ {29, 29, SPECIES_ODDISH},
+ {27, 27, SPECIES_NATU},
+ {29, 29, SPECIES_GLOOM},
+ {31, 31, SPECIES_GLOOM},
+ {29, 29, SPECIES_NATU},
+ {29, 29, SPECIES_XATU},
+ {27, 27, SPECIES_HERACROSS},
+ {31, 31, SPECIES_XATU},
+ {29, 29, SPECIES_HERACROSS},
+};
+
+const struct WildPokemonInfo gSafariZone_North_LandMonsInfo = {25, gSafariZone_North_LandMons};
+
+const struct WildPokemon gSafariZone_North_RockSmashMons[] =
+{
+ {10, 15, SPECIES_GEODUDE},
+ {5, 10, SPECIES_GEODUDE},
+ {15, 20, SPECIES_GEODUDE},
+ {20, 25, SPECIES_GEODUDE},
+ {25, 30, SPECIES_GEODUDE},
+};
+
+const struct WildPokemonInfo gSafariZone_North_RockSmashMonsInfo = {25, gSafariZone_North_RockSmashMons};
+
+const struct WildPokemon gSafariZone_Northwest_LandMons[] =
+{
+ {27, 27, SPECIES_RHYHORN},
+ {27, 27, SPECIES_ODDISH},
+ {29, 29, SPECIES_RHYHORN},
+ {29, 29, SPECIES_ODDISH},
+ {27, 27, SPECIES_DODUO},
+ {29, 29, SPECIES_GLOOM},
+ {31, 31, SPECIES_GLOOM},
+ {29, 29, SPECIES_DODUO},
+ {29, 29, SPECIES_DODRIO},
+ {27, 27, SPECIES_PINSIR},
+ {31, 31, SPECIES_DODRIO},
+ {29, 29, SPECIES_PINSIR},
+};
+
+const struct WildPokemonInfo gSafariZone_Northwest_LandMonsInfo = {25, gSafariZone_Northwest_LandMons};
+
+const struct WildPokemon gSafariZone_Northwest_WaterMons[] =
+{
+ {20, 30, SPECIES_PSYDUCK},
+ {20, 30, SPECIES_PSYDUCK},
+ {30, 35, SPECIES_PSYDUCK},
+ {30, 35, SPECIES_GOLDUCK},
+ {25, 40, SPECIES_GOLDUCK},
+};
+
+const struct WildPokemonInfo gSafariZone_Northwest_WaterMonsInfo = {9, gSafariZone_Northwest_WaterMons};
+
+const struct WildPokemon gSafariZone_Northwest_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 25, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_GOLDEEN},
+ {25, 30, SPECIES_GOLDEEN},
+ {30, 35, SPECIES_GOLDEEN},
+ {30, 35, SPECIES_SEAKING},
+ {35, 40, SPECIES_SEAKING},
+ {25, 30, SPECIES_SEAKING},
+};
+
+const struct WildPokemonInfo gSafariZone_Northwest_FishingMonsInfo = {35, gSafariZone_Northwest_FishingMons};
+
+const struct WildPokemon gVictoryRoad_B1F_LandMons[] =
+{
+ {40, 40, SPECIES_GOLBAT},
+ {40, 40, SPECIES_HARIYAMA},
+ {40, 40, SPECIES_LAIRON},
+ {40, 40, SPECIES_LAIRON},
+ {38, 38, SPECIES_GOLBAT},
+ {38, 38, SPECIES_HARIYAMA},
+ {42, 42, SPECIES_GOLBAT},
+ {42, 42, SPECIES_HARIYAMA},
+ {42, 42, SPECIES_LAIRON},
+ {38, 38, SPECIES_MAWILE},
+ {42, 42, SPECIES_LAIRON},
+ {38, 38, SPECIES_MAWILE},
+};
+
+const struct WildPokemonInfo gVictoryRoad_B1F_LandMonsInfo = {10, gVictoryRoad_B1F_LandMons};
+
+const struct WildPokemon gVictoryRoad_B1F_RockSmashMons[] =
+{
+ {30, 40, SPECIES_GRAVELER},
+ {30, 40, SPECIES_GEODUDE},
+ {35, 40, SPECIES_GRAVELER},
+ {35, 40, SPECIES_GRAVELER},
+ {35, 40, SPECIES_GRAVELER},
+};
+
+const struct WildPokemonInfo gVictoryRoad_B1F_RockSmashMonsInfo = {20, gVictoryRoad_B1F_RockSmashMons};
+
+const struct WildPokemon gVictoryRoad_B2F_LandMons[] =
+{
+ {40, 40, SPECIES_GOLBAT},
+ {40, 40, SPECIES_SABLEYE},
+ {40, 40, SPECIES_LAIRON},
+ {40, 40, SPECIES_LAIRON},
+ {42, 42, SPECIES_GOLBAT},
+ {42, 42, SPECIES_SABLEYE},
+ {44, 44, SPECIES_GOLBAT},
+ {44, 44, SPECIES_SABLEYE},
+ {42, 42, SPECIES_LAIRON},
+ {42, 42, SPECIES_MAWILE},
+ {44, 44, SPECIES_LAIRON},
+ {44, 44, SPECIES_MAWILE},
+};
+
+const struct WildPokemonInfo gVictoryRoad_B2F_LandMonsInfo = {10, gVictoryRoad_B2F_LandMons};
+
+const struct WildPokemon gVictoryRoad_B2F_WaterMons[] =
+{
+ {30, 35, SPECIES_GOLBAT},
+ {25, 30, SPECIES_GOLBAT},
+ {35, 40, SPECIES_GOLBAT},
+ {35, 40, SPECIES_GOLBAT},
+ {35, 40, SPECIES_GOLBAT},
+};
+
+const struct WildPokemonInfo gVictoryRoad_B2F_WaterMonsInfo = {4, gVictoryRoad_B2F_WaterMons};
+
+const struct WildPokemon gVictoryRoad_B2F_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_BARBOACH},
+ {25, 30, SPECIES_BARBOACH},
+ {30, 35, SPECIES_BARBOACH},
+ {30, 35, SPECIES_WHISCASH},
+ {35, 40, SPECIES_WHISCASH},
+ {40, 45, SPECIES_WHISCASH},
+};
+
+const struct WildPokemonInfo gVictoryRoad_B2F_FishingMonsInfo = {30, gVictoryRoad_B2F_FishingMons};
+
+const struct WildPokemon gMeteorFalls_1F_1R_LandMons[] =
+{
+ {16, 16, SPECIES_ZUBAT},
+ {17, 17, SPECIES_ZUBAT},
+ {18, 18, SPECIES_ZUBAT},
+ {15, 15, SPECIES_ZUBAT},
+ {14, 14, SPECIES_ZUBAT},
+ {16, 16, SPECIES_SOLROCK},
+ {18, 18, SPECIES_SOLROCK},
+ {14, 14, SPECIES_SOLROCK},
+ {19, 19, SPECIES_ZUBAT},
+ {20, 20, SPECIES_ZUBAT},
+ {19, 19, SPECIES_ZUBAT},
+ {20, 20, SPECIES_ZUBAT},
+};
+
+const struct WildPokemonInfo gMeteorFalls_1F_1R_LandMonsInfo = {10, gMeteorFalls_1F_1R_LandMons};
+
+const struct WildPokemon gMeteorFalls_1F_1R_WaterMons[] =
+{
+ {5, 35, SPECIES_ZUBAT},
+ {30, 35, SPECIES_ZUBAT},
+ {25, 35, SPECIES_SOLROCK},
+ {15, 25, SPECIES_SOLROCK},
+ {5, 15, SPECIES_SOLROCK},
+};
+
+const struct WildPokemonInfo gMeteorFalls_1F_1R_WaterMonsInfo = {4, gMeteorFalls_1F_1R_WaterMons};
+
+const struct WildPokemon gMeteorFalls_1F_1R_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_BARBOACH},
+ {25, 30, SPECIES_BARBOACH},
+ {30, 35, SPECIES_BARBOACH},
+ {20, 25, SPECIES_BARBOACH},
+ {35, 40, SPECIES_BARBOACH},
+ {40, 45, SPECIES_BARBOACH},
+};
+
+const struct WildPokemonInfo gMeteorFalls_1F_1R_FishingMonsInfo = {30, gMeteorFalls_1F_1R_FishingMons};
+
+const struct WildPokemon gMeteorFalls_1F_2R_LandMons[] =
+{
+ {33, 33, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {35, 35, SPECIES_SOLROCK},
+ {33, 33, SPECIES_SOLROCK},
+ {37, 37, SPECIES_SOLROCK},
+ {35, 35, SPECIES_GOLBAT},
+ {39, 39, SPECIES_SOLROCK},
+ {38, 38, SPECIES_GOLBAT},
+ {40, 40, SPECIES_GOLBAT},
+ {38, 38, SPECIES_GOLBAT},
+ {40, 40, SPECIES_GOLBAT},
+};
+
+const struct WildPokemonInfo gMeteorFalls_1F_2R_LandMonsInfo = {10, gMeteorFalls_1F_2R_LandMons};
+
+const struct WildPokemon gMeteorFalls_1F_2R_WaterMons[] =
+{
+ {30, 35, SPECIES_GOLBAT},
+ {30, 35, SPECIES_GOLBAT},
+ {25, 35, SPECIES_SOLROCK},
+ {15, 25, SPECIES_SOLROCK},
+ {5, 15, SPECIES_SOLROCK},
+};
+
+const struct WildPokemonInfo gMeteorFalls_1F_2R_WaterMonsInfo = {4, gMeteorFalls_1F_2R_WaterMons};
+
+const struct WildPokemon gMeteorFalls_1F_2R_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_BARBOACH},
+ {25, 30, SPECIES_BARBOACH},
+ {30, 35, SPECIES_BARBOACH},
+ {30, 35, SPECIES_WHISCASH},
+ {35, 40, SPECIES_WHISCASH},
+ {40, 45, SPECIES_WHISCASH},
+};
+
+const struct WildPokemonInfo gMeteorFalls_1F_2R_FishingMonsInfo = {30, gMeteorFalls_1F_2R_FishingMons};
+
+const struct WildPokemon gMeteorFalls_B1F_1R_LandMons[] =
+{
+ {33, 33, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {35, 35, SPECIES_SOLROCK},
+ {33, 33, SPECIES_SOLROCK},
+ {37, 37, SPECIES_SOLROCK},
+ {35, 35, SPECIES_GOLBAT},
+ {39, 39, SPECIES_SOLROCK},
+ {38, 38, SPECIES_GOLBAT},
+ {40, 40, SPECIES_GOLBAT},
+ {38, 38, SPECIES_GOLBAT},
+ {40, 40, SPECIES_GOLBAT},
+};
+
+const struct WildPokemonInfo gMeteorFalls_B1F_1R_LandMonsInfo = {10, gMeteorFalls_B1F_1R_LandMons};
+
+const struct WildPokemon gMeteorFalls_B1F_1R_WaterMons[] =
+{
+ {30, 35, SPECIES_GOLBAT},
+ {30, 35, SPECIES_GOLBAT},
+ {25, 35, SPECIES_SOLROCK},
+ {15, 25, SPECIES_SOLROCK},
+ {5, 15, SPECIES_SOLROCK},
+};
+
+const struct WildPokemonInfo gMeteorFalls_B1F_1R_WaterMonsInfo = {4, gMeteorFalls_B1F_1R_WaterMons};
+
+const struct WildPokemon gMeteorFalls_B1F_1R_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_BARBOACH},
+ {25, 30, SPECIES_BARBOACH},
+ {30, 35, SPECIES_BARBOACH},
+ {30, 35, SPECIES_WHISCASH},
+ {35, 40, SPECIES_WHISCASH},
+ {40, 45, SPECIES_WHISCASH},
+};
+
+const struct WildPokemonInfo gMeteorFalls_B1F_1R_FishingMonsInfo = {30, gMeteorFalls_B1F_1R_FishingMons};
+
+const struct WildPokemon gShoalCave_LowTideStairsRoom_LandMons[] =
+{
+ {26, 26, SPECIES_ZUBAT},
+ {26, 26, SPECIES_SPHEAL},
+ {28, 28, SPECIES_ZUBAT},
+ {28, 28, SPECIES_SPHEAL},
+ {30, 30, SPECIES_ZUBAT},
+ {30, 30, SPECIES_SPHEAL},
+ {32, 32, SPECIES_ZUBAT},
+ {32, 32, SPECIES_SPHEAL},
+ {32, 32, SPECIES_GOLBAT},
+ {32, 32, SPECIES_SPHEAL},
+ {32, 32, SPECIES_GOLBAT},
+ {32, 32, SPECIES_SPHEAL},
+};
+
+const struct WildPokemonInfo gShoalCave_LowTideStairsRoom_LandMonsInfo = {10, gShoalCave_LowTideStairsRoom_LandMons};
+
+const struct WildPokemon gShoalCave_LowTideLowerRoom_LandMons[] =
+{
+ {26, 26, SPECIES_ZUBAT},
+ {26, 26, SPECIES_SPHEAL},
+ {28, 28, SPECIES_ZUBAT},
+ {28, 28, SPECIES_SPHEAL},
+ {30, 30, SPECIES_ZUBAT},
+ {30, 30, SPECIES_SPHEAL},
+ {32, 32, SPECIES_ZUBAT},
+ {32, 32, SPECIES_SPHEAL},
+ {32, 32, SPECIES_GOLBAT},
+ {32, 32, SPECIES_SPHEAL},
+ {32, 32, SPECIES_GOLBAT},
+ {32, 32, SPECIES_SPHEAL},
+};
+
+const struct WildPokemonInfo gShoalCave_LowTideLowerRoom_LandMonsInfo = {10, gShoalCave_LowTideLowerRoom_LandMons};
+
+const struct WildPokemon gShoalCave_LowTideInnerRoom_LandMons[] =
+{
+ {26, 26, SPECIES_ZUBAT},
+ {26, 26, SPECIES_SPHEAL},
+ {28, 28, SPECIES_ZUBAT},
+ {28, 28, SPECIES_SPHEAL},
+ {30, 30, SPECIES_ZUBAT},
+ {30, 30, SPECIES_SPHEAL},
+ {32, 32, SPECIES_ZUBAT},
+ {32, 32, SPECIES_SPHEAL},
+ {32, 32, SPECIES_GOLBAT},
+ {32, 32, SPECIES_SPHEAL},
+ {32, 32, SPECIES_GOLBAT},
+ {32, 32, SPECIES_SPHEAL},
+};
+
+const struct WildPokemonInfo gShoalCave_LowTideInnerRoom_LandMonsInfo = {10, gShoalCave_LowTideInnerRoom_LandMons};
+
+const struct WildPokemon gShoalCave_LowTideInnerRoom_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {5, 35, SPECIES_ZUBAT},
+ {25, 30, SPECIES_SPHEAL},
+ {25, 30, SPECIES_SPHEAL},
+ {25, 35, SPECIES_SPHEAL},
+};
+
+const struct WildPokemonInfo gShoalCave_LowTideInnerRoom_WaterMonsInfo = {4, gShoalCave_LowTideInnerRoom_WaterMons};
+
+const struct WildPokemon gShoalCave_LowTideInnerRoom_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_WAILMER},
+ {20, 25, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
+};
+
+const struct WildPokemonInfo gShoalCave_LowTideInnerRoom_FishingMonsInfo = {10, gShoalCave_LowTideInnerRoom_FishingMons};
+
+const struct WildPokemon gShoalCave_LowTideEntranceRoom_LandMons[] =
+{
+ {26, 26, SPECIES_ZUBAT},
+ {26, 26, SPECIES_SPHEAL},
+ {28, 28, SPECIES_ZUBAT},
+ {28, 28, SPECIES_SPHEAL},
+ {30, 30, SPECIES_ZUBAT},
+ {30, 30, SPECIES_SPHEAL},
+ {32, 32, SPECIES_ZUBAT},
+ {32, 32, SPECIES_SPHEAL},
+ {32, 32, SPECIES_GOLBAT},
+ {32, 32, SPECIES_SPHEAL},
+ {32, 32, SPECIES_GOLBAT},
+ {32, 32, SPECIES_SPHEAL},
+};
+
+const struct WildPokemonInfo gShoalCave_LowTideEntranceRoom_LandMonsInfo = {10, gShoalCave_LowTideEntranceRoom_LandMons};
+
+const struct WildPokemon gShoalCave_LowTideEntranceRoom_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {5, 35, SPECIES_ZUBAT},
+ {25, 30, SPECIES_SPHEAL},
+ {25, 30, SPECIES_SPHEAL},
+ {25, 35, SPECIES_SPHEAL},
+};
+
+const struct WildPokemonInfo gShoalCave_LowTideEntranceRoom_WaterMonsInfo = {4, gShoalCave_LowTideEntranceRoom_WaterMons};
+
+const struct WildPokemon gShoalCave_LowTideEntranceRoom_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_WAILMER},
+ {20, 25, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
+};
+
+const struct WildPokemonInfo gShoalCave_LowTideEntranceRoom_FishingMonsInfo = {10, gShoalCave_LowTideEntranceRoom_FishingMons};
+
+const struct WildPokemon gLilycoveCity_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
+};
+
+const struct WildPokemonInfo gLilycoveCity_WaterMonsInfo = {4, gLilycoveCity_WaterMons};
+
+const struct WildPokemon gLilycoveCity_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_WAILMER},
+ {25, 30, SPECIES_STARYU},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
+};
+
+const struct WildPokemonInfo gLilycoveCity_FishingMonsInfo = {10, gLilycoveCity_FishingMons};
+
+const struct WildPokemon gDewfordTown_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
+};
+
+const struct WildPokemonInfo gDewfordTown_WaterMonsInfo = {4, gDewfordTown_WaterMons};
+
+const struct WildPokemon gDewfordTown_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_WAILMER},
+ {20, 25, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
+};
+
+const struct WildPokemonInfo gDewfordTown_FishingMonsInfo = {10, gDewfordTown_FishingMons};
+
+const struct WildPokemon gSlateportCity_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
+};
+
+const struct WildPokemonInfo gSlateportCity_WaterMonsInfo = {4, gSlateportCity_WaterMons};
+
+const struct WildPokemon gSlateportCity_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_WAILMER},
+ {20, 25, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
+};
+
+const struct WildPokemonInfo gSlateportCity_FishingMonsInfo = {10, gSlateportCity_FishingMons};
+
+const struct WildPokemon gMossdeepCity_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
+};
+
+const struct WildPokemonInfo gMossdeepCity_WaterMonsInfo = {4, gMossdeepCity_WaterMons};
+
+const struct WildPokemon gMossdeepCity_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_SHARPEDO},
+ {30, 35, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
+};
+
+const struct WildPokemonInfo gMossdeepCity_FishingMonsInfo = {10, gMossdeepCity_FishingMons};
+
+const struct WildPokemon gPacifidlogTown_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
+};
+
+const struct WildPokemonInfo gPacifidlogTown_WaterMonsInfo = {4, gPacifidlogTown_WaterMons};
+
+const struct WildPokemon gPacifidlogTown_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_SHARPEDO},
+ {30, 35, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
+};
+
+const struct WildPokemonInfo gPacifidlogTown_FishingMonsInfo = {10, gPacifidlogTown_FishingMons};
+
+const struct WildPokemon gEverGrandeCity_WaterMons[] =
+{
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
+};
+
+const struct WildPokemonInfo gEverGrandeCity_WaterMonsInfo = {4, gEverGrandeCity_WaterMons};
+
+const struct WildPokemon gEverGrandeCity_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_LUVDISC},
+ {10, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_LUVDISC},
+ {30, 35, SPECIES_WAILMER},
+ {30, 35, SPECIES_CORSOLA},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
+};
+
+const struct WildPokemonInfo gEverGrandeCity_FishingMonsInfo = {10, gEverGrandeCity_FishingMons};
+
+const struct WildPokemon gPetalburgCity_WaterMons[] =
+{
+ {20, 30, SPECIES_MARILL},
+ {10, 20, SPECIES_MARILL},
+ {30, 35, SPECIES_MARILL},
+ {5, 10, SPECIES_MARILL},
+ {5, 10, SPECIES_MARILL},
+};
+
+const struct WildPokemonInfo gPetalburgCity_WaterMonsInfo = {1, gPetalburgCity_WaterMons};
+
+const struct WildPokemon gPetalburgCity_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_CORPHISH},
+ {25, 30, SPECIES_CORPHISH},
+ {30, 35, SPECIES_CORPHISH},
+ {20, 25, SPECIES_CORPHISH},
+ {35, 40, SPECIES_CORPHISH},
+ {40, 45, SPECIES_CORPHISH},
+};
+
+const struct WildPokemonInfo gPetalburgCity_FishingMonsInfo = {10, gPetalburgCity_FishingMons};
+
+const struct WildPokemon gUnderwater1_WaterMons[] =
+{
+ {20, 30, SPECIES_CLAMPERL},
+ {20, 30, SPECIES_CHINCHOU},
+ {30, 35, SPECIES_CLAMPERL},
+ {30, 35, SPECIES_RELICANTH},
+ {30, 35, SPECIES_RELICANTH},
+};
+
+const struct WildPokemonInfo gUnderwater1_WaterMonsInfo = {4, gUnderwater1_WaterMons};
+
+const struct WildPokemon gShoalCave_LowTideIceRoom_LandMons[] =
+{
+ {26, 26, SPECIES_ZUBAT},
+ {26, 26, SPECIES_SPHEAL},
+ {28, 28, SPECIES_ZUBAT},
+ {28, 28, SPECIES_SPHEAL},
+ {30, 30, SPECIES_ZUBAT},
+ {30, 30, SPECIES_SPHEAL},
+ {26, 26, SPECIES_SNORUNT},
+ {32, 32, SPECIES_SPHEAL},
+ {30, 30, SPECIES_GOLBAT},
+ {28, 28, SPECIES_SNORUNT},
+ {32, 32, SPECIES_GOLBAT},
+ {30, 30, SPECIES_SNORUNT},
+};
+
+const struct WildPokemonInfo gShoalCave_LowTideIceRoom_LandMonsInfo = {10, gShoalCave_LowTideIceRoom_LandMons};
+
+const struct WildPokemon gSkyPillar_1F_LandMons[] =
+{
+ {33, 33, SPECIES_SABLEYE},
+ {34, 34, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {34, 34, SPECIES_SABLEYE},
+ {36, 36, SPECIES_CLAYDOL},
+ {37, 37, SPECIES_BANETTE},
+ {38, 38, SPECIES_BANETTE},
+ {36, 36, SPECIES_CLAYDOL},
+ {37, 37, SPECIES_CLAYDOL},
+ {38, 38, SPECIES_CLAYDOL},
+ {37, 37, SPECIES_CLAYDOL},
+ {38, 38, SPECIES_CLAYDOL},
+};
+
+const struct WildPokemonInfo gSkyPillar_1F_LandMonsInfo = {10, gSkyPillar_1F_LandMons};
+
+const struct WildPokemon gSootopolisCity_WaterMons[] =
+{
+ {5, 35, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_MAGIKARP},
+ {15, 25, SPECIES_MAGIKARP},
+ {25, 30, SPECIES_MAGIKARP},
+ {25, 30, SPECIES_MAGIKARP},
+};
+
+const struct WildPokemonInfo gSootopolisCity_WaterMonsInfo = {1, gSootopolisCity_WaterMons};
+
+const struct WildPokemon gSootopolisCity_FishingMons[] =
+{
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_MAGIKARP},
+ {30, 35, SPECIES_MAGIKARP},
+ {30, 35, SPECIES_MAGIKARP},
+ {35, 40, SPECIES_GYARADOS},
+ {35, 45, SPECIES_GYARADOS},
+ {5, 45, SPECIES_GYARADOS},
+};
+
+const struct WildPokemonInfo gSootopolisCity_FishingMonsInfo = {10, gSootopolisCity_FishingMons};
+
+const struct WildPokemon gSkyPillar_3F_LandMons[] =
+{
+ {33, 33, SPECIES_SABLEYE},
+ {34, 34, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {34, 34, SPECIES_SABLEYE},
+ {36, 36, SPECIES_CLAYDOL},
+ {37, 37, SPECIES_BANETTE},
+ {38, 38, SPECIES_BANETTE},
+ {36, 36, SPECIES_CLAYDOL},
+ {37, 37, SPECIES_CLAYDOL},
+ {38, 38, SPECIES_CLAYDOL},
+ {37, 37, SPECIES_CLAYDOL},
+ {38, 38, SPECIES_CLAYDOL},
+};
+
+const struct WildPokemonInfo gSkyPillar_3F_LandMonsInfo = {10, gSkyPillar_3F_LandMons};
+
+const struct WildPokemon gSkyPillar_5F_LandMons[] =
+{
+ {33, 33, SPECIES_SABLEYE},
+ {34, 34, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {34, 34, SPECIES_SABLEYE},
+ {36, 36, SPECIES_CLAYDOL},
+ {37, 37, SPECIES_BANETTE},
+ {38, 38, SPECIES_BANETTE},
+ {36, 36, SPECIES_CLAYDOL},
+ {37, 37, SPECIES_CLAYDOL},
+ {38, 38, SPECIES_ALTARIA},
+ {39, 39, SPECIES_ALTARIA},
+ {39, 39, SPECIES_ALTARIA},
+};
+
+const struct WildPokemonInfo gSkyPillar_5F_LandMonsInfo = {10, gSkyPillar_5F_LandMons};
+
+const struct WildPokemon gSafariZone_Southeast_LandMons[] =
+{
+ {33, 33, SPECIES_SUNKERN},
+ {34, 34, SPECIES_MAREEP},
+ {35, 35, SPECIES_SUNKERN},
+ {36, 36, SPECIES_MAREEP},
+ {34, 34, SPECIES_AIPOM},
+ {33, 33, SPECIES_SPINARAK},
+ {35, 35, SPECIES_HOOTHOOT},
+ {34, 34, SPECIES_SNUBBULL},
+ {36, 36, SPECIES_STANTLER},
+ {37, 37, SPECIES_GLIGAR},
+ {39, 39, SPECIES_STANTLER},
+ {40, 40, SPECIES_GLIGAR},
+};
+
+const struct WildPokemonInfo gSafariZone_Southeast_LandMonsInfo = {25, gSafariZone_Southeast_LandMons};
+
+const struct WildPokemon gSafariZone_Southeast_WaterMons[] =
+{
+ {25, 30, SPECIES_WOOPER},
+ {25, 30, SPECIES_MARILL},
+ {25, 30, SPECIES_MARILL},
+ {30, 35, SPECIES_MARILL},
+ {35, 40, SPECIES_QUAGSIRE},
+};
+
+const struct WildPokemonInfo gSafariZone_Southeast_WaterMonsInfo = {9, gSafariZone_Southeast_WaterMons};
+
+const struct WildPokemon gSafariZone_Southeast_FishingMons[] =
+{
+ {25, 30, SPECIES_MAGIKARP},
+ {25, 30, SPECIES_GOLDEEN},
+ {25, 30, SPECIES_MAGIKARP},
+ {25, 30, SPECIES_GOLDEEN},
+ {30, 35, SPECIES_REMORAID},
+ {25, 30, SPECIES_GOLDEEN},
+ {25, 30, SPECIES_REMORAID},
+ {30, 35, SPECIES_REMORAID},
+ {30, 35, SPECIES_REMORAID},
+ {35, 40, SPECIES_OCTILLERY},
+};
+
+const struct WildPokemonInfo gSafariZone_Southeast_FishingMonsInfo = {35, gSafariZone_Southeast_FishingMons};
+
+const struct WildPokemon gSafariZone_Northeast_LandMons[] =
+{
+ {33, 33, SPECIES_AIPOM},
+ {34, 34, SPECIES_TEDDIURSA},
+ {35, 35, SPECIES_AIPOM},
+ {36, 36, SPECIES_TEDDIURSA},
+ {34, 34, SPECIES_SUNKERN},
+ {33, 33, SPECIES_LEDYBA},
+ {35, 35, SPECIES_HOOTHOOT},
+ {34, 34, SPECIES_PINECO},
+ {36, 36, SPECIES_HOUNDOUR},
+ {37, 37, SPECIES_MILTANK},
+ {39, 39, SPECIES_HOUNDOUR},
+ {40, 40, SPECIES_MILTANK},
+};
+
+const struct WildPokemonInfo gSafariZone_Northeast_LandMonsInfo = {25, gSafariZone_Northeast_LandMons};
+
+const struct WildPokemon gSafariZone_Northeast_RockSmashMons[] =
+{
+ {25, 30, SPECIES_SHUCKLE},
+ {20, 25, SPECIES_SHUCKLE},
+ {30, 35, SPECIES_SHUCKLE},
+ {30, 35, SPECIES_SHUCKLE},
+ {35, 40, SPECIES_SHUCKLE},
+};
+
+const struct WildPokemonInfo gSafariZone_Northeast_RockSmashMonsInfo = {25, gSafariZone_Northeast_RockSmashMons};
+
+const struct WildPokemon gMagmaHideout_1F_LandMons[] =
+{
+ {27, 27, SPECIES_GEODUDE},
+ {28, 28, SPECIES_TORKOAL},
+ {28, 28, SPECIES_GEODUDE},
+ {30, 30, SPECIES_TORKOAL},
+ {29, 29, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GRAVELER},
+ {30, 30, SPECIES_GRAVELER},
+ {31, 31, SPECIES_GRAVELER},
+ {32, 32, SPECIES_GRAVELER},
+ {33, 33, SPECIES_GRAVELER},
+};
+
+const struct WildPokemonInfo gMagmaHideout_1F_LandMonsInfo = {10, gMagmaHideout_1F_LandMons};
+
+const struct WildPokemon gMagmaHideout_2F_1R_LandMons[] =
+{
+ {27, 27, SPECIES_GEODUDE},
+ {28, 28, SPECIES_TORKOAL},
+ {28, 28, SPECIES_GEODUDE},
+ {30, 30, SPECIES_TORKOAL},
+ {29, 29, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GRAVELER},
+ {30, 30, SPECIES_GRAVELER},
+ {31, 31, SPECIES_GRAVELER},
+ {32, 32, SPECIES_GRAVELER},
+ {33, 33, SPECIES_GRAVELER},
+};
+
+const struct WildPokemonInfo gMagmaHideout_2F_1R_LandMonsInfo = {10, gMagmaHideout_2F_1R_LandMons};
+
+const struct WildPokemon gMagmaHideout_2F_2R_LandMons[] =
+{
+ {27, 27, SPECIES_GEODUDE},
+ {28, 28, SPECIES_TORKOAL},
+ {28, 28, SPECIES_GEODUDE},
+ {30, 30, SPECIES_TORKOAL},
+ {29, 29, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GRAVELER},
+ {30, 30, SPECIES_GRAVELER},
+ {31, 31, SPECIES_GRAVELER},
+ {32, 32, SPECIES_GRAVELER},
+ {33, 33, SPECIES_GRAVELER},
+};
+
+const struct WildPokemonInfo gMagmaHideout_2F_2R_LandMonsInfo = {10, gMagmaHideout_2F_2R_LandMons};
+
+const struct WildPokemon gMagmaHideout_3F_1R_LandMons[] =
+{
+ {27, 27, SPECIES_GEODUDE},
+ {28, 28, SPECIES_TORKOAL},
+ {28, 28, SPECIES_GEODUDE},
+ {30, 30, SPECIES_TORKOAL},
+ {29, 29, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GRAVELER},
+ {30, 30, SPECIES_GRAVELER},
+ {31, 31, SPECIES_GRAVELER},
+ {32, 32, SPECIES_GRAVELER},
+ {33, 33, SPECIES_GRAVELER},
+};
+
+const struct WildPokemonInfo gMagmaHideout_3F_1R_LandMonsInfo = {10, gMagmaHideout_3F_1R_LandMons};
+
+const struct WildPokemon gMagmaHideout_3F_2R_LandMons[] =
+{
+ {27, 27, SPECIES_GEODUDE},
+ {28, 28, SPECIES_TORKOAL},
+ {28, 28, SPECIES_GEODUDE},
+ {30, 30, SPECIES_TORKOAL},
+ {29, 29, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GRAVELER},
+ {30, 30, SPECIES_GRAVELER},
+ {31, 31, SPECIES_GRAVELER},
+ {32, 32, SPECIES_GRAVELER},
+ {33, 33, SPECIES_GRAVELER},
+};
+
+const struct WildPokemonInfo gMagmaHideout_3F_2R_LandMonsInfo = {10, gMagmaHideout_3F_2R_LandMons};
+
+const struct WildPokemon gMagmaHideout_4F_LandMons[] =
+{
+ {27, 27, SPECIES_GEODUDE},
+ {28, 28, SPECIES_TORKOAL},
+ {28, 28, SPECIES_GEODUDE},
+ {30, 30, SPECIES_TORKOAL},
+ {29, 29, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GRAVELER},
+ {30, 30, SPECIES_GRAVELER},
+ {31, 31, SPECIES_GRAVELER},
+ {32, 32, SPECIES_GRAVELER},
+ {33, 33, SPECIES_GRAVELER},
+};
+
+const struct WildPokemonInfo gMagmaHideout_4F_LandMonsInfo = {10, gMagmaHideout_4F_LandMons};
+
+const struct WildPokemon gMagmaHideout_3F_3R_LandMons[] =
+{
+ {27, 27, SPECIES_GEODUDE},
+ {28, 28, SPECIES_TORKOAL},
+ {28, 28, SPECIES_GEODUDE},
+ {30, 30, SPECIES_TORKOAL},
+ {29, 29, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GRAVELER},
+ {30, 30, SPECIES_GRAVELER},
+ {31, 31, SPECIES_GRAVELER},
+ {32, 32, SPECIES_GRAVELER},
+ {33, 33, SPECIES_GRAVELER},
+};
+
+const struct WildPokemonInfo gMagmaHideout_3F_3R_LandMonsInfo = {10, gMagmaHideout_3F_3R_LandMons};
+
+const struct WildPokemon gMagmaHideout_2F_3R_LandMons[] =
+{
+ {27, 27, SPECIES_GEODUDE},
+ {28, 28, SPECIES_TORKOAL},
+ {28, 28, SPECIES_GEODUDE},
+ {30, 30, SPECIES_TORKOAL},
+ {29, 29, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GRAVELER},
+ {30, 30, SPECIES_GRAVELER},
+ {31, 31, SPECIES_GRAVELER},
+ {32, 32, SPECIES_GRAVELER},
+ {33, 33, SPECIES_GRAVELER},
+};
+
+const struct WildPokemonInfo gMagmaHideout_2F_3R_LandMonsInfo = {10, gMagmaHideout_2F_3R_LandMons};
+
+const struct WildPokemon gMirageTower_1F_LandMons[] =
+{
+ {21, 21, SPECIES_SANDSHREW},
+ {21, 21, SPECIES_TRAPINCH},
+ {20, 20, SPECIES_SANDSHREW},
+ {20, 20, SPECIES_TRAPINCH},
+ {20, 20, SPECIES_SANDSHREW},
+ {20, 20, SPECIES_TRAPINCH},
+ {22, 22, SPECIES_SANDSHREW},
+ {22, 22, SPECIES_TRAPINCH},
+ {23, 23, SPECIES_SANDSHREW},
+ {23, 23, SPECIES_TRAPINCH},
+ {24, 24, SPECIES_SANDSHREW},
+ {24, 24, SPECIES_TRAPINCH},
+};
+
+const struct WildPokemonInfo gMirageTower_1F_LandMonsInfo = {10, gMirageTower_1F_LandMons};
+
+const struct WildPokemon gMirageTower_2F_LandMons[] =
+{
+ {21, 21, SPECIES_SANDSHREW},
+ {21, 21, SPECIES_TRAPINCH},
+ {20, 20, SPECIES_SANDSHREW},
+ {20, 20, SPECIES_TRAPINCH},
+ {20, 20, SPECIES_SANDSHREW},
+ {20, 20, SPECIES_TRAPINCH},
+ {22, 22, SPECIES_SANDSHREW},
+ {22, 22, SPECIES_TRAPINCH},
+ {23, 23, SPECIES_SANDSHREW},
+ {23, 23, SPECIES_TRAPINCH},
+ {24, 24, SPECIES_SANDSHREW},
+ {24, 24, SPECIES_TRAPINCH},
+};
+
+const struct WildPokemonInfo gMirageTower_2F_LandMonsInfo = {10, gMirageTower_2F_LandMons};
+
+const struct WildPokemon gMirageTower_3F_LandMons[] =
+{
+ {21, 21, SPECIES_SANDSHREW},
+ {21, 21, SPECIES_TRAPINCH},
+ {20, 20, SPECIES_SANDSHREW},
+ {20, 20, SPECIES_TRAPINCH},
+ {20, 20, SPECIES_SANDSHREW},
+ {20, 20, SPECIES_TRAPINCH},
+ {22, 22, SPECIES_SANDSHREW},
+ {22, 22, SPECIES_TRAPINCH},
+ {23, 23, SPECIES_SANDSHREW},
+ {23, 23, SPECIES_TRAPINCH},
+ {24, 24, SPECIES_SANDSHREW},
+ {24, 24, SPECIES_TRAPINCH},
+};
+
+const struct WildPokemonInfo gMirageTower_3F_LandMonsInfo = {10, gMirageTower_3F_LandMons};
+
+const struct WildPokemon gMirageTower_4F_LandMons[] =
+{
+ {21, 21, SPECIES_SANDSHREW},
+ {21, 21, SPECIES_TRAPINCH},
+ {20, 20, SPECIES_SANDSHREW},
+ {20, 20, SPECIES_TRAPINCH},
+ {20, 20, SPECIES_SANDSHREW},
+ {20, 20, SPECIES_TRAPINCH},
+ {22, 22, SPECIES_SANDSHREW},
+ {22, 22, SPECIES_TRAPINCH},
+ {23, 23, SPECIES_SANDSHREW},
+ {23, 23, SPECIES_TRAPINCH},
+ {24, 24, SPECIES_SANDSHREW},
+ {24, 24, SPECIES_TRAPINCH},
+};
+
+const struct WildPokemonInfo gMirageTower_4F_LandMonsInfo = {10, gMirageTower_4F_LandMons};
+
+const struct WildPokemon gDesertUnderpass_LandMons[] =
+{
+ {38, 38, SPECIES_DITTO},
+ {35, 35, SPECIES_WHISMUR},
+ {40, 40, SPECIES_DITTO},
+ {40, 40, SPECIES_LOUDRED},
+ {41, 41, SPECIES_DITTO},
+ {36, 36, SPECIES_WHISMUR},
+ {38, 38, SPECIES_LOUDRED},
+ {42, 42, SPECIES_DITTO},
+ {38, 38, SPECIES_WHISMUR},
+ {43, 43, SPECIES_DITTO},
+ {44, 44, SPECIES_LOUDRED},
+ {45, 45, SPECIES_DITTO},
+};
+
+const struct WildPokemonInfo gDesertUnderpass_LandMonsInfo = {10, gDesertUnderpass_LandMons};
+
+const struct WildPokemon gArtisanCave_B1F_LandMons[] =
+{
+ {40, 40, SPECIES_SMEARGLE},
+ {41, 41, SPECIES_SMEARGLE},
+ {42, 42, SPECIES_SMEARGLE},
+ {43, 43, SPECIES_SMEARGLE},
+ {44, 44, SPECIES_SMEARGLE},
+ {45, 45, SPECIES_SMEARGLE},
+ {46, 46, SPECIES_SMEARGLE},
+ {47, 47, SPECIES_SMEARGLE},
+ {48, 48, SPECIES_SMEARGLE},
+ {49, 49, SPECIES_SMEARGLE},
+ {50, 50, SPECIES_SMEARGLE},
+ {50, 50, SPECIES_SMEARGLE},
+};
+
+const struct WildPokemonInfo gArtisanCave_B1F_LandMonsInfo = {10, gArtisanCave_B1F_LandMons};
+
+const struct WildPokemon gArtisanCave_1F_LandMons[] =
+{
+ {40, 40, SPECIES_SMEARGLE},
+ {41, 41, SPECIES_SMEARGLE},
+ {42, 42, SPECIES_SMEARGLE},
+ {43, 43, SPECIES_SMEARGLE},
+ {44, 44, SPECIES_SMEARGLE},
+ {45, 45, SPECIES_SMEARGLE},
+ {46, 46, SPECIES_SMEARGLE},
+ {47, 47, SPECIES_SMEARGLE},
+ {48, 48, SPECIES_SMEARGLE},
+ {49, 49, SPECIES_SMEARGLE},
+ {50, 50, SPECIES_SMEARGLE},
+ {50, 50, SPECIES_SMEARGLE},
+};
+
+const struct WildPokemonInfo gArtisanCave_1F_LandMonsInfo = {10, gArtisanCave_1F_LandMons};
+
+const struct WildPokemon gAlteringCave1_LandMons[] =
+{
+ {10, 10, SPECIES_ZUBAT},
+ {12, 12, SPECIES_ZUBAT},
+ {8, 8, SPECIES_ZUBAT},
+ {14, 14, SPECIES_ZUBAT},
+ {10, 10, SPECIES_ZUBAT},
+ {12, 12, SPECIES_ZUBAT},
+ {16, 16, SPECIES_ZUBAT},
+ {6, 6, SPECIES_ZUBAT},
+ {8, 8, SPECIES_ZUBAT},
+ {14, 14, SPECIES_ZUBAT},
+ {8, 8, SPECIES_ZUBAT},
+ {14, 14, SPECIES_ZUBAT},
+};
+
+const struct WildPokemonInfo gAlteringCave1_LandMonsInfo = {7, gAlteringCave1_LandMons};
+
+const struct WildPokemon gAlteringCave2_LandMons[] =
+{
+ {7, 7, SPECIES_MAREEP},
+ {9, 9, SPECIES_MAREEP},
+ {5, 5, SPECIES_MAREEP},
+ {11, 11, SPECIES_MAREEP},
+ {7, 7, SPECIES_MAREEP},
+ {9, 9, SPECIES_MAREEP},
+ {13, 13, SPECIES_MAREEP},
+ {3, 3, SPECIES_MAREEP},
+ {5, 5, SPECIES_MAREEP},
+ {11, 11, SPECIES_MAREEP},
+ {5, 5, SPECIES_MAREEP},
+ {11, 11, SPECIES_MAREEP},
+};
+
+const struct WildPokemonInfo gAlteringCave2_LandMonsInfo = {7, gAlteringCave2_LandMons};
+
+const struct WildPokemon gAlteringCave3_LandMons[] =
+{
+ {23, 23, SPECIES_PINECO},
+ {25, 25, SPECIES_PINECO},
+ {22, 22, SPECIES_PINECO},
+ {27, 27, SPECIES_PINECO},
+ {23, 23, SPECIES_PINECO},
+ {25, 25, SPECIES_PINECO},
+ {29, 29, SPECIES_PINECO},
+ {19, 19, SPECIES_PINECO},
+ {21, 21, SPECIES_PINECO},
+ {27, 27, SPECIES_PINECO},
+ {21, 21, SPECIES_PINECO},
+ {27, 27, SPECIES_PINECO},
+};
+
+const struct WildPokemonInfo gAlteringCave3_LandMonsInfo = {7, gAlteringCave3_LandMons};
+
+const struct WildPokemon gAlteringCave4_LandMons[] =
+{
+ {16, 16, SPECIES_HOUNDOUR},
+ {18, 18, SPECIES_HOUNDOUR},
+ {14, 14, SPECIES_HOUNDOUR},
+ {20, 20, SPECIES_HOUNDOUR},
+ {16, 16, SPECIES_HOUNDOUR},
+ {18, 18, SPECIES_HOUNDOUR},
+ {22, 22, SPECIES_HOUNDOUR},
+ {12, 12, SPECIES_HOUNDOUR},
+ {14, 14, SPECIES_HOUNDOUR},
+ {20, 20, SPECIES_HOUNDOUR},
+ {14, 14, SPECIES_HOUNDOUR},
+ {20, 20, SPECIES_HOUNDOUR},
+};
+
+const struct WildPokemonInfo gAlteringCave4_LandMonsInfo = {7, gAlteringCave4_LandMons};
+
+const struct WildPokemon gAlteringCave5_LandMons[] =
+{
+ {10, 10, SPECIES_TEDDIURSA},
+ {12, 12, SPECIES_TEDDIURSA},
+ {8, 8, SPECIES_TEDDIURSA},
+ {14, 14, SPECIES_TEDDIURSA},
+ {10, 10, SPECIES_TEDDIURSA},
+ {12, 12, SPECIES_TEDDIURSA},
+ {16, 16, SPECIES_TEDDIURSA},
+ {6, 6, SPECIES_TEDDIURSA},
+ {8, 8, SPECIES_TEDDIURSA},
+ {14, 14, SPECIES_TEDDIURSA},
+ {8, 8, SPECIES_TEDDIURSA},
+ {14, 14, SPECIES_TEDDIURSA},
+};
+
+const struct WildPokemonInfo gAlteringCave5_LandMonsInfo = {7, gAlteringCave5_LandMons};
+
+const struct WildPokemon gAlteringCave6_LandMons[] =
+{
+ {22, 22, SPECIES_AIPOM},
+ {24, 24, SPECIES_AIPOM},
+ {20, 20, SPECIES_AIPOM},
+ {26, 26, SPECIES_AIPOM},
+ {22, 22, SPECIES_AIPOM},
+ {24, 24, SPECIES_AIPOM},
+ {28, 28, SPECIES_AIPOM},
+ {18, 18, SPECIES_AIPOM},
+ {20, 20, SPECIES_AIPOM},
+ {26, 26, SPECIES_AIPOM},
+ {20, 20, SPECIES_AIPOM},
+ {26, 26, SPECIES_AIPOM},
+};
+
+const struct WildPokemonInfo gAlteringCave6_LandMonsInfo = {7, gAlteringCave6_LandMons};
+
+const struct WildPokemon gAlteringCave7_LandMons[] =
+{
+ {22, 22, SPECIES_SHUCKLE},
+ {24, 24, SPECIES_SHUCKLE},
+ {20, 20, SPECIES_SHUCKLE},
+ {26, 26, SPECIES_SHUCKLE},
+ {22, 22, SPECIES_SHUCKLE},
+ {24, 24, SPECIES_SHUCKLE},
+ {28, 28, SPECIES_SHUCKLE},
+ {18, 18, SPECIES_SHUCKLE},
+ {20, 20, SPECIES_SHUCKLE},
+ {26, 26, SPECIES_SHUCKLE},
+ {20, 20, SPECIES_SHUCKLE},
+ {26, 26, SPECIES_SHUCKLE},
+};
+
+const struct WildPokemonInfo gAlteringCave7_LandMonsInfo = {7, gAlteringCave7_LandMons};
+
+const struct WildPokemon gAlteringCave8_LandMons[] =
+{
+ {22, 22, SPECIES_STANTLER},
+ {24, 24, SPECIES_STANTLER},
+ {20, 20, SPECIES_STANTLER},
+ {26, 26, SPECIES_STANTLER},
+ {22, 22, SPECIES_STANTLER},
+ {24, 24, SPECIES_STANTLER},
+ {28, 28, SPECIES_STANTLER},
+ {18, 18, SPECIES_STANTLER},
+ {20, 20, SPECIES_STANTLER},
+ {26, 26, SPECIES_STANTLER},
+ {20, 20, SPECIES_STANTLER},
+ {26, 26, SPECIES_STANTLER},
+};
+
+const struct WildPokemonInfo gAlteringCave8_LandMonsInfo = {7, gAlteringCave8_LandMons};
+
+const struct WildPokemon gAlteringCave9_LandMons[] =
+{
+ {22, 22, SPECIES_SMEARGLE},
+ {24, 24, SPECIES_SMEARGLE},
+ {20, 20, SPECIES_SMEARGLE},
+ {26, 26, SPECIES_SMEARGLE},
+ {22, 22, SPECIES_SMEARGLE},
+ {24, 24, SPECIES_SMEARGLE},
+ {28, 28, SPECIES_SMEARGLE},
+ {18, 18, SPECIES_SMEARGLE},
+ {20, 20, SPECIES_SMEARGLE},
+ {26, 26, SPECIES_SMEARGLE},
+ {20, 20, SPECIES_SMEARGLE},
+ {26, 26, SPECIES_SMEARGLE},
+};
+
+const struct WildPokemonInfo gAlteringCave9_LandMonsInfo = {7, gAlteringCave9_LandMons};
+
+const struct WildPokemon gMeteorFalls_StevensCave_LandMons[] =
+{
+ {33, 33, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {35, 35, SPECIES_SOLROCK},
+ {33, 33, SPECIES_SOLROCK},
+ {37, 37, SPECIES_SOLROCK},
+ {35, 35, SPECIES_GOLBAT},
+ {39, 39, SPECIES_SOLROCK},
+ {38, 38, SPECIES_GOLBAT},
+ {40, 40, SPECIES_GOLBAT},
+ {38, 38, SPECIES_GOLBAT},
+ {40, 40, SPECIES_GOLBAT},
+};
+
+const struct WildPokemonInfo gMeteorFalls_StevensCave_LandMonsInfo = {10, gMeteorFalls_StevensCave_LandMons};
+
+//The actual headers that link the encounter tables to particular maps start here.
+
+const struct WildPokemonHeader gWildMonHeaders[] =
+{
+ {
+ .mapGroup = MAP_GROUP(ROUTE101),
+ .mapNum = MAP_NUM(ROUTE101),
+ .landMonsInfo = &gRoute101_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE102),
+ .mapNum = MAP_NUM(ROUTE102),
+ .landMonsInfo = &gRoute102_LandMonsInfo,
+ .waterMonsInfo = &gRoute102_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute102_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE103),
+ .mapNum = MAP_NUM(ROUTE103),
+ .landMonsInfo = &gRoute103_LandMonsInfo,
+ .waterMonsInfo = &gRoute103_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute103_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE104),
+ .mapNum = MAP_NUM(ROUTE104),
+ .landMonsInfo = &gRoute104_LandMonsInfo,
+ .waterMonsInfo = &gRoute104_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute104_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE105),
+ .mapNum = MAP_NUM(ROUTE105),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gRoute105_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute105_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE110),
+ .mapNum = MAP_NUM(ROUTE110),
+ .landMonsInfo = &gRoute110_LandMonsInfo,
+ .waterMonsInfo = &gRoute110_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute110_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE111),
+ .mapNum = MAP_NUM(ROUTE111),
+ .landMonsInfo = &gRoute111_LandMonsInfo,
+ .waterMonsInfo = &gRoute111_WaterMonsInfo,
+ .rockSmashMonsInfo = &gRoute111_RockSmashMonsInfo,
+ .fishingMonsInfo = &gRoute111_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE112),
+ .mapNum = MAP_NUM(ROUTE112),
+ .landMonsInfo = &gRoute112_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE113),
+ .mapNum = MAP_NUM(ROUTE113),
+ .landMonsInfo = &gRoute113_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE114),
+ .mapNum = MAP_NUM(ROUTE114),
+ .landMonsInfo = &gRoute114_LandMonsInfo,
+ .waterMonsInfo = &gRoute114_WaterMonsInfo,
+ .rockSmashMonsInfo = &gRoute114_RockSmashMonsInfo,
+ .fishingMonsInfo = &gRoute114_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE116),
+ .mapNum = MAP_NUM(ROUTE116),
+ .landMonsInfo = &gRoute116_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE117),
+ .mapNum = MAP_NUM(ROUTE117),
+ .landMonsInfo = &gRoute117_LandMonsInfo,
+ .waterMonsInfo = &gRoute117_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute117_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE118),
+ .mapNum = MAP_NUM(ROUTE118),
+ .landMonsInfo = &gRoute118_LandMonsInfo,
+ .waterMonsInfo = &gRoute118_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute118_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE124),
+ .mapNum = MAP_NUM(ROUTE124),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gRoute124_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute124_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(PETALBURG_WOODS),
+ .mapNum = MAP_NUM(PETALBURG_WOODS),
+ .landMonsInfo = &gPetalburgWoods_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(RUSTURF_TUNNEL),
+ .mapNum = MAP_NUM(RUSTURF_TUNNEL),
+ .landMonsInfo = &gRusturfTunnel_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(GRANITE_CAVE_1F),
+ .mapNum = MAP_NUM(GRANITE_CAVE_1F),
+ .landMonsInfo = &gGraniteCave_1F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(GRANITE_CAVE_B1F),
+ .mapNum = MAP_NUM(GRANITE_CAVE_B1F),
+ .landMonsInfo = &gGraniteCave_B1F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MT_PYRE_1F),
+ .mapNum = MAP_NUM(MT_PYRE_1F),
+ .landMonsInfo = &gMtPyre_1F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(VICTORY_ROAD_1F),
+ .mapNum = MAP_NUM(VICTORY_ROAD_1F),
+ .landMonsInfo = &gVictoryRoad_1F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(SAFARI_ZONE_SOUTH),
+ .mapNum = MAP_NUM(SAFARI_ZONE_SOUTH),
+ .landMonsInfo = &gSafariZone_South_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(UNDERWATER2),
+ .mapNum = MAP_NUM(UNDERWATER2),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gUnderwater2_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ABANDONED_SHIP_ROOMS_B1F),
+ .mapNum = MAP_NUM(ABANDONED_SHIP_ROOMS_B1F),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gAbandonedShip_Rooms_B1F_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gAbandonedShip_Rooms_B1F_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(GRANITE_CAVE_B2F),
+ .mapNum = MAP_NUM(GRANITE_CAVE_B2F),
+ .landMonsInfo = &gGraniteCave_B2F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = &gGraniteCave_B2F_RockSmashMonsInfo,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(FIERY_PATH),
+ .mapNum = MAP_NUM(FIERY_PATH),
+ .landMonsInfo = &gFieryPath_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(METEOR_FALLS_B1F_2R),
+ .mapNum = MAP_NUM(METEOR_FALLS_B1F_2R),
+ .landMonsInfo = &gMeteorFalls_B1F_2R_LandMonsInfo,
+ .waterMonsInfo = &gMeteorFalls_B1F_2R_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gMeteorFalls_B1F_2R_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(JAGGED_PASS),
+ .mapNum = MAP_NUM(JAGGED_PASS),
+ .landMonsInfo = &gJaggedPass_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE106),
+ .mapNum = MAP_NUM(ROUTE106),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gRoute106_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute106_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE107),
+ .mapNum = MAP_NUM(ROUTE107),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gRoute107_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute107_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE108),
+ .mapNum = MAP_NUM(ROUTE108),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gRoute108_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute108_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE109),
+ .mapNum = MAP_NUM(ROUTE109),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gRoute109_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute109_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE115),
+ .mapNum = MAP_NUM(ROUTE115),
+ .landMonsInfo = &gRoute115_LandMonsInfo,
+ .waterMonsInfo = &gRoute115_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute115_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(NEW_MAUVILLE_INSIDE),
+ .mapNum = MAP_NUM(NEW_MAUVILLE_INSIDE),
+ .landMonsInfo = &gNewMauville_Inside_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE119),
+ .mapNum = MAP_NUM(ROUTE119),
+ .landMonsInfo = &gRoute119_LandMonsInfo,
+ .waterMonsInfo = &gRoute119_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute119_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE120),
+ .mapNum = MAP_NUM(ROUTE120),
+ .landMonsInfo = &gRoute120_LandMonsInfo,
+ .waterMonsInfo = &gRoute120_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute120_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE121),
+ .mapNum = MAP_NUM(ROUTE121),
+ .landMonsInfo = &gRoute121_LandMonsInfo,
+ .waterMonsInfo = &gRoute121_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute121_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE122),
+ .mapNum = MAP_NUM(ROUTE122),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gRoute122_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute122_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE123),
+ .mapNum = MAP_NUM(ROUTE123),
+ .landMonsInfo = &gRoute123_LandMonsInfo,
+ .waterMonsInfo = &gRoute123_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute123_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(MT_PYRE_2F),
+ .mapNum = MAP_NUM(MT_PYRE_2F),
+ .landMonsInfo = &gMtPyre_2F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MT_PYRE_3F),
+ .mapNum = MAP_NUM(MT_PYRE_3F),
+ .landMonsInfo = &gMtPyre_3F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MT_PYRE_4F),
+ .mapNum = MAP_NUM(MT_PYRE_4F),
+ .landMonsInfo = &gMtPyre_4F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MT_PYRE_5F),
+ .mapNum = MAP_NUM(MT_PYRE_5F),
+ .landMonsInfo = &gMtPyre_5F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MT_PYRE_6F),
+ .mapNum = MAP_NUM(MT_PYRE_6F),
+ .landMonsInfo = &gMtPyre_6F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MT_PYRE_EXTERIOR),
+ .mapNum = MAP_NUM(MT_PYRE_EXTERIOR),
+ .landMonsInfo = &gMtPyre_Exterior_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MT_PYRE_SUMMIT),
+ .mapNum = MAP_NUM(MT_PYRE_SUMMIT),
+ .landMonsInfo = &gMtPyre_Summit_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(GRANITE_CAVE_STEVENS_ROOM),
+ .mapNum = MAP_NUM(GRANITE_CAVE_STEVENS_ROOM),
+ .landMonsInfo = &gGraniteCave_StevensRoom_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE125),
+ .mapNum = MAP_NUM(ROUTE125),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gRoute125_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute125_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE126),
+ .mapNum = MAP_NUM(ROUTE126),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gRoute126_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute126_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE127),
+ .mapNum = MAP_NUM(ROUTE127),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gRoute127_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute127_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE128),
+ .mapNum = MAP_NUM(ROUTE128),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gRoute128_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute128_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE129),
+ .mapNum = MAP_NUM(ROUTE129),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gRoute129_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute129_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE130),
+ .mapNum = MAP_NUM(ROUTE130),
+ .landMonsInfo = &gRoute130_LandMonsInfo,
+ .waterMonsInfo = &gRoute130_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute130_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE131),
+ .mapNum = MAP_NUM(ROUTE131),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gRoute131_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute131_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE132),
+ .mapNum = MAP_NUM(ROUTE132),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gRoute132_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute132_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE133),
+ .mapNum = MAP_NUM(ROUTE133),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gRoute133_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute133_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE134),
+ .mapNum = MAP_NUM(ROUTE134),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gRoute134_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute134_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS),
+ .mapNum = MAP_NUM(ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gAbandonedShip_HiddenFloorCorridors_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gAbandonedShip_HiddenFloorCorridors_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM1),
+ .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM1),
+ .landMonsInfo = &gSeafloorCavern_Room1_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM2),
+ .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM2),
+ .landMonsInfo = &gSeafloorCavern_Room2_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM3),
+ .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM3),
+ .landMonsInfo = &gSeafloorCavern_Room3_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM4),
+ .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM4),
+ .landMonsInfo = &gSeafloorCavern_Room4_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM5),
+ .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM5),
+ .landMonsInfo = &gSeafloorCavern_Room5_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM6),
+ .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM6),
+ .landMonsInfo = &gSeafloorCavern_Room6_LandMonsInfo,
+ .waterMonsInfo = &gSeafloorCavern_Room6_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gSeafloorCavern_Room6_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM7),
+ .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM7),
+ .landMonsInfo = &gSeafloorCavern_Room7_LandMonsInfo,
+ .waterMonsInfo = &gSeafloorCavern_Room7_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gSeafloorCavern_Room7_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM8),
+ .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM8),
+ .landMonsInfo = &gSeafloorCavern_Room8_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ENTRANCE),
+ .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ENTRANCE),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gSeafloorCavern_Entrance_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gSeafloorCavern_Entrance_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_ENTRANCE),
+ .mapNum = MAP_NUM(CAVE_OF_ORIGIN_ENTRANCE),
+ .landMonsInfo = &gCaveOfOrigin_Entrance_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_1F),
+ .mapNum = MAP_NUM(CAVE_OF_ORIGIN_1F),
+ .landMonsInfo = &gCaveOfOrigin_1F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP1),
+ .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP1),
+ .landMonsInfo = &gCaveOfOrigin_UnusedRubySapphireMap1_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP2),
+ .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP2),
+ .landMonsInfo = &gCaveOfOrigin_UnusedRubySapphireMap2_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP3),
+ .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP3),
+ .landMonsInfo = &gCaveOfOrigin_UnusedRubySapphireMap3_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(NEW_MAUVILLE_ENTRANCE),
+ .mapNum = MAP_NUM(NEW_MAUVILLE_ENTRANCE),
+ .landMonsInfo = &gNewMauville_Entrance_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(SAFARI_ZONE_SOUTHWEST),
+ .mapNum = MAP_NUM(SAFARI_ZONE_SOUTHWEST),
+ .landMonsInfo = &gSafariZone_Southwest_LandMonsInfo,
+ .waterMonsInfo = &gSafariZone_Southwest_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gSafariZone_Southwest_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(SAFARI_ZONE_NORTH),
+ .mapNum = MAP_NUM(SAFARI_ZONE_NORTH),
+ .landMonsInfo = &gSafariZone_North_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = &gSafariZone_North_RockSmashMonsInfo,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(SAFARI_ZONE_NORTHWEST),
+ .mapNum = MAP_NUM(SAFARI_ZONE_NORTHWEST),
+ .landMonsInfo = &gSafariZone_Northwest_LandMonsInfo,
+ .waterMonsInfo = &gSafariZone_Northwest_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gSafariZone_Northwest_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(VICTORY_ROAD_B1F),
+ .mapNum = MAP_NUM(VICTORY_ROAD_B1F),
+ .landMonsInfo = &gVictoryRoad_B1F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = &gVictoryRoad_B1F_RockSmashMonsInfo,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(VICTORY_ROAD_B2F),
+ .mapNum = MAP_NUM(VICTORY_ROAD_B2F),
+ .landMonsInfo = &gVictoryRoad_B2F_LandMonsInfo,
+ .waterMonsInfo = &gVictoryRoad_B2F_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gVictoryRoad_B2F_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(METEOR_FALLS_1F_1R),
+ .mapNum = MAP_NUM(METEOR_FALLS_1F_1R),
+ .landMonsInfo = &gMeteorFalls_1F_1R_LandMonsInfo,
+ .waterMonsInfo = &gMeteorFalls_1F_1R_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gMeteorFalls_1F_1R_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(METEOR_FALLS_1F_2R),
+ .mapNum = MAP_NUM(METEOR_FALLS_1F_2R),
+ .landMonsInfo = &gMeteorFalls_1F_2R_LandMonsInfo,
+ .waterMonsInfo = &gMeteorFalls_1F_2R_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gMeteorFalls_1F_2R_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(METEOR_FALLS_B1F_1R),
+ .mapNum = MAP_NUM(METEOR_FALLS_B1F_1R),
+ .landMonsInfo = &gMeteorFalls_B1F_1R_LandMonsInfo,
+ .waterMonsInfo = &gMeteorFalls_B1F_1R_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gMeteorFalls_B1F_1R_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM),
+ .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM),
+ .landMonsInfo = &gShoalCave_LowTideStairsRoom_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_LOWER_ROOM),
+ .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_LOWER_ROOM),
+ .landMonsInfo = &gShoalCave_LowTideLowerRoom_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_INNER_ROOM),
+ .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_INNER_ROOM),
+ .landMonsInfo = &gShoalCave_LowTideInnerRoom_LandMonsInfo,
+ .waterMonsInfo = &gShoalCave_LowTideInnerRoom_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gShoalCave_LowTideInnerRoom_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM),
+ .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM),
+ .landMonsInfo = &gShoalCave_LowTideEntranceRoom_LandMonsInfo,
+ .waterMonsInfo = &gShoalCave_LowTideEntranceRoom_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gShoalCave_LowTideEntranceRoom_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(LILYCOVE_CITY),
+ .mapNum = MAP_NUM(LILYCOVE_CITY),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gLilycoveCity_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gLilycoveCity_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(DEWFORD_TOWN),
+ .mapNum = MAP_NUM(DEWFORD_TOWN),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gDewfordTown_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gDewfordTown_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(SLATEPORT_CITY),
+ .mapNum = MAP_NUM(SLATEPORT_CITY),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gSlateportCity_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gSlateportCity_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(MOSSDEEP_CITY),
+ .mapNum = MAP_NUM(MOSSDEEP_CITY),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gMossdeepCity_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gMossdeepCity_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(PACIFIDLOG_TOWN),
+ .mapNum = MAP_NUM(PACIFIDLOG_TOWN),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gPacifidlogTown_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gPacifidlogTown_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(EVER_GRANDE_CITY),
+ .mapNum = MAP_NUM(EVER_GRANDE_CITY),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gEverGrandeCity_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gEverGrandeCity_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(PETALBURG_CITY),
+ .mapNum = MAP_NUM(PETALBURG_CITY),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gPetalburgCity_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gPetalburgCity_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(UNDERWATER1),
+ .mapNum = MAP_NUM(UNDERWATER1),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gUnderwater1_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_ICE_ROOM),
+ .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_ICE_ROOM),
+ .landMonsInfo = &gShoalCave_LowTideIceRoom_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(SKY_PILLAR_1F),
+ .mapNum = MAP_NUM(SKY_PILLAR_1F),
+ .landMonsInfo = &gSkyPillar_1F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(SOOTOPOLIS_CITY),
+ .mapNum = MAP_NUM(SOOTOPOLIS_CITY),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gSootopolisCity_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gSootopolisCity_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(SKY_PILLAR_3F),
+ .mapNum = MAP_NUM(SKY_PILLAR_3F),
+ .landMonsInfo = &gSkyPillar_3F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(SKY_PILLAR_5F),
+ .mapNum = MAP_NUM(SKY_PILLAR_5F),
+ .landMonsInfo = &gSkyPillar_5F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(SAFARI_ZONE_SOUTHEAST),
+ .mapNum = MAP_NUM(SAFARI_ZONE_SOUTHEAST),
+ .landMonsInfo = &gSafariZone_Southeast_LandMonsInfo,
+ .waterMonsInfo = &gSafariZone_Southeast_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gSafariZone_Southeast_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(SAFARI_ZONE_NORTHEAST),
+ .mapNum = MAP_NUM(SAFARI_ZONE_NORTHEAST),
+ .landMonsInfo = &gSafariZone_Northeast_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = &gSafariZone_Northeast_RockSmashMonsInfo,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_1F),
+ .mapNum = MAP_NUM(MAGMA_HIDEOUT_1F),
+ .landMonsInfo = &gMagmaHideout_1F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_2F_1R),
+ .mapNum = MAP_NUM(MAGMA_HIDEOUT_2F_1R),
+ .landMonsInfo = &gMagmaHideout_2F_1R_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_2F_2R),
+ .mapNum = MAP_NUM(MAGMA_HIDEOUT_2F_2R),
+ .landMonsInfo = &gMagmaHideout_2F_2R_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_3F_1R),
+ .mapNum = MAP_NUM(MAGMA_HIDEOUT_3F_1R),
+ .landMonsInfo = &gMagmaHideout_3F_1R_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_3F_2R),
+ .mapNum = MAP_NUM(MAGMA_HIDEOUT_3F_2R),
+ .landMonsInfo = &gMagmaHideout_3F_2R_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_4F),
+ .mapNum = MAP_NUM(MAGMA_HIDEOUT_4F),
+ .landMonsInfo = &gMagmaHideout_4F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_3F_3R),
+ .mapNum = MAP_NUM(MAGMA_HIDEOUT_3F_3R),
+ .landMonsInfo = &gMagmaHideout_3F_3R_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_2F_3R),
+ .mapNum = MAP_NUM(MAGMA_HIDEOUT_2F_3R),
+ .landMonsInfo = &gMagmaHideout_2F_3R_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MIRAGE_TOWER_1F),
+ .mapNum = MAP_NUM(MIRAGE_TOWER_1F),
+ .landMonsInfo = &gMirageTower_1F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MIRAGE_TOWER_2F),
+ .mapNum = MAP_NUM(MIRAGE_TOWER_2F),
+ .landMonsInfo = &gMirageTower_2F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MIRAGE_TOWER_3F),
+ .mapNum = MAP_NUM(MIRAGE_TOWER_3F),
+ .landMonsInfo = &gMirageTower_3F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MIRAGE_TOWER_4F),
+ .mapNum = MAP_NUM(MIRAGE_TOWER_4F),
+ .landMonsInfo = &gMirageTower_4F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(DESERT_UNDERPASS),
+ .mapNum = MAP_NUM(DESERT_UNDERPASS),
+ .landMonsInfo = &gDesertUnderpass_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ARTISAN_CAVE_B1F),
+ .mapNum = MAP_NUM(ARTISAN_CAVE_B1F),
+ .landMonsInfo = &gArtisanCave_B1F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ARTISAN_CAVE_1F),
+ .mapNum = MAP_NUM(ARTISAN_CAVE_1F),
+ .landMonsInfo = &gArtisanCave_1F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ALTERING_CAVE),
+ .mapNum = MAP_NUM(ALTERING_CAVE),
+ .landMonsInfo = &gAlteringCave1_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ALTERING_CAVE),
+ .mapNum = MAP_NUM(ALTERING_CAVE),
+ .landMonsInfo = &gAlteringCave2_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ALTERING_CAVE),
+ .mapNum = MAP_NUM(ALTERING_CAVE),
+ .landMonsInfo = &gAlteringCave3_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ALTERING_CAVE),
+ .mapNum = MAP_NUM(ALTERING_CAVE),
+ .landMonsInfo = &gAlteringCave4_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ALTERING_CAVE),
+ .mapNum = MAP_NUM(ALTERING_CAVE),
+ .landMonsInfo = &gAlteringCave5_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ALTERING_CAVE),
+ .mapNum = MAP_NUM(ALTERING_CAVE),
+ .landMonsInfo = &gAlteringCave6_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ALTERING_CAVE),
+ .mapNum = MAP_NUM(ALTERING_CAVE),
+ .landMonsInfo = &gAlteringCave7_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ALTERING_CAVE),
+ .mapNum = MAP_NUM(ALTERING_CAVE),
+ .landMonsInfo = &gAlteringCave8_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ALTERING_CAVE),
+ .mapNum = MAP_NUM(ALTERING_CAVE),
+ .landMonsInfo = &gAlteringCave9_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(METEOR_FALLS_STEVENS_CAVE),
+ .mapNum = MAP_NUM(METEOR_FALLS_STEVENS_CAVE),
+ .landMonsInfo = &gMeteorFalls_StevensCave_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(UNDEFINED),
+ .mapNum = MAP_NUM(UNDEFINED),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+};
+
+//Battle Pyramid-specific tables and headers start here.
+
+const struct WildPokemon gBattlePyramidPlaceholders_1[] =
+{
+ {5, 5, SPECIES_BULBASAUR},
+ {5, 5, SPECIES_BULBASAUR},
+ {5, 5, SPECIES_BULBASAUR},
+ {5, 5, SPECIES_BULBASAUR},
+ {5, 5, SPECIES_IVYSAUR},
+ {5, 5, SPECIES_IVYSAUR},
+ {5, 5, SPECIES_VENUSAUR},
+ {5, 5, SPECIES_VENUSAUR},
+ {5, 5, SPECIES_VENUSAUR},
+ {5, 5, SPECIES_CHARMANDER},
+ {5, 5, SPECIES_VENUSAUR},
+ {5, 5, SPECIES_CHARMANDER},
+};
+
+const struct WildPokemonInfo gBattlePyramidPlaceholders_1Info = {4, gBattlePyramidPlaceholders_1};
+
+const struct WildPokemon gBattlePyramidPlaceholders_2[] =
+{
+ {5, 5, SPECIES_IVYSAUR},
+ {5, 5, SPECIES_IVYSAUR},
+ {5, 5, SPECIES_IVYSAUR},
+ {5, 5, SPECIES_IVYSAUR},
+ {5, 5, SPECIES_VENUSAUR},
+ {5, 5, SPECIES_VENUSAUR},
+ {5, 5, SPECIES_CHARMANDER},
+ {5, 5, SPECIES_CHARMANDER},
+ {5, 5, SPECIES_CHARMANDER},
+ {5, 5, SPECIES_CHARMELEON},
+ {5, 5, SPECIES_CHARMELEON},
+ {5, 5, SPECIES_CHARMANDER},
+};
+
+const struct WildPokemonInfo gBattlePyramidPlaceholders_2Info = {4, gBattlePyramidPlaceholders_2};
+
+const struct WildPokemon gBattlePyramidPlaceholders_3[] =
+{
+ {5, 5, SPECIES_VENUSAUR},
+ {5, 5, SPECIES_VENUSAUR},
+ {5, 5, SPECIES_VENUSAUR},
+ {5, 5, SPECIES_VENUSAUR},
+ {5, 5, SPECIES_CHARMANDER},
+ {5, 5, SPECIES_CHARMANDER},
+ {5, 5, SPECIES_CHARMELEON},
+ {5, 5, SPECIES_CHARMELEON},
+ {5, 5, SPECIES_CHARMELEON},
+ {5, 5, SPECIES_CHARIZARD},
+ {5, 5, SPECIES_CHARMELEON},
+ {5, 5, SPECIES_CHARIZARD},
+};
+
+const struct WildPokemonInfo gBattlePyramidPlaceholders_3Info = {4, gBattlePyramidPlaceholders_3};
+
+const struct WildPokemon gBattlePyramidPlaceholders_4[] =
+{
+ {5, 5, SPECIES_CHARMANDER},
+ {5, 5, SPECIES_CHARMANDER},
+ {5, 5, SPECIES_CHARMANDER},
+ {5, 5, SPECIES_CHARMANDER},
+ {5, 5, SPECIES_CHARMELEON},
+ {5, 5, SPECIES_CHARMELEON},
+ {5, 5, SPECIES_CHARIZARD},
+ {5, 5, SPECIES_CHARIZARD},
+ {5, 5, SPECIES_CHARIZARD},
+ {5, 5, SPECIES_SQUIRTLE},
+ {5, 5, SPECIES_CHARIZARD},
+ {5, 5, SPECIES_SQUIRTLE},
+};
+
+const struct WildPokemonInfo gBattlePyramidPlaceholders_4Info = {4, gBattlePyramidPlaceholders_4};
+
+const struct WildPokemon gBattlePyramidPlaceholders_5[] =
+{
+ {5, 5, SPECIES_CHARMELEON},
+ {5, 5, SPECIES_CHARMELEON},
+ {5, 5, SPECIES_CHARMELEON},
+ {5, 5, SPECIES_CHARMELEON},
+ {5, 5, SPECIES_CHARIZARD},
+ {5, 5, SPECIES_CHARIZARD},
+ {5, 5, SPECIES_SQUIRTLE},
+ {5, 5, SPECIES_SQUIRTLE},
+ {5, 5, SPECIES_SQUIRTLE},
+ {5, 5, SPECIES_WARTORTLE},
+ {5, 5, SPECIES_SQUIRTLE},
+ {5, 5, SPECIES_WARTORTLE},
+};
+
+const struct WildPokemonInfo gBattlePyramidPlaceholders_5Info = {4, gBattlePyramidPlaceholders_5};
+
+const struct WildPokemon gBattlePyramidPlaceholders_6[] =
+{
+ {5, 5, SPECIES_CHARIZARD},
+ {5, 5, SPECIES_CHARIZARD},
+ {5, 5, SPECIES_CHARIZARD},
+ {5, 5, SPECIES_CHARMELEON},
+ {5, 5, SPECIES_SQUIRTLE},
+ {5, 5, SPECIES_SQUIRTLE},
+ {5, 5, SPECIES_WARTORTLE},
+ {5, 5, SPECIES_WARTORTLE},
+ {5, 5, SPECIES_WARTORTLE},
+ {5, 5, SPECIES_WARTORTLE},
+ {5, 5, SPECIES_WARTORTLE},
+ {5, 5, SPECIES_WARTORTLE},
+};
+
+const struct WildPokemonInfo gBattlePyramidPlaceholders_6Info = {4, gBattlePyramidPlaceholders_6};
+
+const struct WildPokemon gBattlePyramidPlaceholders_7[] =
+{
+ {5, 5, SPECIES_WARTORTLE},
+ {5, 5, SPECIES_WARTORTLE},
+ {5, 5, SPECIES_SQUIRTLE},
+ {5, 5, SPECIES_SQUIRTLE},
+ {5, 5, SPECIES_SQUIRTLE},
+ {5, 5, SPECIES_CHARIZARD},
+ {5, 5, SPECIES_CHARIZARD},
+ {5, 5, SPECIES_CHARIZARD},
+ {5, 5, SPECIES_CHARMELEON},
+ {5, 5, SPECIES_CHARMELEON},
+ {5, 5, SPECIES_CHARMELEON},
+ {5, 5, SPECIES_CHARMELEON},
+};
+
+const struct WildPokemonInfo gBattlePyramidPlaceholders_7Info = {8, gBattlePyramidPlaceholders_7};
+
+const struct WildPokemonHeader gBattlePyramidWildMonHeaders[] =
+{
+ {
+ .mapGroup = 0,
+ .mapNum = 1,
+ .landMonsInfo = &gBattlePyramidPlaceholders_1Info,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = 0,
+ .mapNum = 2,
+ .landMonsInfo = &gBattlePyramidPlaceholders_2Info,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = 0,
+ .mapNum = 3,
+ .landMonsInfo = &gBattlePyramidPlaceholders_3Info,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = 0,
+ .mapNum = 4,
+ .landMonsInfo = &gBattlePyramidPlaceholders_4Info,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = 0,
+ .mapNum = 5,
+ .landMonsInfo = &gBattlePyramidPlaceholders_5Info,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = 0,
+ .mapNum = 6,
+ .landMonsInfo = &gBattlePyramidPlaceholders_6Info,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = 0,
+ .mapNum = 7,
+ .landMonsInfo = &gBattlePyramidPlaceholders_7Info,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = 255,
+ .mapNum = 255,
+ .landMonsInfo = NULL,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+};
+
+//Battle Pike-specific tables and headers start here.
+
+const struct WildPokemon gBattlePikeMons_1[] =
+{
+ {5, 5, SPECIES_SEVIPER},
+ {5, 5, SPECIES_MILOTIC},
+ {5, 5, SPECIES_DUSCLOPS},
+ {5, 5, SPECIES_DUSCLOPS},
+ {5, 5, SPECIES_DUSCLOPS},
+ {5, 5, SPECIES_DUSCLOPS},
+ {5, 5, SPECIES_SEVIPER},
+ {5, 5, SPECIES_MILOTIC},
+ {5, 5, SPECIES_DUSCLOPS},
+ {5, 5, SPECIES_DUSCLOPS},
+ {5, 5, SPECIES_SEVIPER},
+ {5, 5, SPECIES_MILOTIC},
+};
+
+const struct WildPokemonInfo gBattlePikeMonsInfo_1 = {10, gBattlePikeMons_1};
+
+const struct WildPokemon gBattlePikeMons_2[] =
+{
+ {5, 5, SPECIES_SEVIPER},
+ {5, 5, SPECIES_MILOTIC},
+ {5, 5, SPECIES_ELECTRODE},
+ {5, 5, SPECIES_ELECTRODE},
+ {5, 5, SPECIES_ELECTRODE},
+ {5, 5, SPECIES_ELECTRODE},
+ {5, 5, SPECIES_SEVIPER},
+ {5, 5, SPECIES_MILOTIC},
+ {5, 5, SPECIES_ELECTRODE},
+ {5, 5, SPECIES_ELECTRODE},
+ {5, 5, SPECIES_SEVIPER},
+ {5, 5, SPECIES_MILOTIC},
+};
+
+const struct WildPokemonInfo gBattlePikeMonsInfo_2 = {10, gBattlePikeMons_2};
+
+const struct WildPokemon gBattlePikeMons_3[] =
+{
+ {5, 5, SPECIES_SEVIPER},
+ {5, 5, SPECIES_MILOTIC},
+ {5, 5, SPECIES_BRELOOM},
+ {5, 5, SPECIES_BRELOOM},
+ {5, 5, SPECIES_BRELOOM},
+ {5, 5, SPECIES_BRELOOM},
+ {5, 5, SPECIES_SEVIPER},
+ {5, 5, SPECIES_MILOTIC},
+ {5, 5, SPECIES_BRELOOM},
+ {5, 5, SPECIES_BRELOOM},
+ {5, 5, SPECIES_SEVIPER},
+ {5, 5, SPECIES_MILOTIC},
+};
+
+const struct WildPokemonInfo gBattlePikeMonsInfo_3 = {10, gBattlePikeMons_3};
+
+const struct WildPokemon gBattlePikeMons_4[] =
+{
+ {5, 5, SPECIES_SEVIPER},
+ {5, 5, SPECIES_MILOTIC},
+ {5, 5, SPECIES_WOBBUFFET},
+ {5, 5, SPECIES_WOBBUFFET},
+ {5, 5, SPECIES_WOBBUFFET},
+ {5, 5, SPECIES_WOBBUFFET},
+ {5, 5, SPECIES_SEVIPER},
+ {5, 5, SPECIES_MILOTIC},
+ {5, 5, SPECIES_WOBBUFFET},
+ {5, 5, SPECIES_WOBBUFFET},
+ {5, 5, SPECIES_SEVIPER},
+ {5, 5, SPECIES_MILOTIC},
+};
+
+const struct WildPokemonInfo gBattlePikeMonsInfo_4 = {10, gBattlePikeMons_4};
+
+const struct WildPokemonHeader gBattlePikeWildMonHeaders[] =
+{
+ {
+ .mapGroup = 0,
+ .mapNum = 1,
+ .landMonsInfo = &gBattlePikeMonsInfo_1,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = 0,
+ .mapNum = 2,
+ .landMonsInfo = &gBattlePikeMonsInfo_2,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = 0,
+ .mapNum = 3,
+ .landMonsInfo = &gBattlePikeMonsInfo_3,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = 0,
+ .mapNum = 4,
+ .landMonsInfo = &gBattlePikeMonsInfo_4,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = 255,
+ .mapNum = 255,
+ .landMonsInfo = NULL,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+};
+
+//Special Feebas-related data.
+
+const struct WildPokemon gWildFeebasRoute119Data = {20, 25, SPECIES_FEEBAS};
+
+const u16 gRoute119WaterTileData[] =
+{
+ 0, 0x2D, 0,
+ 0x2E, 0x5B, 0x83,
+ 0x5C, 0x8B, 0x12A,
+};
+
diff --git a/src/daycare.c b/src/daycare.c
index 131540f6e..26fa0251e 100644
--- a/src/daycare.c
+++ b/src/daycare.c
@@ -16,33 +16,16 @@
#include "menu.h"
#include "international_string_util.h"
#include "script.h"
+#include "strings.h"
#include "task.h"
#include "window.h"
+#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
-// text
-extern const u8 gText_MaleSymbol4[];
-extern const u8 gText_FemaleSymbol4[];
-extern const u8 gText_GenderlessSymbol[];
-extern const u8 gText_NewLine2[];
-extern const u8 gText_Exit4[];
-extern const u8 gText_Lv[];
-extern const u8 gExpandedPlaceholder_Empty[];
-extern const u8 gText_Exit[];
-extern const u8 gDaycareText_GetAlongVeryWell[];
-extern const u8 gDaycareText_GetAlong[];
-extern const u8 gDaycareText_DontLikeOther[];
-extern const u8 gDaycareText_PlayOther[];
-
-extern u8 GetCursorSelectionMonId(void);
-extern u16 ItemIdToBattleMoveId(u16);
-extern void sub_819746C(u8, bool8);
-extern void sub_81B9328(void);
-
// this file's functions
static void ClearDaycareMonMail(struct DayCareMail *mail);
static void SetInitialEggData(struct Pokemon *mon, u16 species, struct DayCare *daycare);
@@ -901,7 +884,7 @@ static bool8 _DoEggActions_CheckHatch(struct DayCare *daycare)
for (i = 0; i < DAYCARE_MON_COUNT; i++)
{
- if (GetBoxMonData(&daycare->mons[i].mon, MON_DATA_SANITY_BIT2))
+ if (GetBoxMonData(&daycare->mons[i].mon, MON_DATA_SANITY_HAS_SPECIES))
daycare->mons[i].steps++, validEggs++;
}
@@ -922,7 +905,7 @@ static bool8 _DoEggActions_CheckHatch(struct DayCare *daycare)
{
if (!GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG))
continue;
- if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_BIT1))
+ if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_IS_BAD_EGG))
continue;
steps = GetMonData(&gPlayerParty[i], MON_DATA_FRIENDSHIP);
diff --git a/src/decompress.c b/src/decompress.c
index 24d23209f..ed2f7a0bb 100644
--- a/src/decompress.c
+++ b/src/decompress.c
@@ -22,7 +22,7 @@ void LZDecompressVram(const u32 *src, void *dest)
LZ77UnCompVram(src, dest);
}
-u16 LoadCompressedObjectPic(const struct CompressedSpriteSheet *src)
+u16 LoadCompressedSpriteSheet(const struct CompressedSpriteSheet *src)
{
struct SpriteSheet dest;
@@ -33,7 +33,7 @@ u16 LoadCompressedObjectPic(const struct CompressedSpriteSheet *src)
return LoadSpriteSheet(&dest);
}
-void LoadCompressedObjectPicOverrideBuffer(const struct CompressedSpriteSheet *src, void *buffer)
+void LoadCompressedSpriteSheetOverrideBuffer(const struct CompressedSpriteSheet *src, void *buffer)
{
struct SpriteSheet dest;
@@ -44,7 +44,7 @@ void LoadCompressedObjectPicOverrideBuffer(const struct CompressedSpriteSheet *s
LoadSpriteSheet(&dest);
}
-void LoadCompressedObjectPalette(const struct CompressedSpritePalette *src)
+void LoadCompressedSpritePalette(const struct CompressedSpritePalette *src)
{
struct SpritePalette dest;
@@ -54,7 +54,7 @@ void LoadCompressedObjectPalette(const struct CompressedSpritePalette *src)
LoadSpritePalette(&dest);
}
-void LoadCompressedObjectPaletteOverrideBuffer(const struct CompressedSpritePalette *a, void *buffer)
+void LoadCompressedSpritePaletteOverrideBuffer(const struct CompressedSpritePalette *a, void *buffer)
{
struct SpritePalette dest;
@@ -465,7 +465,7 @@ u32 GetDecompressedDataSize(const u32 *ptr)
return (ptr8[3] << 16) | (ptr8[2] << 8) | (ptr8[1]);
}
-bool8 LoadCompressedObjectPicUsingHeap(const struct CompressedSpriteSheet* src)
+bool8 LoadCompressedSpriteSheetUsingHeap(const struct CompressedSpriteSheet* src)
{
struct SpriteSheet dest;
void* buffer;
@@ -482,7 +482,7 @@ bool8 LoadCompressedObjectPicUsingHeap(const struct CompressedSpriteSheet* src)
return FALSE;
}
-bool8 LoadCompressedObjectPaletteUsingHeap(const struct CompressedSpritePalette *src)
+bool8 LoadCompressedSpritePaletteUsingHeap(const struct CompressedSpritePalette *src)
{
struct SpritePalette dest;
void* buffer;
diff --git a/src/decoration.c b/src/decoration.c
index dd691721a..addca6954 100644
--- a/src/decoration.c
+++ b/src/decoration.c
@@ -519,7 +519,7 @@ void sub_8126B80(u8 taskId)
if (!gPaletteFade.active)
{
- menuPos = GetMenuCursorPos();
+ menuPos = Menu_GetCursorPos();
switch (Menu_ProcessInput())
{
default:
@@ -527,7 +527,7 @@ void sub_8126B80(u8 taskId)
sSecretBasePCMenuActions[sSecretBasePCMenuCursorPos].func.void_u8(taskId);
break;
case -2:
- sSecretBasePCMenuCursorPos = GetMenuCursorPos();
+ sSecretBasePCMenuCursorPos = Menu_GetCursorPos();
if ((s8)menuPos != sSecretBasePCMenuCursorPos)
{
sub_8126C08();
@@ -2065,7 +2065,7 @@ u8 AddDecorationIconObjectFromIconTable(u16 tilesTag, u16 paletteTag, u8 decor)
LoadSpriteSheet(&sheet);
palette.data = GetDecorationIconPicOrPalette(decor, 1);
palette.tag = paletteTag;
- LoadCompressedObjectPalette(&palette);
+ LoadCompressedSpritePalette(&palette);
template = malloc(sizeof(struct SpriteTemplate));
*template = gItemIconSpriteTemplate;
template->tileTag = tilesTag;
diff --git a/src/dma3_manager.c b/src/dma3_manager.c
index 28df9d932..51fa7072d 100644
--- a/src/dma3_manager.c
+++ b/src/dma3_manager.c
@@ -1,9 +1,6 @@
#include "global.h"
#include "dma3.h"
-// Maximum amount of data we will transfer in one operation
-#define MAX_DMA_BLOCK_SIZE 0x1000
-
#define MAX_DMA_REQUESTS 128
#define DMA_REQUEST_COPY32 1
@@ -40,49 +37,6 @@ void ClearDma3Requests(void)
gDma3ManagerLocked = FALSE;
}
-#define Dma3CopyLarge_(src, dest, size, bit) \
-{ \
- const void *_src = src; \
- void *_dest = dest; \
- u32 _size = size; \
- while (1) \
- { \
- if (_size <= MAX_DMA_BLOCK_SIZE) \
- { \
- DmaCopy##bit(3, _src, _dest, _size); \
- break; \
- } \
- DmaCopy##bit(3, _src, _dest, MAX_DMA_BLOCK_SIZE); \
- _src += MAX_DMA_BLOCK_SIZE; \
- _dest += MAX_DMA_BLOCK_SIZE; \
- _size -= MAX_DMA_BLOCK_SIZE; \
- } \
-}
-
-#define Dma3CopyLarge16_(src, dest, size) Dma3CopyLarge_(src, dest, size, 16)
-#define Dma3CopyLarge32_(src, dest, size) Dma3CopyLarge_(src, dest, size, 32)
-
-#define Dma3FillLarge_(value, dest, size, bit) \
-{ \
- void *_dest = dest; \
- u32 _size = size; \
- while (1) \
- { \
- if (_size <= MAX_DMA_BLOCK_SIZE) \
- { \
- DmaFill##bit(3, value, _dest, _size); \
- break; \
- } \
- DmaFill##bit(3, value, _dest, MAX_DMA_BLOCK_SIZE); \
- _dest += MAX_DMA_BLOCK_SIZE; \
- _size -= MAX_DMA_BLOCK_SIZE; \
- } \
-}
-
-#define Dma3FillLarge16_(value, dest, size) Dma3FillLarge_(value, dest, size, 16)
-#define Dma3FillLarge32_(value, dest, size) Dma3FillLarge_(value, dest, size, 32)
-
-
void ProcessDma3Requests(void)
{
u16 bytesTransferred;
diff --git a/src/dragon.c b/src/dragon.c
index 156d10ce1..68577988e 100644
--- a/src/dragon.c
+++ b/src/dragon.c
@@ -251,7 +251,7 @@ void sub_81131B4(struct Sprite *sprite)
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
}
- sub_80A6864(sprite, gBattleAnimArgs[1]);
+ SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[1]);
sprite->pos1.y += gBattleAnimArgs[2];
sprite->callback = RunStoredCallbackWhenAnimEnds;
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
@@ -329,7 +329,7 @@ void sub_81133E8(u8 taskId)
struct Task *task = &gTasks[taskId];
u16 i;
u8 r1;
- if (sub_80A8364(gBattleAnimAttacker) == 1)
+ if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == 1)
{
sp.dmaDest = &REG_BG1HOFS;
task->data[2] = gBattle_BG1_X;
diff --git a/src/egg_hatch.c b/src/egg_hatch.c
index e94069279..eb7772a3c 100644
--- a/src/egg_hatch.c
+++ b/src/egg_hatch.c
@@ -31,6 +31,7 @@
#include "field_weather.h"
#include "international_string_util.h"
#include "naming_screen.h"
+#include "pokemon_storage_system.h"
#include "field_screen_effect.h"
#include "battle.h" // to get rid of later
@@ -56,10 +57,6 @@ extern const u32 gUnknown_08331F60[]; // tilemap gameboy circle
extern const u8 gText_HatchedFromEgg[];
extern const u8 gText_NickHatchPrompt[];
-extern void PlayRainSoundEffect(void);
-extern u16 sub_80D22D0(void);
-extern u8 CountPartyAliveNonEggMonsExcept(u8);
-
static void Task_EggHatch(u8 taskID);
static void CB2_EggHatch_0(void);
static void CB2_EggHatch_1(void);
@@ -438,7 +435,7 @@ static u8 EggHatchCreateMonSprite(u8 a0, u8 switchID, u8 pokeID, u16* speciesLoc
HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species],
gMonSpritesGfxPtr->sprites[(a0 * 2) + 1],
species, pid);
- LoadCompressedObjectPalette(GetMonSpritePalStruct(mon));
+ LoadCompressedSpritePalette(GetMonSpritePalStruct(mon));
*speciesLoc = species;
}
break;
@@ -872,7 +869,7 @@ u8 GetEggStepsToSubtract(void)
u8 count, i;
for (count = CalculatePlayerPartyCount(), i = 0; i < count; i++)
{
- if (!GetMonData(&gPlayerParty[i], MON_DATA_SANITY_BIT3))
+ if (!GetMonData(&gPlayerParty[i], MON_DATA_SANITY_IS_EGG))
{
u8 ability = GetMonAbility(&gPlayerParty[i]);
if (ability == ABILITY_MAGMA_ARMOR || ability == ABILITY_FLAME_BODY)
@@ -884,7 +881,7 @@ u8 GetEggStepsToSubtract(void)
u16 sub_80722E0(void)
{
- u16 value = sub_80D22D0();
- value += CountPartyAliveNonEggMonsExcept(6);
- return value;
+ u16 aliveNonEggMonsCount = CountStorageNonEggMons();
+ aliveNonEggMonsCount += CountPartyAliveNonEggMonsExcept(6);
+ return aliveNonEggMonsCount;
}
diff --git a/src/electric.c b/src/electric.c
index 5d772e042..142a9ca09 100644
--- a/src/electric.c
+++ b/src/electric.c
@@ -6,7 +6,6 @@
#include "sound.h"
extern void sub_810E2C8(struct Sprite *);
-extern bool8 sub_810B614(struct Task *task, u8 taskId);
extern void TranslateAnimSpriteToTargetMonLocation(struct Sprite *);
static void sub_810A1A8(struct Sprite *);
@@ -38,6 +37,8 @@ static void sub_810B1F0(struct Sprite *);
static void sub_810B23C(struct Sprite *);
static bool8 sub_810B430(struct Task *task, u8 taskId);
static void sub_810B51C(struct Sprite *);
+static bool8 sub_810B614(struct Task *task, u8 taskId);
+static void sub_810B684(struct Sprite *sprite);
const union AnimCmd gUnknown_085956A4[] =
{
@@ -462,7 +463,7 @@ static void sub_810A1A8(struct Sprite *sprite)
sprite->pos1.x -= gBattleAnimArgs[0];
else
sprite->pos1.x += gBattleAnimArgs[0];
-
+
sprite->pos1.y += gBattleAnimArgs[1];
sprite->callback = sub_810A1F8;
}
@@ -479,7 +480,7 @@ static void sub_810A214(struct Sprite *sprite)
sprite->pos1.x -= gBattleAnimArgs[0];
else
sprite->pos1.x += gBattleAnimArgs[0];
-
+
sprite->callback = sub_810A258;
}
@@ -493,7 +494,7 @@ static void sub_810A274(struct Sprite *sprite)
{
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
-
+
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
{
sprite->pos1.x -= gBattleAnimArgs[0];
@@ -556,7 +557,7 @@ static void sub_810A308(struct Sprite *sprite)
sprite->pos2.y = (gSineTable[gBattleAnimArgs[0] + 64] * gBattleAnimArgs[1]) >> 8;
if (gBattleAnimArgs[6] & 1)
- sprite->oam.priority = sub_80A8328(battler) + 1;
+ sprite->oam.priority = GetBattlerSpriteBGPriority(battler) + 1;
matrixNum = sprite->oam.matrixNum;
sineVal = gSineTable[gBattleAnimArgs[2]];
@@ -571,7 +572,7 @@ static void sub_810A308(struct Sprite *sprite)
static void sub_810A46C(struct Sprite *sprite)
{
- InitAnimSpritePos(sprite, 1);
+ InitSpritePosToAnimAttacker(sprite, 1);
sprite->data[0] = gBattleAnimArgs[3];
sprite->data[1] = sprite->pos1.x;
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
@@ -588,7 +589,7 @@ static void sub_810A46C(struct Sprite *sprite)
static void sub_810A4F4(struct Sprite *sprite)
{
- if (!TranslateAnimLinear(sprite))
+ if (!AnimTranslateLinear(sprite))
{
sprite->pos2.x += Sin(sprite->data[7], sprite->data[5]);
sprite->pos2.y += Cos(sprite->data[7], sprite->data[5]);
@@ -615,7 +616,7 @@ static void sub_810A5BC(struct Sprite *sprite)
{
if (IsContest() || GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
-
+
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[1];
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[2];
sprite->data[3] = gBattleAnimArgs[0];
@@ -665,7 +666,7 @@ static void sub_810A6EC(struct Sprite *sprite)
static void sub_810A75C(struct Sprite *sprite)
{
- sub_80A6980(sprite, FALSE);
+ InitSpritePosToAnimTarget(sprite, FALSE);
sprite->oam.tileNum += gBattleAnimArgs[3] * 4;
if (gBattleAnimArgs[3] == 1)
@@ -686,17 +687,16 @@ void sub_810A7DC(u8 taskId)
gTasks[taskId].func = sub_810A834;
}
-#ifdef NONMATCHING // couldn't get the proper tail merging in the "CreateSprite" switch cases.(ported from ruby)
static void sub_810A834(u8 taskId)
{
u16 r8;
+ u16 r2;
s16 r12;
- s16 r2;
u8 spriteId = 0;
u8 r7 = 0;
u8 sp = gTasks[taskId].data[2];
- s16 r4 = gTasks[taskId].data[0];
- s16 r6 = gTasks[taskId].data[1];
+ s16 x = gTasks[taskId].data[0];
+ s16 y = gTasks[taskId].data[1];
if (!gTasks[taskId].data[2])
{
@@ -714,27 +714,31 @@ static void sub_810A834(u8 taskId)
switch (gTasks[taskId].data[10])
{
case 0:
- r8 += r2 * 0;
- spriteId = CreateSprite(&gUnknown_08595828, r4, r6 + (r12 * 1), 2);
+ r12 *= 1;
+ spriteId = CreateSprite(&gUnknown_08595828, x, y + r12, 2);
r7++;
break;
case 2:
+ r12 *= 2;
r8 += r2;
- spriteId = CreateSprite(&gUnknown_08595828, r4, r6 + (r12 * 2), 2);
+ spriteId = CreateSprite(&gUnknown_08595828, x, y + r12, 2);
r7++;
break;
case 4:
+ r12 *= 3;
r8 += r2 * 2;
- spriteId = CreateSprite(&gUnknown_08595828, r4, r6 + (r12 * 3), 2);
+ spriteId = CreateSprite(&gUnknown_08595828, x, y + r12, 2);
r7++;
break;
case 6:
+ r12 *= 4;
r8 += r2 * 3;
- spriteId = CreateSprite(&gUnknown_08595828, r4, r6 + (r12 * 4), 2);
+ spriteId = CreateSprite(&gUnknown_08595828, x, y + r12, 2);
r7++;
break;
case 8:
- spriteId = CreateSprite(&gUnknown_08595828, r4, r6 + (r12 * 5), 2);
+ r12 *= 5;
+ spriteId = CreateSprite(&gUnknown_08595828, x, y + r12, 2);
r7++;
break;
case 10:
@@ -751,211 +755,6 @@ static void sub_810A834(u8 taskId)
gTasks[taskId].data[10]++;
}
-#else
-NAKED
-static void sub_810A834(u8 taskId)
-{
- 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, 0x4\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- mov r9, r0\n\
- movs r5, 0\n\
- movs r7, 0\n\
- ldr r1, =gTasks\n\
- lsls r0, 2\n\
- add r0, r9\n\
- lsls r0, 3\n\
- adds r0, r1\n\
- ldrb r2, [r0, 0xC]\n\
- str r2, [sp]\n\
- ldrh r4, [r0, 0x8]\n\
- ldrh r6, [r0, 0xA]\n\
- movs r3, 0xC\n\
- ldrsh r0, [r0, r3]\n\
- mov r10, r1\n\
- cmp r0, 0\n\
- bne _0810A878\n\
- movs r0, 0\n\
- mov r8, r0\n\
- movs r2, 0x1\n\
- movs r1, 0x10\n\
- mov r12, r1\n\
- b _0810A882\n\
- .pool\n\
-_0810A878:\n\
- movs r2, 0x10\n\
- mov r12, r2\n\
- movs r3, 0x8\n\
- mov r8, r3\n\
- movs r2, 0x4\n\
-_0810A882:\n\
- mov r0, r9\n\
- lsls r1, r0, 2\n\
- adds r0, r1, r0\n\
- lsls r0, 3\n\
- add r0, r10\n\
- movs r3, 0x1C\n\
- ldrsh r0, [r0, r3]\n\
- mov r10, r1\n\
- cmp r0, 0xA\n\
- bhi _0810A978\n\
- lsls r0, 2\n\
- ldr r1, =_0810A8A4\n\
- adds r0, r1\n\
- ldr r0, [r0]\n\
- mov pc, r0\n\
- .pool\n\
- .align 2, 0\n\
-_0810A8A4:\n\
- .4byte _0810A8D0\n\
- .4byte _0810A978\n\
- .4byte _0810A8E4\n\
- .4byte _0810A978\n\
- .4byte _0810A904\n\
- .4byte _0810A978\n\
- .4byte _0810A91A\n\
- .4byte _0810A978\n\
- .4byte _0810A93C\n\
- .4byte _0810A978\n\
- .4byte _0810A970\n\
-_0810A8D0:\n\
- ldr r0, =gUnknown_08595828\n\
- lsls r1, r4, 16\n\
- asrs r1, 16\n\
- lsls r2, r6, 16\n\
- asrs r2, 16\n\
- mov r4, r12\n\
- lsls r3, r4, 16\n\
- b _0810A952\n\
- .pool\n\
-_0810A8E4:\n\
- mov r0, r12\n\
- lsls r3, r0, 17\n\
- mov r1, r8\n\
- adds r0, r1, r2\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- mov r8, r0\n\
- ldr r0, =gUnknown_08595828\n\
- lsls r1, r4, 16\n\
- asrs r1, 16\n\
- lsls r2, r6, 16\n\
- asrs r2, 16\n\
- b _0810A952\n\
- .pool\n\
-_0810A904:\n\
- mov r3, r12\n\
- lsls r0, r3, 16\n\
- asrs r0, 16\n\
- lsls r3, r0, 1\n\
- adds r3, r0\n\
- lsls r0, r2, 1\n\
- add r0, r8\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- mov r8, r0\n\
- b _0810A946\n\
-_0810A91A:\n\
- mov r0, r12\n\
- lsls r3, r0, 18\n\
- lsls r0, r2, 1\n\
- adds r0, r2\n\
- add r0, r8\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- mov r8, r0\n\
- ldr r0, =gUnknown_08595828\n\
- lsls r1, r4, 16\n\
- asrs r1, 16\n\
- lsls r2, r6, 16\n\
- asrs r2, 16\n\
- b _0810A952\n\
- .pool\n\
-_0810A93C:\n\
- mov r1, r12\n\
- lsls r0, r1, 16\n\
- asrs r0, 16\n\
- lsls r3, r0, 2\n\
- adds r3, r0\n\
-_0810A946:\n\
- ldr r0, =gUnknown_08595828\n\
- lsls r1, r4, 16\n\
- asrs r1, 16\n\
- lsls r2, r6, 16\n\
- asrs r2, 16\n\
- lsls r3, 16\n\
-_0810A952:\n\
- asrs r3, 16\n\
- adds r2, r3\n\
- lsls r2, 16\n\
- asrs r2, 16\n\
- movs r3, 0x2\n\
- bl CreateSprite\n\
- lsls r0, 24\n\
- lsrs r5, r0, 24\n\
- adds r0, r7, 0x1\n\
- lsls r0, 24\n\
- lsrs r7, r0, 24\n\
- b _0810A978\n\
- .pool\n\
-_0810A970:\n\
- mov r0, r9\n\
- bl DestroyAnimVisualTask\n\
- b _0810A9BC\n\
-_0810A978:\n\
- cmp r7, 0\n\
- beq _0810A9AC\n\
- ldr r4, =gSprites\n\
- lsls r3, r5, 4\n\
- adds r3, r5\n\
- lsls r3, 2\n\
- adds r0, r3, r4\n\
- ldrh r5, [r0, 0x4]\n\
- lsls r2, r5, 22\n\
- lsrs r2, 22\n\
- add r2, r8\n\
- ldr r6, =0x000003ff\n\
- adds r1, r6, 0\n\
- ands r2, r1\n\
- ldr r1, =0xfffffc00\n\
- ands r1, r5\n\
- orrs r1, r2\n\
- strh r1, [r0, 0x4]\n\
- mov r1, sp\n\
- ldrh r1, [r1]\n\
- strh r1, [r0, 0x2E]\n\
- adds r4, 0x1C\n\
- adds r3, r4\n\
- ldr r1, [r3]\n\
- bl _call_via_r1\n\
-_0810A9AC:\n\
- ldr r0, =gTasks\n\
- mov r1, r10\n\
- add r1, r9\n\
- lsls r1, 3\n\
- adds r1, r0\n\
- ldrh r0, [r1, 0x1C]\n\
- adds r0, 0x1\n\
- strh r0, [r1, 0x1C]\n\
-_0810A9BC:\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\
- .pool\n\
- ");
-}
-#endif
static void sub_810A9DC(struct Sprite *sprite)
{
@@ -1002,7 +801,7 @@ void sub_810AAFC(u8 taskId)
{
struct Task *task = &gTasks[taskId];
- if (!gBattleAnimArgs[0])
+ if (!gBattleAnimArgs[0])
{
task->data[14] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
task->data[15] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
@@ -1073,7 +872,7 @@ void sub_810AB78(u8 taskId)
static void sub_810AC8C(struct Sprite *sprite)
{
- if (TranslateAnimLinear(sprite))
+ if (AnimTranslateLinear(sprite))
{
gTasks[sprite->data[5]].data[7]--;
DestroySprite(sprite);
@@ -1188,7 +987,7 @@ void sub_810AE5C(u8 taskId)
}
else
task->data[0]++;
-
+
}
break;
case 2:
@@ -1334,6 +1133,7 @@ static void sub_810B23C(struct Sprite *sprite)
case 1:
if (sprite->affineAnimEnded)
DestroySpriteAndMatrix(sprite);
+ break;
}
}
@@ -1493,3 +1293,29 @@ void sub_810B55C(u8 taskId)
break;
}
}
+
+bool8 sub_810B614(struct Task *task, u8 taskId)
+{
+ u8 spriteId = CreateSprite(&gUnknown_085956C0, task->data[13], task->data[14], task->data[12]);
+
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].callback = sub_810B684;
+ gSprites[spriteId].data[6] = taskId;
+ gSprites[spriteId].data[7] = 10;
+ task->data[10]++;
+ }
+ if (task->data[14] >= task->data[15])
+ return TRUE;
+ task->data[14] += 32;
+ return FALSE;
+}
+
+static void sub_810B684(struct Sprite *sprite)
+{
+ if (sprite->animEnded)
+ {
+ gTasks[sprite->data[6]].data[sprite->data[7]]--;
+ DestroySprite(sprite);
+ }
+}
diff --git a/src/event_object_movement.c b/src/event_object_movement.c
index ef125e564..ffa8f53c9 100644
--- a/src/event_object_movement.c
+++ b/src/event_object_movement.c
@@ -1144,7 +1144,7 @@ u8 GetFirstInactiveEventObjectId(void)
u8 GetEventObjectIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroupId)
{
- if (localId < 0xFF)
+ if (localId < EVENT_OBJ_ID_PLAYER)
{
return GetEventObjectIdByLocalIdAndMapInternal(localId, mapNum, mapGroupId);
}
diff --git a/src/evolution_graphics.c b/src/evolution_graphics.c
index 022599dfb..bfd46978c 100644
--- a/src/evolution_graphics.c
+++ b/src/evolution_graphics.c
@@ -251,7 +251,7 @@ static void CreatePostEvoSparkleSet2(u8 arg0)
void LoadEvoSparkleSpriteAndPal(void)
{
- LoadCompressedObjectPicUsingHeap(&sEvoSparkleSpriteSheets[0]);
+ LoadCompressedSpriteSheetUsingHeap(&sEvoSparkleSpriteSheets[0]);
LoadSpritePalettes(sEvoSparkleSpritePals);
}
diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c
index 829d72c34..3774ef2b3 100644
--- a/src/field_control_avatar.c
+++ b/src/field_control_avatar.c
@@ -12,7 +12,7 @@
#include "field_poison.h"
#include "field_screen_effect.h"
#include "field_specials.h"
-#include "fldeff_80F9BCC.h"
+#include "fldeff_misc.h"
#include "item_menu.h"
#include "link.h"
#include "metatile_behavior.h"
@@ -521,13 +521,13 @@ static bool8 TryStartMiscWalkingScripts(u16 metatileBehavior)
}
else if (MetatileBehavior_IsSecretBaseGlitterMat(metatileBehavior) == TRUE)
{
- sub_80FA9D0();
+ DoSecretBaseGlitterMatSparkle();
return FALSE;
}
else if (MetatileBehavior_IsSecretBaseSoundMat(metatileBehavior) == TRUE)
{
PlayerGetDestCoords(&x, &y);
- sub_80FA970(MapGridGetMetatileIdAt(x, y));
+ PlaySecretBaseMusicNoteMatSound(MapGridGetMetatileIdAt(x, y));
return FALSE;
}
return FALSE;
diff --git a/src/field_effect.c b/src/field_effect.c
index 1442c611a..4e6f81484 100644
--- a/src/field_effect.c
+++ b/src/field_effect.c
@@ -9,7 +9,7 @@
#include "field_screen_effect.h"
#include "field_weather.h"
#include "fieldmap.h"
-#include "fldeff_groundshake.h"
+#include "fldeff.h"
#include "gpu_regs.h"
#include "main.h"
#include "menu.h"
@@ -733,8 +733,8 @@ bool8 FieldEffectActiveListContains(u8 id)
u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buffer)
{
struct SpriteTemplate spriteTemplate;
- LoadCompressedObjectPaletteOverrideBuffer(&gTrainerFrontPicPaletteTable[trainerSpriteID], buffer);
- LoadCompressedObjectPicOverrideBuffer(&gTrainerFrontPicTable[trainerSpriteID], buffer);
+ LoadCompressedSpritePaletteOverrideBuffer(&gTrainerFrontPicPaletteTable[trainerSpriteID], buffer);
+ LoadCompressedSpriteSheetOverrideBuffer(&gTrainerFrontPicTable[trainerSpriteID], buffer);
spriteTemplate.tileTag = gTrainerFrontPicTable[trainerSpriteID].tag;
spriteTemplate.paletteTag = gTrainerFrontPicPaletteTable[trainerSpriteID].tag;
spriteTemplate.oam = &gNewGameBirchOamAttributes;
diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c
index 3046eccd5..53fd87e61 100755
--- a/src/field_effect_helpers.c
+++ b/src/field_effect_helpers.c
@@ -1228,13 +1228,11 @@ u32 ShowTreeDisguiseFieldEffect(void)
return ShowDisguiseFieldEffect(FLDEFF_TREE_DISGUISE, 24, 4);
}
-
u32 ShowMountainDisguiseFieldEffect(void)
{
return ShowDisguiseFieldEffect(FLDEFF_MOUNTAIN_DISGUISE, 25, 3);
}
-
u32 ShowSandDisguiseFieldEffect(void)
{
return ShowDisguiseFieldEffect(FLDEFF_SAND_DISGUISE, 28, 2);
@@ -1579,3 +1577,19 @@ static void sub_81561FC(struct Sprite *sprite, u8 z, u8 offset)
}
}
}
+
+// Unused data. Feel free to remove.
+static const u8 gUnknown_085CDC6E[] =
+{
+ 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x02, 0x02,
+ 0x01, 0x02, 0x02, 0x01, 0x02, 0x02, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01, 0x01, 0x02,
+ 0x01, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00,
+ 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01,
+ 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00,
+ 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF,
+ 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00
+};
diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c
index a5aa23e32..f14ac8329 100644
--- a/src/field_player_avatar.c
+++ b/src/field_player_avatar.c
@@ -1310,7 +1310,7 @@ bool8 PartyHasMonWithSurf(void)
{
if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES) == SPECIES_NONE)
break;
- if (pokemon_has_move(&gPlayerParty[i], MOVE_SURF))
+ if (MonKnowsMove(&gPlayerParty[i], MOVE_SURF))
return TRUE;
}
}
@@ -1845,7 +1845,7 @@ static bool8 Fishing6(struct Task *task)
}
else
{
- if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3))
+ if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG))
{
u8 ability = GetMonAbility(&gPlayerParty[0]);
if (ability == ABILITY_SUCTION_CUPS || ability == ABILITY_STICKY_HOLD)
diff --git a/src/field_poison.c b/src/field_poison.c
index 02f37f69f..fac17dea9 100644
--- a/src/field_poison.c
+++ b/src/field_poison.c
@@ -4,7 +4,7 @@
#include "event_data.h"
#include "field_message_box.h"
#include "field_poison.h"
-#include "fldeff_80F9BCC.h"
+#include "fldeff_misc.h"
#include "frontier_util.h"
#include "party_menu.h"
#include "pokenav.h"
@@ -122,7 +122,7 @@ s32 DoPoisonFieldEffect(void)
u32 numFainted = 0;
for (i = 0; i < PARTY_SIZE; i++)
{
- if (GetMonData(pokemon, MON_DATA_SANITY_BIT2) && pokemon_ailments_get_primary(GetMonData(pokemon, MON_DATA_STATUS)) == AILMENT_PSN)
+ if (GetMonData(pokemon, MON_DATA_SANITY_HAS_SPECIES) && pokemon_ailments_get_primary(GetMonData(pokemon, MON_DATA_STATUS)) == AILMENT_PSN)
{
hp = GetMonData(pokemon, MON_DATA_HP);
if (hp == 0 || --hp == 0)
@@ -136,7 +136,7 @@ s32 DoPoisonFieldEffect(void)
}
if (numFainted != 0 || numPoisoned != 0)
{
- FldeffPoison_Start();
+ FldEffPoison_Start();
}
if (numFainted != 0)
{
diff --git a/src/field_specials.c b/src/field_specials.c
index 3a50e272e..5e1c86dfe 100644
--- a/src/field_specials.c
+++ b/src/field_specials.c
@@ -1266,7 +1266,7 @@ void IsGrassTypeInParty(void)
for (i = 0; i < PARTY_SIZE; i++)
{
pokemon = &gPlayerParty[i];
- if (GetMonData(pokemon, MON_DATA_SANITY_BIT2) && !GetMonData(pokemon, MON_DATA_IS_EGG))
+ if (GetMonData(pokemon, MON_DATA_SANITY_HAS_SPECIES) && !GetMonData(pokemon, MON_DATA_IS_EGG))
{
species = GetMonData(pokemon, MON_DATA_SPECIES);
if (gBaseStats[species].type1 == TYPE_GRASS || gBaseStats[species].type2 == TYPE_GRASS)
@@ -1279,17 +1279,17 @@ void IsGrassTypeInParty(void)
gSpecialVar_Result = FALSE;
}
-void SpawnScriptEventObject(void)
+void SpawnCameraObject(void)
{
- u8 obj = SpawnSpecialEventObjectParameterized(EVENT_OBJ_GFX_BOY_1, 8, 0x7F, gSaveBlock1Ptr->pos.x + 7, gSaveBlock1Ptr->pos.y + 7, 3);
+ u8 obj = SpawnSpecialEventObjectParameterized(EVENT_OBJ_GFX_BOY_1, 8, EVENT_OBJ_ID_CAMERA, gSaveBlock1Ptr->pos.x + 7, gSaveBlock1Ptr->pos.y + 7, 3);
gEventObjects[obj].invisible = TRUE;
CameraObjectSetFollowedObjectId(gEventObjects[obj].spriteId);
}
-void RemoveScriptEventObject(void)
+void RemoveCameraObject(void)
{
CameraObjectSetFollowedObjectId(GetPlayerAvatarObjectId());
- RemoveEventObjectByLocalIdAndMap(0x7F, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
+ RemoveEventObjectByLocalIdAndMap(EVENT_OBJ_ID_CAMERA, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
}
u8 GetPokeblockNameByMonNature(void)
@@ -1658,7 +1658,7 @@ bool8 sub_813990C(void)
for (i = 0; i < partyCount; i++)
{
- if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_BIT1) == 1)
+ if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_IS_BAD_EGG) == 1)
return TRUE;
}
@@ -3193,7 +3193,7 @@ void sub_813AEB4(void)
i = 0;
do
{
- if (gUnknown_0861500C[i] == gUnknown_085B320C[temp2])
+ if (gTutorMoves[i] == gUnknown_085B320C[temp2])
{
gSpecialVar_0x8005 = i;
break;
@@ -3206,7 +3206,7 @@ void sub_813AEB4(void)
i = 0;
do
{
- if (gUnknown_0861500C[i] == gUnknown_085B31F8[temp2])
+ if (gTutorMoves[i] == gUnknown_085B31F8[temp2])
{
gSpecialVar_0x8005 = i;
break;
@@ -3817,7 +3817,7 @@ void sub_813B9A0(void)
}
}
-bool32 sub_813B9C0(void)
+bool8 sub_813B9C0(void)
{
static const u16 gUnknown_085B3444[] = {
MAP_OLDALE_TOWN_POKEMON_CENTER_1F,
diff --git a/src/fieldmap.c b/src/fieldmap.c
index cab200208..abdddb373 100644
--- a/src/fieldmap.c
+++ b/src/fieldmap.c
@@ -1,9 +1,8 @@
#include "global.h"
#include "bg.h"
#include "fieldmap.h"
-#include "fldeff_80F9BCC.h"
-#include "fldeff_cut.h"
-#include "fldeff_groundshake.h"
+#include "fldeff.h"
+#include "fldeff_misc.h"
#include "frontier_util.h"
#include "menu.h"
#include "overworld.h"
diff --git a/src/fight.c b/src/fight.c
index fb1c01b78..b7ca2e87a 100644
--- a/src/fight.c
+++ b/src/fight.c
@@ -416,7 +416,7 @@ const struct SpriteTemplate gUnknown_08596104 =
void unc_080B08A0(struct Sprite *sprite)
{
- sub_80A6864(sprite, gBattleAnimArgs[0]);
+ SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]);
sprite->pos1.y += gBattleAnimArgs[1];
sprite->data[0] = 15;
sprite->callback = WaitAnimForDuration;
@@ -459,9 +459,9 @@ void AnimBasicFistOrFoot(struct Sprite *sprite)
StartSpriteAnim(sprite, gBattleAnimArgs[4]);
if (gBattleAnimArgs[3] == 0)
- InitAnimSpritePos(sprite, 1);
+ InitSpritePosToAnimAttacker(sprite, 1);
else
- sub_80A6980(sprite, TRUE);
+ InitSpritePosToAnimTarget(sprite, TRUE);
sprite->data[0] = gBattleAnimArgs[2];
sprite->callback = WaitAnimForDuration;
@@ -534,7 +534,7 @@ static void sub_810D0B8(struct Sprite *sprite)
void sub_810D10C(struct Sprite *sprite)
{
- sub_80A6980(sprite, TRUE);
+ InitSpritePosToAnimTarget(sprite, TRUE);
sprite->data[0] = 30;
if (gBattleAnimArgs[2] == 0)
@@ -574,7 +574,7 @@ void sub_810D1B4(struct Sprite *sprite)
if (BATTLE_PARTNER(gBattleAnimAttacker) == gBattleAnimTarget && GetBattlerPosition(gBattleAnimTarget) < B_POSITION_PLAYER_RIGHT)
gBattleAnimArgs[0] *= -1;
- sub_80A6980(sprite, TRUE);
+ InitSpritePosToAnimTarget(sprite, TRUE);
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
@@ -596,7 +596,7 @@ void sub_810D1B4(struct Sprite *sprite)
static void sub_810D240(struct Sprite *sprite)
{
- if (!TranslateAnimLinear(sprite))
+ if (!AnimTranslateLinear(sprite))
{
sprite->pos2.y += Sin(sprite->data[7] >> 8, sprite->data[5]);
sprite->data[7] += sprite->data[6];
@@ -615,7 +615,7 @@ static void sub_810D240(struct Sprite *sprite)
// arg 3: spin duration
void AnimSpinningKickOrPunch(struct Sprite *sprite)
{
- sub_80A6980(sprite, TRUE);
+ InitSpritePosToAnimTarget(sprite, TRUE);
StartSpriteAnim(sprite, gBattleAnimArgs[2]);
sprite->data[0] = gBattleAnimArgs[3];
@@ -639,7 +639,7 @@ static void AnimSpinningKickOrPunchFinish(struct Sprite *sprite)
// arg 2: initial wait duration
void AnimStompFoot(struct Sprite *sprite)
{
- sub_80A6980(sprite, TRUE);
+ InitSpritePosToAnimTarget(sprite, TRUE);
sprite->data[0] = gBattleAnimArgs[2];
sprite->callback = AnimStompFootStep;
@@ -670,7 +670,7 @@ void sub_810D37C(struct Sprite *sprite)
{
if (sprite->data[0] == 0)
{
- sub_80A6980(sprite, TRUE);
+ InitSpritePosToAnimTarget(sprite, TRUE);
sprite->data[1] = gBattleAnimArgs[2];
sprite->data[2] = gBattleAnimArgs[3];
sprite->data[0]++;
@@ -800,12 +800,12 @@ void sub_810D608(struct Sprite *sprite)
{
sprite->pos1.x = GetBattlerSpriteCoord(gBattlerAttacker, 2);
sprite->pos1.y = GetBattlerSpriteCoord(gBattlerAttacker, 3);
- sprite->oam.priority = sub_80A8328(gBattleAnimAttacker);
+ sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker);
sprite->data[7] = gBattleAnimTarget;
}
else
{
- sprite->oam.priority = sub_80A8328(gBattleAnimTarget);
+ sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimTarget);
sprite->data[7] = gBattleAnimAttacker;
}
@@ -903,12 +903,12 @@ void sub_810D874(struct Sprite *sprite)
sprite->pos1.x = GetBattlerSpriteCoord(gBattlerAttacker, 2);
sprite->pos1.y = GetBattlerSpriteCoord(gBattlerAttacker, 3);
battler = gBattleAnimTarget;
- sprite->oam.priority = sub_80A8328(gBattleAnimAttacker);
+ sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker);
}
else
{
battler = gBattleAnimAttacker;
- sprite->oam.priority = sub_80A8328(gBattleAnimTarget);
+ sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimTarget);
}
if (IsContest())
@@ -965,9 +965,9 @@ void sub_810D984(struct Sprite *sprite)
void sub_810DA10(struct Sprite *sprite)
{
if (gBattleAnimArgs[2] == 0)
- InitAnimSpritePos(sprite, 0);
+ InitSpritePosToAnimAttacker(sprite, 0);
else
- sub_80A6980(sprite, FALSE);
+ InitSpritePosToAnimTarget(sprite, FALSE);
if (IsContest())
{
diff --git a/src/fire.c b/src/fire.c
index 18ec7b95c..5f501a340 100644
--- a/src/fire.c
+++ b/src/fire.c
@@ -472,14 +472,14 @@ static void sub_8108EC8(struct Sprite *sprite)
static void sub_8108F08(struct Sprite *sprite)
{
- sub_80A6864(sprite, gBattleAnimArgs[0]);
+ SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]);
sprite->pos1.y += gBattleAnimArgs[1];
sprite->data[0] = gBattleAnimArgs[4];
sprite->data[1] = gBattleAnimArgs[2];
sprite->data[2] = gBattleAnimArgs[3];
- sprite->callback = TranslateAnimLinearSimple;
+ sprite->callback = AnimTranslateLinearSimple;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
@@ -644,7 +644,7 @@ static void sub_8109200(struct Sprite *sprite)
//void AnimFireRing(struct Sprite *sprite)
void AnimFireRing(struct Sprite *sprite)
{
- InitAnimSpritePos(sprite, 1);
+ InitSpritePosToAnimAttacker(sprite, 1);
sprite->data[7] = gBattleAnimArgs[2];
sprite->data[0] = 0;
@@ -672,7 +672,7 @@ static void AnimFireRingStep1(struct Sprite *sprite)
static void AnimFireRingStep2(struct Sprite *sprite)
{
- if (TranslateAnimLinear(sprite))
+ if (AnimTranslateLinear(sprite))
{
sprite->data[0] = 0;
@@ -731,7 +731,7 @@ static void AnimFireCross(struct Sprite *sprite)
static void sub_81093A4(struct Sprite *sprite)
{
- InitAnimSpritePos(sprite, 1);
+ InitSpritePosToAnimAttacker(sprite, 1);
sprite->data[1] = gBattleAnimArgs[2];
sprite->data[0] = gBattleAnimArgs[3];
@@ -1054,7 +1054,7 @@ static void sub_8109AFC(struct Sprite *sprite)
switch (sprite->data[0])
{
case 0:
- InitAnimSpritePos(sprite, 0);
+ InitSpritePosToAnimAttacker(sprite, 0);
StartSpriteAnim(sprite, gBattleAnimArgs[2]);
sprite->data[7] = gBattleAnimArgs[2];
@@ -1067,7 +1067,7 @@ static void sub_8109AFC(struct Sprite *sprite)
sprite->data[4] = -4;
}
- sprite->oam.priority = sub_80A8328(gBattleAnimTarget);
+ sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimTarget);
sprite->data[0]++;
break;
case 1:
@@ -1119,7 +1119,7 @@ static void sub_8109C4C(struct Sprite *sprite)
s16 initialData5;
s16 newData5;
- if (!TranslateAnimLinear(sprite))
+ if (!AnimTranslateLinear(sprite))
{
sprite->pos2.x += Sin(sprite->data[5], 16);
initialData5 = sprite->data[5];
@@ -1157,9 +1157,9 @@ void sub_8109CB0(struct Sprite *sprite)
if (!IsContest())
{
if (sprite->data[1] < 64 || sprite->data[1] > 195)
- sprite->oam.priority = sub_80A8328(gBattleAnimTarget);
+ sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimTarget);
else
- sprite->oam.priority = sub_80A8328(gBattleAnimTarget) + 1;
+ sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimTarget) + 1;
}
else
{
@@ -1318,4 +1318,4 @@ void sub_810A094(u8 taskId)
gSprites[spriteId].pos2.y = 0;
DestroyAnimVisualTask(taskId);
}
-} \ No newline at end of file
+}
diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c
index 6a310efd2..60887a5cc 100644
--- a/src/fldeff_cut.c
+++ b/src/fldeff_cut.c
@@ -5,12 +5,11 @@
#include "field_effect.h"
#include "field_player_avatar.h"
#include "fieldmap.h"
-#include "fldeff_cut.h"
+#include "fldeff.h"
#include "alloc.h"
#include "metatile_behavior.h"
#include "overworld.h"
#include "party_menu.h"
-#include "rom6.h"
#include "script.h"
#include "sound.h"
#include "sprite.h"
diff --git a/src/fldeff_dig.c b/src/fldeff_dig.c
new file mode 100644
index 000000000..b39d25182
--- /dev/null
+++ b/src/fldeff_dig.c
@@ -0,0 +1,63 @@
+#include "global.h"
+#include "braille_puzzles.h"
+#include "field_effect.h"
+#include "field_player_avatar.h"
+#include "fldeff.h"
+#include "item_use.h"
+#include "overworld.h"
+#include "party_menu.h"
+#include "sprite.h"
+#include "constants/field_effects.h"
+
+// static functions
+static void hm2_dig(void);
+static void sub_8135780(void);
+
+// text
+bool8 SetUpFieldMove_Dig(void)
+{
+ if (CanUseEscapeRopeOnCurrMap() == TRUE)
+ {
+ gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu;
+ gPostMenuFieldCallback = hm2_dig;
+ return TRUE;
+ }
+ else
+ {
+ return FALSE;
+ }
+}
+
+static void hm2_dig(void)
+{
+ Overworld_ResetStateAfterDigEscRope();
+ FieldEffectStart(FLDEFF_USE_DIG);
+ gFieldEffectArguments[0] = GetCursorSelectionMonId();
+}
+
+bool8 FldEff_UseDig(void)
+{
+ u8 taskId = oei_task_add();
+
+ gTasks[taskId].data[8] = (u32)sub_8135780 >> 16;
+ gTasks[taskId].data[9] = (u32)sub_8135780;
+ if (!ShouldDoBrailleDigEffect())
+ SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT);
+ return FALSE;
+}
+
+static void sub_8135780(void)
+{
+ u8 taskId;
+
+ FieldEffectActiveListRemove(FLDEFF_USE_DIG);
+ if (ShouldDoBrailleDigEffect())
+ {
+ DoBrailleDigEffect();
+ }
+ else
+ {
+ taskId = CreateTask(task08_080A1C44, 8);
+ gTasks[taskId].data[0] = 0;
+ }
+}
diff --git a/src/fldeff_escalator.c b/src/fldeff_escalator.c
index 7d3e07123..3d00fb162 100644
--- a/src/fldeff_escalator.c
+++ b/src/fldeff_escalator.c
@@ -2,18 +2,19 @@
#include "field_camera.h"
#include "field_player_avatar.h"
#include "fieldmap.h"
+#include "fldeff.h"
#include "task.h"
static EWRAM_DATA u8 sEscalatorAnim_TaskId = 0;
-void sub_80E12E8(u8 taskId, const s16 *list, u16 c)
+static void sub_80E12E8(u8 taskId, const s16 *list, u16 c)
{
s16 r5 = gTasks[taskId].data[4] - 1;
s16 r3 = gTasks[taskId].data[5] - 1;
s16 r4 = gTasks[taskId].data[1];
s16 y;
s16 x;
-
+
if (gTasks[taskId].data[2] == 0)
{
for (y = 0; y < 3; y++)
@@ -21,7 +22,7 @@ void sub_80E12E8(u8 taskId, const s16 *list, u16 c)
for (x = 0; x < 3; x++)
{
s16 metatileId = MapGridGetMetatileIdAt(r5 + x, r3 + y);
-
+
if (list[r4] == metatileId)
{
if (r4 != 2)
@@ -39,7 +40,7 @@ void sub_80E12E8(u8 taskId, const s16 *list, u16 c)
for (x = 0; x < 3; x++)
{
s16 metatileId = MapGridGetMetatileIdAt(r5 + x, r3 + y);
-
+
if (list[2 - r4] == metatileId)
{
if (r4 != 2)
@@ -60,7 +61,7 @@ static const u16 gUnknown_08589AD2[] = {0x2A0, 0x2A2, 0x2A4};
static const u16 gUnknown_08589AD8[] = {0x2A1, 0x2A3, 0x2A5};
static const u16 gUnknown_08589ADE[] = {0x2A8, 0x2AA, 0x2AC};
-void sub_80E1444(u8 taskId)
+static void sub_80E1444(u8 taskId)
{
s16 *data = gTasks[taskId].data;
@@ -100,7 +101,7 @@ void sub_80E1444(u8 taskId)
}
}
-u8 sub_80E150C(u16 var)
+static u8 sub_80E150C(u16 var)
{
u8 taskId = CreateTask(sub_80E1444, 0);
s16 *data = gTasks[taskId].data;
diff --git a/src/fldeff_flash.c b/src/fldeff_flash.c
index 8862caa9f..69d198c84 100644
--- a/src/fldeff_flash.c
+++ b/src/fldeff_flash.c
@@ -3,12 +3,12 @@
#include "event_data.h"
#include "event_scripts.h"
#include "field_effect.h"
+#include "fldeff.h"
#include "gpu_regs.h"
#include "main.h"
#include "overworld.h"
#include "palette.h"
#include "party_menu.h"
-#include "rom6.h"
#include "script.h"
#include "sound.h"
#include "sprite.h"
diff --git a/src/fldeff_groundshake.c b/src/fldeff_groundshake.c
index 866606a06..bfd583981 100644
--- a/src/fldeff_groundshake.c
+++ b/src/fldeff_groundshake.c
@@ -2,6 +2,7 @@
#include "event_data.h"
#include "event_object_movement.h"
#include "field_camera.h"
+#include "fldeff.h"
#include "alloc.h"
#include "random.h"
#include "roulette_util.h"
@@ -10,6 +11,7 @@
#include "sprite.h"
#include "task.h"
#include "constants/flags.h"
+#include "constants/maps.h"
#include "constants/songs.h"
// structures
@@ -73,7 +75,13 @@ static const struct OamData gUnknown_08617E2C =
};
static const struct SpriteTemplate gUnknown_08617E34 = {
- 0x0FA0, 0xFFFF, &gUnknown_08617E2C, gSpriteAnimTable_8617E28, NULL, gDummySpriteAffineAnimTable, sub_81BEAD8
+ .tileTag = 0x0FA0,
+ .paletteTag = 0xFFFF,
+ .oam = &gUnknown_08617E2C,
+ .anims = gSpriteAnimTable_8617E28,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81BEAD8
};
static const union AnimCmd gSpriteAnim_8617E4C[] =
@@ -105,7 +113,13 @@ static const struct OamData gSpriteAnim_8617E58 =
};
static const struct SpriteTemplate gUnknown_08617E60 = {
- 0x0FA0, 0xFFFF, &gSpriteAnim_8617E58, gSpriteAnim_8617E54, NULL, gDummySpriteAffineAnimTable, sub_81BEAD8
+ .tileTag = 0x0FA0,
+ .paletteTag = 0xFFFF,
+ .oam = &gSpriteAnim_8617E58,
+ .anims = gSpriteAnim_8617E54,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81BEAD8
};
// ewram
@@ -114,12 +128,13 @@ EWRAM_DATA struct Struct203CF18 *gUnknown_0203CF18 = NULL;
// text
bool8 sub_81BE66C(void)
{
- if (!(gSaveBlock1Ptr->location.mapGroup == 0x0 && gSaveBlock1Ptr->location.mapNum == 0x1A))
- return 0;
- return FlagGet(FLAG_0x14E);
+ if (!(gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ROUTE111) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE111)))
+ return FALSE;
+ else
+ return FlagGet(FLAG_0x14E);
}
-void sub_81BE698(u8 taskId)
+static void sub_81BE698(u8 taskId)
{
sub_8151E50(&(gUnknown_0203CF18->unk4));
}
@@ -131,12 +146,13 @@ void sub_81BE6AC(void)
void sub_81BE6B8(void)
{
- if(gUnknown_0203CF18 != NULL)
+ if (gUnknown_0203CF18 != NULL)
{
gUnknown_0203CF18 = NULL;
return;
}
- if(!(gSaveBlock1Ptr->location.mapGroup == 0x0 && gSaveBlock1Ptr->location.mapNum == 0x1A) || !FlagGet(FLAG_0x14E))
+
+ if (gSaveBlock1Ptr->location.mapGroup != MAP_GROUP(ROUTE111) || gSaveBlock1Ptr->location.mapNum != MAP_NUM(ROUTE111) || !FlagGet(FLAG_0x14E))
return;
gUnknown_0203CF18 = (struct Struct203CF18 *)AllocZeroed(sizeof(struct Struct203CF18));
@@ -148,10 +164,13 @@ void sub_81BE6B8(void)
void sub_81BE72C(void)
{
- if(!(gSaveBlock1Ptr->location.mapGroup == 0x0 && gSaveBlock1Ptr->location.mapNum == 0x1A) || !FlagGet(FLAG_0x14E) || gUnknown_0203CF18 == NULL)
+ if (gSaveBlock1Ptr->location.mapGroup != MAP_GROUP(ROUTE111) || gSaveBlock1Ptr->location.mapNum != MAP_NUM(ROUTE111)
+ || !FlagGet(FLAG_0x14E) || gUnknown_0203CF18 == NULL)
return;
- if(FuncIsActiveTask(sub_81BE698))
+
+ if( FuncIsActiveTask(sub_81BE698))
DestroyTask(gUnknown_0203CF18->taskId);
+
sub_8151D28(&(gUnknown_0203CF18->unk4), 1, 1);
sub_8151C50(&(gUnknown_0203CF18->unk4), 1, 1);
Free(gUnknown_0203CF18);
@@ -163,16 +182,16 @@ void sub_81BE79C(void)
u16 rand;
bool8 chance;
- if(VarGet(VAR_0x40CB) != 0)
+ if (VarGet(VAR_0x40CB) != 0)
{
FlagClear(FLAG_0x14E);
return;
}
rand = Random();
chance = rand & 1;
- if(FlagGet(FLAG_0x09D) == TRUE)
+ if (FlagGet(FLAG_0x09D) == TRUE)
chance = TRUE;
- if(chance)
+ if (chance)
{
FlagSet(FLAG_0x14E);
sub_81BE6B8();
@@ -221,18 +240,17 @@ static void sp136_strengh_sound(u8 a, u8 b, u8 c, u8 d)
static void sub_81BE900(u8 taskId)
{
- s16 *data;
+ s16 *data = gTasks[taskId].data;
- data = gTasks[taskId].data;
data[1]++;
- if((data[1] % data[3]) == 0)
+ if ((data[1] % data[3]) == 0)
{
data[1] = 0;
data[2]--;
data[0] = -data[0];
data[4] = -data[4];
SetCameraPanning(data[0], data[4]);
- if(!data[2])
+ if (!data[2])
{
sub_81BE968();
DestroyTask(taskId);
@@ -243,10 +261,8 @@ static void sub_81BE900(u8 taskId)
static void sub_81BE968(void)
{
- u8 taskId;
-
- taskId = FindTaskIdByFunc(sub_81BE9C0);
- if(taskId != 0xFF)
+ u8 taskId = FindTaskIdByFunc(sub_81BE9C0);
+ if (taskId != 0xFF)
gTasks[taskId].data[0]++;
}
@@ -260,11 +276,9 @@ void sub_81BE994(void)
static void sub_81BE9C0(u8 taskId)
{
- u16 *data;
+ u16 *data = gTasks[taskId].data;
- data = gTasks[taskId].data;
- data[1]++;
- if(data[1] == 1000 || data[0] == 17)
+ if (++data[1] == 1000 || data[0] == 17)
gTasks[taskId].func = sub_81BEA00;
}
@@ -280,14 +294,14 @@ static void sub_81BEA20(void)
u8 i;
u8 spriteId;
- for(i = 0; i < 8; i++)
+ for (i = 0; i < 8; i++)
{
spriteId = CreateSprite(&gUnknown_08617E60, gUnknown_08617D64[i][0] + 120, gUnknown_08617D64[i][1], 8);
gSprites[spriteId].oam.priority = 0;
gSprites[spriteId].oam.paletteNum = 0;
gSprites[spriteId].data[0] = i;
}
- for(i = 0; i < 8; i++)
+ for (i = 0; i < 8; i++)
{
spriteId = CreateSprite(&gUnknown_08617E34, gUnknown_08617D64[i][0] + 115, gUnknown_08617D64[i][1] - 3, 8);
gSprites[spriteId].oam.priority = 0;
@@ -300,7 +314,7 @@ static void sub_81BEAD8(struct Sprite* sprite)
{
sprite->data[1] += 2;
sprite->pos2.y = (sprite->data[1] / 2);
- if(((sprite->pos1.y) + (sprite->pos2.y)) > gUnknown_08617D64[sprite->data[0]][2])
+ if (((sprite->pos1.y) + (sprite->pos2.y)) > gUnknown_08617D64[sprite->data[0]][2])
{
DestroySprite(sprite);
sub_81BE968();
diff --git a/src/fldeff_misc.c b/src/fldeff_misc.c
new file mode 100644
index 000000000..9d77383ae
--- /dev/null
+++ b/src/fldeff_misc.c
@@ -0,0 +1,1307 @@
+#include "global.h"
+#include "gpu_regs.h"
+#include "palette.h"
+#include "script.h"
+#include "sound.h"
+#include "task.h"
+#include "strings.h"
+#include "party_menu.h"
+#include "fieldmap.h"
+#include "field_effect.h"
+#include "field_camera.h"
+#include "field_player_avatar.h"
+#include "fldeff.h"
+#include "fldeff_misc.h"
+#include "secret_base.h"
+#include "event_data.h"
+#include "event_scripts.h"
+#include "event_object_movement.h"
+#include "metatile_behavior.h"
+#include "string_util.h"
+#include "constants/field_effects.h"
+#include "constants/metatile_behaviors.h"
+#include "constants/songs.h"
+#include "constants/vars.h"
+
+extern struct MapPosition gPlayerFacingPosition;
+
+static void sub_80F9C90(u8);
+static void sub_80F9DFC(u8);
+
+static void Task_SecretBasePCTurnOn(u8);
+
+static void Task_PopSecretBaseBalloon(u8);
+static void DoBalloonSoundEffect(s16);
+
+static void Task_WateringBerryTreeAnim_1(u8);
+static void Task_WateringBerryTreeAnim_2(u8);
+static void Task_WateringBerryTreeAnim_3(u8);
+
+static void sub_80F9C44(TaskFunc, u16, u16, u8);
+
+static void FieldCallback_SecretBaseCave(void);
+static void CaveEntranceSpriteCallback1(struct Sprite *);
+static void CaveEntranceSpriteCallback2(struct Sprite *);
+static void CaveEntranceSpriteCallbackEnd(struct Sprite *);
+static void StartSecretBaseCaveFieldEffect(void);
+
+static void FieldCallback_SecretBaseTree(void);
+static void TreeEntranceSpriteCallback1(struct Sprite *);
+static void TreeEntranceSpriteCallback2(struct Sprite *);
+static void TreeEntranceSpriteCallbackEnd(struct Sprite *);
+static void StartSecretBaseTreeFieldEffect(void);
+
+static void FieldCallback_SecretBaseShrub(void);
+static void ShrubEntranceSpriteCallback1(struct Sprite *);
+static void ShrubEntranceSpriteCallback2(struct Sprite *);
+static void ShrubEntranceSpriteCallbackEnd(struct Sprite *);
+static void StartSecretBaseShrubFieldEffect(void);
+
+static void SpriteCB_SandPillar_0(struct Sprite *);
+static void SpriteCB_SandPillar_1(struct Sprite *);
+static void SpriteCB_SandPillar_2(struct Sprite *);
+
+static const u8 gSpriteImage_858D978[] = INCBIN_U8("graphics/unknown/858E588/0.4bpp");
+static const u8 gSpriteImage_858D9F8[] = INCBIN_U8("graphics/unknown/858E588/1.4bpp");
+static const u8 gSpriteImage_858DA78[] = INCBIN_U8("graphics/unknown/858E588/2.4bpp");
+static const u8 gSpriteImage_858DAF8[] = INCBIN_U8("graphics/unknown/858E588/3.4bpp");
+static const u8 gSpriteImage_858DB78[] = INCBIN_U8("graphics/unknown/858E588/4.4bpp");
+
+static const u8 gUnusedEmptySpace_858DBF8[32] = {0};
+
+static const u16 gFieldEffectObjectPalette7[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_07.gbapal");
+static const u8 gSpriteImage_858DC38[] = INCBIN_U8("graphics/unknown/858E5D8/0.4bpp");
+static const u8 gSpriteImage_858DCB8[] = INCBIN_U8("graphics/unknown/858E5D8/1.4bpp");
+static const u8 gSpriteImage_858DD38[] = INCBIN_U8("graphics/unknown/858E5D8/2.4bpp");
+static const u8 gSpriteImage_858DDB8[] = INCBIN_U8("graphics/unknown/858E5D8/3.4bpp");
+static const u8 gSpriteImage_858DE38[] = INCBIN_U8("graphics/unknown/858E5D8/4.4bpp");
+static const u8 gSpriteImage_858DEB8[] = INCBIN_U8("graphics/unknown/858E5B0/0.4bpp");
+static const u8 gSpriteImage_858DF38[] = INCBIN_U8("graphics/unknown/858E5B0/1.4bpp");
+static const u8 gSpriteImage_858DFB8[] = INCBIN_U8("graphics/unknown/858E5B0/2.4bpp");
+static const u8 gSpriteImage_858E038[] = INCBIN_U8("graphics/unknown/858E5B0/3.4bpp");
+static const u8 gSpriteImage_858E0B8[] = INCBIN_U8("graphics/unknown/858E5B0/4.4bpp");
+static const u8 gSpriteImage_858E138[] = INCBIN_U8("graphics/unknown/858E5B0/5.4bpp");
+static const u16 gFieldEffectObjectPalette8[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_08.gbapal");
+static const u8 gSpriteImage_858E1D8[] = INCBIN_U8("graphics/unknown/858E674/0.4bpp");
+static const u8 gSpriteImage_858E2D8[] = INCBIN_U8("graphics/unknown/858E674/1.4bpp");
+static const u8 gSpriteImage_858E3D8[] = INCBIN_U8("graphics/unknown/858E674/2.4bpp");
+
+static const struct OamData gOamData_858E4D8 =
+{
+ .y = 0,
+ .x = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = ST_OAM_SQUARE,
+ .size = 1,
+ .priority = 2,
+};
+
+static const union AnimCmd gSpriteAnim_858E4E0[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(2, 8),
+ ANIMCMD_FRAME(3, 8),
+ ANIMCMD_FRAME(4, 8),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd gSpriteAnim_858E4F8[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(2, 8),
+ ANIMCMD_FRAME(3, 8),
+ ANIMCMD_FRAME(4, 8),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd gSpriteAnim_858E510[] =
+{
+ ANIMCMD_FRAME(4, 8),
+ ANIMCMD_FRAME(3, 8),
+ ANIMCMD_FRAME(2, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd gSpriteAnim_858E528[] =
+{
+ ANIMCMD_FRAME(0, 8, .hFlip = TRUE),
+ ANIMCMD_FRAME(1, 8, .hFlip = TRUE),
+ ANIMCMD_FRAME(2, 8, .hFlip = TRUE),
+ ANIMCMD_FRAME(3, 8, .hFlip = TRUE),
+ ANIMCMD_FRAME(4, 8, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd gSpriteAnim_858E540[] =
+{
+ ANIMCMD_FRAME(4, 8, .hFlip = TRUE),
+ ANIMCMD_FRAME(3, 8, .hFlip = TRUE),
+ ANIMCMD_FRAME(2, 8, .hFlip = TRUE),
+ ANIMCMD_FRAME(1, 8, .hFlip = TRUE),
+ ANIMCMD_FRAME(0, 8, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd gSpriteAnim_858E558[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(2, 8),
+ ANIMCMD_FRAME(3, 8),
+ ANIMCMD_FRAME(4, 8),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd *const gSpriteAnimTable_858E570[] =
+{
+ gSpriteAnim_858E4E0,
+};
+
+static const union AnimCmd *const gSpriteAnimTable_858E574[] =
+{
+ gSpriteAnim_858E4F8,
+ gSpriteAnim_858E510,
+ gSpriteAnim_858E528,
+ gSpriteAnim_858E540,
+};
+
+static const union AnimCmd *const gSpriteAnimTable_858E584[] =
+{
+ gSpriteAnim_858E558,
+};
+
+static const struct SpriteFrameImage gUnknown_858E588[] =
+{
+ {gSpriteImage_858D978, 0x80},
+ {gSpriteImage_858D9F8, 0x80},
+ {gSpriteImage_858DA78, 0x80},
+ {gSpriteImage_858DAF8, 0x80},
+ {gSpriteImage_858DB78, 0x80},
+};
+
+static const struct SpriteFrameImage gUnknown_858E5B0[] =
+{
+ {gSpriteImage_858DEB8, 0x80},
+ {gSpriteImage_858DF38, 0x80},
+ {gSpriteImage_858DFB8, 0x80},
+ {gSpriteImage_858E038, 0x80},
+ {gSpriteImage_858E0B8, 0x80},
+};
+
+static const struct SpriteFrameImage gUnknown_858E5D8[] =
+{
+ {gSpriteImage_858DC38, 0x80},
+ {gSpriteImage_858DCB8, 0x80},
+ {gSpriteImage_858DD38, 0x80},
+ {gSpriteImage_858DDB8, 0x80},
+ {gSpriteImage_858DE38, 0x80},
+};
+
+static const struct SpriteTemplate gUnknown_0858E600 =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x1003,
+ .oam = &gOamData_858E4D8,
+ .anims = gSpriteAnimTable_858E570,
+ .images = gUnknown_858E588,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = CaveEntranceSpriteCallback1,
+};
+
+static const struct SpriteTemplate gUnknown_0858E618 =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x1008,
+ .oam = &gOamData_858E4D8,
+ .anims = gSpriteAnimTable_858E574,
+ .images = gUnknown_858E5B0,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = TreeEntranceSpriteCallback1,
+};
+
+static const struct SpriteTemplate gUnknown_0858E630 =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x1008,
+ .oam = &gOamData_858E4D8,
+ .anims = gSpriteAnimTable_858E584,
+ .images = gUnknown_858E5D8,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = ShrubEntranceSpriteCallback1,
+};
+
+const struct SpritePalette gFieldEffectObjectPaletteInfo7 = {gFieldEffectObjectPalette7, 0x1003};
+const struct SpritePalette gFieldEffectObjectPaletteInfo8 = {gFieldEffectObjectPalette8, 0x1008};
+
+static const struct OamData gOamData_858E658 =
+{
+ .x = 0,
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = ST_OAM_V_RECTANGLE,
+ .size = 2,
+ .priority = 2,
+};
+
+static const union AnimCmd gSpriteAnim_858E660[] =
+{
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(1, 6),
+ ANIMCMD_FRAME(2, 6),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd *const gSpriteAnimTable_858E670[] =
+{
+ gSpriteAnim_858E660,
+};
+
+static const struct SpriteFrameImage gUnknown_0858E674[] =
+{
+ {gSpriteImage_858E1D8, 0x100},
+ {gSpriteImage_858E2D8, 0x100},
+ {gSpriteImage_858E3D8, 0x100},
+};
+
+static const struct SpriteTemplate gUnknown_0858E68C =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x100E,
+ .oam = &gOamData_858E658,
+ .anims = gSpriteAnimTable_858E670,
+ .images = gUnknown_0858E674,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCB_SandPillar_0,
+};
+
+// This uses one of the secret base palettes, so there is no "field_effect_object_palette_09.pal" file.
+const struct SpritePalette gFieldEffectObjectPaletteInfo9 = {gTilesetPalettes_SecretBase[5], 0x100E};
+
+static const u8 gSpriteImage_858E6AC[] = INCBIN_U8("graphics/unknown/858E84C/0.4bpp");
+static const u8 gSpriteImage_858E72C[] = INCBIN_U8("graphics/unknown/858E84C/1.4bpp");
+static const u8 gSpriteImage_858E7AC[] = INCBIN_U8("graphics/unknown/858E84C/2.4bpp");
+static const u16 gUnknown_0858E82C[] = INCBIN_U16("graphics/unknown/unknown_58E82C.gbapal");
+
+static const struct SpriteFrameImage gUnknown_0858E84C[] =
+{
+ {gSpriteImage_858E6AC, sizeof(gSpriteImage_858E6AC)},
+ {gSpriteImage_858E72C, sizeof(gSpriteImage_858E72C)},
+ {gSpriteImage_858E7AC, sizeof(gSpriteImage_858E7AC)},
+};
+
+static const struct SpritePalette gUnknown_0858E864 = {gUnknown_0858E82C, 0x1000};
+
+static const union AnimCmd gSpriteAnim_858E86C[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_FRAME(2, 30),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd *const gSpriteAnimTable_858E87C[] =
+{
+ gSpriteAnim_858E86C,
+};
+
+static const struct SpriteTemplate gUnknown_0858E880 =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x1000,
+ .oam = &gEventObjectBaseOam_32x8,
+ .anims = gSpriteAnimTable_858E87C,
+ .images = gUnknown_0858E84C,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+void sub_80F9BCC(u16 a0, u16 a1, u8 a2)
+{
+ sub_80F9C44(sub_80F9C90, a0, a1, a2);
+}
+
+void sub_80F9BF4(u16 a0, u16 a1, u8 a2)
+{
+ sub_80F9C44(sub_80F9DFC, a0, a1, a2);
+}
+
+bool8 sub_80F9C1C(void)
+{
+ return FuncIsActiveTask(sub_80F9C90);
+}
+
+bool8 sub_80F9C30(void)
+{
+ return FuncIsActiveTask(sub_80F9DFC);
+}
+
+static void sub_80F9C44(void (*taskfunc) (u8), u16 a1, u16 a2, u8 a3)
+{
+ u8 taskId = CreateTask(taskfunc, a3);
+
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].data[1] = a1 == 0 ? 16 : a1;
+ gTasks[taskId].data[2] = a1 == 0 ? 20 : a1;
+ gTasks[taskId].func(taskId);
+}
+
+static void sub_80F9C90(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->data[0])
+ {
+ case 0:
+ task->data[3] = 0x78;
+ task->data[4] = 0x78;
+ task->data[5] = 0x50;
+ task->data[6] = 0x51;
+
+ SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON);
+ SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(task->data[3], task->data[4]));
+ SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(task->data[5], task->data[6]));
+ SetGpuReg(REG_OFFSET_WININ, 0x3F);
+ SetGpuReg(REG_OFFSET_WINOUT, 0);
+
+ break;
+ case 1:
+ task->data[7] = GetGpuReg(REG_OFFSET_BLDCNT);
+ task->data[8] = GetGpuReg(REG_OFFSET_BLDY);
+
+ SetGpuReg(REG_OFFSET_BLDCNT, 0xBF);
+ SetGpuReg(REG_OFFSET_BLDY, 0x10);
+
+ break;
+ case 2:
+ task->data[3] -= task->data[1];
+ task->data[4] += task->data[1];
+
+ if (task->data[3] < 1 || task->data[4] > 0xEF)
+ {
+ task->data[3] = 0;
+ task->data[4] = 0xF0;
+ SetGpuReg(REG_OFFSET_BLDY, 0);
+ SetGpuReg(REG_OFFSET_BLDCNT, task->data[7]);
+ BlendPalettes(0xFFFFFFFF, 0, 0);
+ gPlttBufferFaded[0] = 0;
+ }
+ SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(task->data[3], task->data[4]));
+
+ if (task->data[3] != 0)
+ return;
+ break;
+ case 3:
+ task->data[5] -= task->data[2];
+ task->data[6] += task->data[2];
+
+ if (task->data[5] < 1 || task->data[6] > 0x9F)
+ {
+ task->data[5] = 0;
+ task->data[6] = 0xA0;
+ ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON);
+ }
+ SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(task->data[5], task->data[6]));
+
+ if (task->data[5] != 0)
+ return;
+ break;
+ default:
+ SetGpuReg(REG_OFFSET_BLDCNT, task->data[7]);
+ DestroyTask(taskId);
+ return;
+ }
+ task->data[0]++;
+}
+
+static void sub_80F9DFC(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ int temp = task->data[0];
+
+ switch (temp)
+ {
+ case 0:
+ gPlttBufferFaded[0] = temp;
+ break;
+ case 1:
+ task->data[3] = 0;
+ task->data[4] = 0xF0;
+ task->data[5] = 0;
+ task->data[6] = 0xA0;
+
+ SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON);
+ SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(task->data[3], task->data[4]));
+ SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(task->data[5], task->data[6]));
+ SetGpuReg(REG_OFFSET_WININ, 0x3F);
+ SetGpuReg(REG_OFFSET_WINOUT, 0);
+ break;
+ case 2:
+ task->data[5] += task->data[2];
+ task->data[6] -= task->data[2];
+
+ if (task->data[5] > 0x4F || task->data[6] < 0x52)
+ {
+ task->data[5] = 0x50;
+ task->data[6] = 0x51;
+ SetGpuReg(REG_OFFSET_BLDCNT, 0xBF);
+ SetGpuReg(REG_OFFSET_BLDY, 0x10);
+ }
+ SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(task->data[5], task->data[6]));
+
+ if (task->data[5] != 0x50)
+ return;
+ break;
+ case 3:
+ task->data[3] += task->data[1];
+ task->data[4] -= task->data[1];
+
+ if (task->data[3] > 0x77 || task->data[4] < 0x79)
+ {
+ task->data[3] = 0x78;
+ task->data[4] = 0x78;
+ BlendPalettes(-1, 0x10, 0);
+ gPlttBufferFaded[0] = 0;
+ }
+ SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(task->data[3], task->data[4]));
+
+ if (task->data[3] != 0x78)
+ return;
+ break;
+ default:
+ ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON);
+ SetGpuReg(REG_OFFSET_BLDY, 0);
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ DestroyTask(taskId);
+ return;
+ }
+ task->data[0]++;
+}
+
+static void SetCurrentSecretBase(void)
+{
+ sub_80E9608(&gPlayerFacingPosition, gMapHeader.events);
+ sub_80E8B6C();
+}
+
+static void AdjustSecretPowerSpritePixelOffsets(void)
+{
+ if (gPlayerAvatar.flags & 0x6)
+ {
+ switch (gFieldEffectArguments[1])
+ {
+ case DIR_SOUTH:
+ gFieldEffectArguments[5] = 16;
+ gFieldEffectArguments[6] = 40;
+ break;
+ case DIR_NORTH:
+ gFieldEffectArguments[5] = 16;
+ gFieldEffectArguments[6] = 8;
+ break;
+ case DIR_WEST:
+ gFieldEffectArguments[5] = -8;
+ gFieldEffectArguments[6] = 24;
+ break;
+ case DIR_EAST:
+ gFieldEffectArguments[5] = 24;
+ gFieldEffectArguments[6] = 24;
+ break;
+ }
+ }
+ else
+ {
+ switch (gFieldEffectArguments[1])
+ {
+ case DIR_SOUTH:
+ gFieldEffectArguments[5] = 8;
+ gFieldEffectArguments[6] = 40;
+ break;
+ case DIR_NORTH:
+ gFieldEffectArguments[5] = 8;
+ gFieldEffectArguments[6] = 8;
+ break;
+ case DIR_WEST:
+ gFieldEffectArguments[5] = -8;
+ gFieldEffectArguments[6] = 24;
+ break;
+ case DIR_EAST:
+ gFieldEffectArguments[5] = 24;
+ gFieldEffectArguments[6] = 24;
+ break;
+ }
+ }
+}
+
+bool8 SetUpFieldMove_SecretPower(void)
+{
+ u8 mb;
+
+ sub_80E8BC8();
+
+ if (gSpecialVar_Result == 1 || GetPlayerFacingDirection() != DIR_NORTH)
+ return FALSE;
+
+ GetXYCoordsOneStepInFrontOfPlayer(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y);
+ mb = MapGridGetMetatileBehaviorAt(gPlayerFacingPosition.x, gPlayerFacingPosition.y);
+
+ if (MetatileBehavior_IsSecretBaseCave(mb) == TRUE)
+ {
+ SetCurrentSecretBase();
+ gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu;
+ gPostMenuFieldCallback = FieldCallback_SecretBaseCave;
+ return TRUE;
+ }
+
+ if (MetatileBehavior_IsSecretBaseTree(mb) == TRUE)
+ {
+ SetCurrentSecretBase();
+ gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu;
+ gPostMenuFieldCallback = FieldCallback_SecretBaseTree;
+ return TRUE;
+ }
+
+ if (MetatileBehavior_IsSecretBaseShrub(mb) == TRUE)
+ {
+ SetCurrentSecretBase();
+ gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu;
+ gPostMenuFieldCallback = FieldCallback_SecretBaseShrub;
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+static void FieldCallback_SecretBaseCave(void)
+{
+ gFieldEffectArguments[0] = GetCursorSelectionMonId();
+ ScriptContext1_SetupScript(EventScript_275A86);
+}
+
+bool8 FldEff_UseSecretPowerCave(void)
+{
+ u8 taskId = oei_task_add();
+
+ gTasks[taskId].data[8] = (u32)StartSecretBaseCaveFieldEffect >> 16;
+ gTasks[taskId].data[9] = (u32)StartSecretBaseCaveFieldEffect;
+
+ return FALSE;
+}
+
+static void StartSecretBaseCaveFieldEffect(void)
+{
+ FieldEffectActiveListRemove(FLDEFF_USE_SECRET_POWER_CAVE);
+ FieldEffectStart(FLDEFF_SECRET_POWER_CAVE);
+}
+
+bool8 FldEff_SecretPowerCave(void)
+{
+ AdjustSecretPowerSpritePixelOffsets();
+ CreateSprite(&gUnknown_0858E600,
+ gSprites[gPlayerAvatar.spriteId].oam.x + gFieldEffectArguments[5],
+ gSprites[gPlayerAvatar.spriteId].oam.y + gFieldEffectArguments[6],
+ 148);
+ return FALSE;
+}
+
+static void CaveEntranceSpriteCallback1(struct Sprite *sprite)
+{
+ PlaySE(SE_W088);
+
+ sprite->data[0] = 0;
+ sprite->callback = CaveEntranceSpriteCallback2;
+}
+
+static void CaveEntranceSpriteCallback2(struct Sprite *sprite)
+{
+ if (sprite->data[0] < 40)
+ {
+ sprite->data[0]++;
+
+ if (sprite->data[0] == 20)
+ sub_80E8D4C();
+ }
+ else
+ {
+ sprite->data[0] = 0;
+ sprite->callback = CaveEntranceSpriteCallbackEnd;
+ }
+}
+
+static void CaveEntranceSpriteCallbackEnd(struct Sprite *sprite)
+{
+ FieldEffectStop(sprite, FLDEFF_SECRET_POWER_CAVE);
+ EnableBothScriptContexts();
+}
+
+static void FieldCallback_SecretBaseTree(void)
+{
+ gFieldEffectArguments[0] = GetCursorSelectionMonId();
+ ScriptContext1_SetupScript(EventScript_275ADF);
+}
+
+bool8 FldEff_UseSecretPowerTree(void)
+{
+ u8 taskId = oei_task_add();
+
+ gTasks[taskId].data[8] = (u32)StartSecretBaseTreeFieldEffect >> 16;
+ gTasks[taskId].data[9] = (u32)StartSecretBaseTreeFieldEffect;
+
+ return FALSE;
+}
+
+static void StartSecretBaseTreeFieldEffect(void)
+{
+ FieldEffectActiveListRemove(FLDEFF_USE_SECRET_POWER_TREE);
+ FieldEffectStart(FLDEFF_SECRET_POWER_TREE);
+}
+
+bool8 FldEff_SecretPowerTree(void)
+{
+ s16 mb = MapGridGetMetatileBehaviorAt(gPlayerFacingPosition.x, gPlayerFacingPosition.y) & 0xFFF;
+
+ if (mb == MB_SECRET_BASE_SPOT_TREE_LEFT)
+ gFieldEffectArguments[7] = 0;
+
+ if (mb == MB_SECRET_BASE_SPOT_TREE_RIGHT)
+ gFieldEffectArguments[7] = 2;
+
+ AdjustSecretPowerSpritePixelOffsets();
+
+ CreateSprite(&gUnknown_0858E618,
+ gSprites[gPlayerAvatar.spriteId].oam.x + gFieldEffectArguments[5],
+ gSprites[gPlayerAvatar.spriteId].oam.y + gFieldEffectArguments[6],
+ 148);
+
+ if (gFieldEffectArguments[7] == 1 || gFieldEffectArguments[7] == 3)
+ sub_80E8D4C();
+
+ return FALSE;
+}
+
+static void TreeEntranceSpriteCallback1(struct Sprite *sprite)
+{
+ PlaySE(SE_W010);
+
+ sprite->animNum = gFieldEffectArguments[7];
+ sprite->data[0] = 0;
+ sprite->callback = TreeEntranceSpriteCallback2;
+}
+
+static void TreeEntranceSpriteCallback2(struct Sprite *sprite)
+{
+ sprite->data[0]++;
+
+ if (sprite->data[0] >= 40)
+ {
+ if (gFieldEffectArguments[7] == 0 || gFieldEffectArguments[7] == 2)
+ sub_80E8D4C();
+
+ sprite->data[0] = 0;
+ sprite->callback = TreeEntranceSpriteCallbackEnd;
+ }
+}
+
+static void TreeEntranceSpriteCallbackEnd(struct Sprite *sprite)
+{
+ FieldEffectStop(sprite, FLDEFF_SECRET_POWER_TREE);
+ EnableBothScriptContexts();
+}
+
+static void FieldCallback_SecretBaseShrub(void)
+{
+ gFieldEffectArguments[0] = GetCursorSelectionMonId();
+ ScriptContext1_SetupScript(EventScript_275B38);
+}
+
+bool8 FldEff_UseSecretPowerShrub(void)
+{
+ u8 taskId = oei_task_add();
+
+ gTasks[taskId].data[8] = (u32)StartSecretBaseShrubFieldEffect >> 16;
+ gTasks[taskId].data[9] = (u32)StartSecretBaseShrubFieldEffect;
+
+ return FALSE;
+}
+
+static void StartSecretBaseShrubFieldEffect(void)
+{
+ FieldEffectActiveListRemove(FLDEFF_USE_SECRET_POWER_SHRUB);
+ FieldEffectStart(FLDEFF_SECRET_POWER_SHRUB);
+}
+
+bool8 FldEff_SecretPowerShrub(void)
+{
+ AdjustSecretPowerSpritePixelOffsets();
+
+ CreateSprite(&gUnknown_0858E630,
+ gSprites[gPlayerAvatar.spriteId].oam.x + gFieldEffectArguments[5],
+ gSprites[gPlayerAvatar.spriteId].oam.y + gFieldEffectArguments[6],
+ 148);
+
+ return FALSE;
+}
+
+static void ShrubEntranceSpriteCallback1(struct Sprite *sprite)
+{
+ PlaySE(SE_W077);
+
+ sprite->data[0] = 0;
+ sprite->callback = ShrubEntranceSpriteCallback2;
+}
+
+static void ShrubEntranceSpriteCallback2(struct Sprite *sprite)
+{
+ if (sprite->data[0] < 40)
+ {
+ sprite->data[0]++;
+
+ if (sprite->data[0] == 20)
+ sub_80E8D4C();
+ }
+ else
+ {
+ sprite->data[0] = 0;
+ sprite->callback = ShrubEntranceSpriteCallbackEnd;
+ }
+}
+
+static void ShrubEntranceSpriteCallbackEnd(struct Sprite *sprite)
+{
+ FieldEffectStop(sprite, FLDEFF_SECRET_POWER_SHRUB);
+ EnableBothScriptContexts();
+}
+
+bool8 FldEff_SecretBasePCTurnOn(void)
+{
+ s16 x, y;
+ u8 taskId;
+
+ GetXYCoordsOneStepInFrontOfPlayer(&x, &y);
+
+ taskId = CreateTask(Task_SecretBasePCTurnOn, 0);
+ gTasks[taskId].data[0] = x;
+ gTasks[taskId].data[1] = y;
+ gTasks[taskId].data[2] = 0;
+
+ return FALSE;
+}
+
+static void Task_SecretBasePCTurnOn(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+
+ switch (data[2])
+ {
+ case 4:
+ case 12:
+ MapGridSetMetatileIdAt(data[0], data[1], 548);
+ CurrentMapDrawMetatileAt(data[0], data[1]);
+ break;
+ case 8:
+ case 16:
+ MapGridSetMetatileIdAt(data[0], data[1], 544);
+ CurrentMapDrawMetatileAt(data[0], data[1]);
+ break;
+ case 20:
+ MapGridSetMetatileIdAt(data[0], data[1], 548);
+ CurrentMapDrawMetatileAt(data[0], data[1]);
+ FieldEffectActiveListRemove(FLDEFF_PCTURN_ON);
+ EnableBothScriptContexts();
+ DestroyTask(taskId);
+ return;
+ }
+
+ data[2]++;
+}
+
+void DoSecretBasePCTurnOffEffect(void)
+{
+ s16 x, y;
+
+ GetXYCoordsOneStepInFrontOfPlayer(&x, &y);
+ PlaySE(SE_PC_OFF);
+
+ if (!VarGet(VAR_CURRENT_SECRET_BASE))
+ MapGridSetMetatileIdAt(x, y, 3616);
+ else
+ MapGridSetMetatileIdAt(x, y, 3617);
+
+ CurrentMapDrawMetatileAt(x, y);
+}
+
+void PopSecretBaseBalloon(s16 metatileId, s16 x, s16 y)
+{
+ u8 taskId = CreateTask(Task_PopSecretBaseBalloon, 0);
+
+ gTasks[taskId].data[0] = metatileId;
+ gTasks[taskId].data[1] = x;
+ gTasks[taskId].data[2] = y;
+ gTasks[taskId].data[3] = 0;
+ gTasks[taskId].data[4] = 1;
+}
+
+static void Task_PopSecretBaseBalloon(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+
+ if (data[3] == 6)
+ data[3] = 0;
+ else
+ data[3]++;
+
+ if (data[3] == 0)
+ {
+ if (data[4] == 2)
+ DoBalloonSoundEffect(data[0]);
+
+ MapGridSetMetatileIdAt(data[1], data[2], data[0] + data[4]);
+ CurrentMapDrawMetatileAt(data[1], data[2]);
+
+ if (data[4] == 3)
+ DestroyTask(taskId);
+ else
+ data[4]++;
+ }
+}
+
+static void DoBalloonSoundEffect(s16 metatileId)
+{
+ switch (metatileId)
+ {
+ case 824:
+ PlaySE(SE_FUUSEN1);
+ break;
+ case 828:
+ PlaySE(SE_FUUSEN2);
+ break;
+ case 832:
+ PlaySE(SE_FUUSEN3);
+ break;
+ case 552:
+ PlaySE(SE_TOY_DANGO);
+ break;
+ }
+}
+
+bool8 FldEff_NopA6FC(void)
+{
+ return FALSE;
+}
+
+bool8 FldEff_NopA700(void)
+{
+ return FALSE;
+}
+
+static void DoSecretBaseBreakableDoorEffect(s16 x, s16 y)
+{
+ PlaySE(SE_TOY_KABE);
+ MapGridSetMetatileIdAt(x, y, 630);
+ MapGridSetMetatileIdAt(x, y - 1, 622);
+ CurrentMapDrawMetatileAt(x, y);
+ CurrentMapDrawMetatileAt(x, y - 1);
+}
+
+static void Task_ShatterSecretBaseBreakableDoor(u8 taskId)
+{
+ if (gTasks[taskId].data[0] == 7)
+ {
+ DoSecretBaseBreakableDoorEffect(gTasks[taskId].data[1], gTasks[taskId].data[2]);
+ DestroyTask(taskId);
+ }
+ else
+ {
+ gTasks[taskId].data[0]++;
+ }
+}
+
+void ShatterSecretBaseBreakableDoor(s16 x, s16 y)
+{
+ u8 dir = GetPlayerFacingDirection();
+
+ if (dir == DIR_SOUTH)
+ {
+ DoSecretBaseBreakableDoorEffect(x, y);
+ }
+ else if (dir == DIR_NORTH)
+ {
+ u8 taskId = CreateTask(Task_ShatterSecretBaseBreakableDoor, 5);
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].data[1] = x;
+ gTasks[taskId].data[2] = y;
+ }
+}
+
+#define tMetatileID data[0]
+static void Task_SecretBaseMusicNoteMatSound(u8 taskId)
+{
+ if (gTasks[taskId].data[1] == 7)
+ {
+ switch (gTasks[taskId].tMetatileID)
+ {
+ case 632:
+ PlaySE(SE_TOY_C);
+ break;
+ case 633:
+ PlaySE(SE_TOY_D);
+ break;
+ case 634:
+ PlaySE(SE_TOY_E);
+ break;
+ case 635:
+ PlaySE(SE_TOY_F);
+ break;
+ case 636:
+ PlaySE(SE_TOY_G);
+ break;
+ case 637:
+ PlaySE(SE_TOY_A);
+ break;
+ case 638:
+ PlaySE(SE_TOY_B);
+ break;
+ case 691:
+ PlaySE(SE_TOY_C1);
+ break;
+ }
+
+ DestroyTask(taskId);
+ }
+ else
+ {
+ gTasks[taskId].data[1]++;
+ }
+}
+
+void PlaySecretBaseMusicNoteMatSound(s16 metatileId)
+{
+ u8 taskId = CreateTask(Task_SecretBaseMusicNoteMatSound, 5);
+
+ gTasks[taskId].tMetatileID = metatileId;
+ gTasks[taskId].data[1] = 0;
+}
+#undef tMetatileID
+
+static void SpriteCB_GlitterMatSparkle(struct Sprite *sprite)
+{
+ sprite->data[0]++;
+
+ if (sprite->data[0] == 8)
+ PlaySE(SE_W215);
+
+ if (sprite->data[0] >= 32)
+ DestroySprite(sprite);
+}
+
+void DoSecretBaseGlitterMatSparkle(void)
+{
+ s16 x = gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.x;
+ s16 y = gEventObjects[gPlayerAvatar.eventObjectId].currentCoords.y;
+ u8 spriteId;
+
+ sub_80930E0(&x, &y, 8, 4);
+
+ spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[22], x, y, 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].coordOffsetEnabled = TRUE;
+ gSprites[spriteId].oam.priority = 1;
+ gSprites[spriteId].oam.paletteNum = 5;
+ gSprites[spriteId].callback = SpriteCB_GlitterMatSparkle;
+ gSprites[spriteId].data[0] = 0;
+ }
+}
+
+bool8 FldEff_SandPillar(void)
+{
+ s16 x, y;
+
+ ScriptContext2_Enable();
+ GetXYCoordsOneStepInFrontOfPlayer(&x, &y);
+
+ gFieldEffectArguments[5] = x;
+ gFieldEffectArguments[6] = y;
+
+ switch (GetPlayerFacingDirection())
+ {
+ case DIR_SOUTH:
+ CreateSprite(&gUnknown_0858E68C,
+ gSprites[gPlayerAvatar.spriteId].oam.x + 8,
+ gSprites[gPlayerAvatar.spriteId].oam.y + 32,
+ 0);
+
+ break;
+
+ case DIR_NORTH:
+ CreateSprite(&gUnknown_0858E68C,
+ gSprites[gPlayerAvatar.spriteId].oam.x + 8,
+ gSprites[gPlayerAvatar.spriteId].oam.y,
+ 148);
+
+ break;
+
+ case DIR_WEST:
+ CreateSprite(&gUnknown_0858E68C,
+ gSprites[gPlayerAvatar.spriteId].oam.x - 8,
+ gSprites[gPlayerAvatar.spriteId].oam.y + 16,
+ 148);
+
+ break;
+
+ case DIR_EAST:
+ CreateSprite(&gUnknown_0858E68C,
+ gSprites[gPlayerAvatar.spriteId].oam.x + 24,
+ gSprites[gPlayerAvatar.spriteId].oam.y + 16,
+ 148);
+
+ break;
+ }
+
+ return FALSE;
+}
+
+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);
+ else
+ MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1, 644);
+
+ MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6], 522);
+ CurrentMapDrawMetatileAt(gFieldEffectArguments[5], gFieldEffectArguments[6] - 1);
+ CurrentMapDrawMetatileAt(gFieldEffectArguments[5], gFieldEffectArguments[6]);
+
+ sprite->data[0] = 0;
+ sprite->callback = SpriteCB_SandPillar_1;
+}
+
+static void SpriteCB_SandPillar_1(struct Sprite *sprite)
+{
+ if (sprite->data[0] < 18)
+ {
+ sprite->data[0]++;
+ }
+ else
+ {
+ MapGridSetMetatileIdAt(gFieldEffectArguments[5], gFieldEffectArguments[6], 3724);
+ CurrentMapDrawMetatileAt(gFieldEffectArguments[5], gFieldEffectArguments[6]);
+ sprite->data[0] = 0;
+ sprite->callback = SpriteCB_SandPillar_2;
+ }
+}
+
+static void SpriteCB_SandPillar_2(struct Sprite *sprite)
+{
+ FieldEffectStop(sprite, FLDEFF_SAND_PILLAR);
+ EnableBothScriptContexts();
+}
+
+void GetShieldToyTVDecorationInfo(void)
+{
+ s16 x, y;
+ s32 metatileId;
+
+ GetXYCoordsOneStepInFrontOfPlayer(&x, &y);
+
+ metatileId = MapGridGetMetatileIdAt(x, y);
+
+ switch (metatileId)
+ {
+ case 822:
+ ConvertIntToDecimalStringN(gStringVar1, 100, STR_CONV_MODE_LEFT_ALIGN, 3);
+ StringCopy(gStringVar2, gText_Gold);
+
+ gSpecialVar_Result = 0;
+
+ if (!VarGet(VAR_CURRENT_SECRET_BASE))
+ return;
+
+ VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) | 0x10);
+ break;
+ case 734:
+ ConvertIntToDecimalStringN(gStringVar1, 50, STR_CONV_MODE_LEFT_ALIGN, 2);
+ StringCopy(gStringVar2, gText_Silver);
+
+ gSpecialVar_Result = 0;
+
+ if (!VarGet(VAR_CURRENT_SECRET_BASE))
+ return;
+
+ VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) | 0x20);
+ break;
+ case 756:
+ gSpecialVar_Result = 1;
+
+ if (!VarGet(VAR_CURRENT_SECRET_BASE))
+ return;
+
+ VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) | 0x80);
+ break;
+ case 757:
+ gSpecialVar_Result = 2;
+
+ if (!VarGet(VAR_CURRENT_SECRET_BASE))
+ return;
+
+ VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) | 0x80);
+ break;
+ case 758:
+ gSpecialVar_Result = 3;
+
+ if (!VarGet(VAR_CURRENT_SECRET_BASE))
+ return;
+
+ VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) | 0x80);
+ break;
+ }
+}
+
+bool8 sub_80FADE4(u16 arg0, u8 arg1)
+{
+ if (!CurrentMapIsSecretBase())
+ return FALSE;
+
+ if (!arg1)
+ {
+ if (arg0 == 0x285 || arg0 == 0x286)
+ return TRUE;
+ if (arg0 == 0x237)
+ return TRUE;
+ }
+ else
+ {
+ if (arg0 == 0x28d)
+ return TRUE;
+ if (arg0 == 0x23F)
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+static void Task_FieldPoisonEffect(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+
+ switch (data[0])
+ {
+ case 0:
+ data[1] += 2;
+ if (data[1] > 8)
+ data[0]++;
+ break;
+ case 1:
+ data[1] -= 2;
+ if (data[1] == 0)
+ data[0]++;
+ break;
+ case 2:
+ DestroyTask(taskId);
+ return;
+ }
+ SetGpuReg(REG_OFFSET_MOSAIC, (data[1] << 4) | data[1]);
+}
+
+void FldEffPoison_Start(void)
+{
+ PlaySE(SE_DOKU);
+ CreateTask(Task_FieldPoisonEffect, 80);
+}
+
+bool32 FldEffPoison_IsActive(void)
+{
+ return FuncIsActiveTask(Task_FieldPoisonEffect);
+}
+
+static void Task_WateringBerryTreeAnim_0(u8 taskId)
+{
+ gTasks[taskId].func = Task_WateringBerryTreeAnim_1;
+}
+
+static void Task_WateringBerryTreeAnim_1(u8 taskId)
+{
+ struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
+
+ if (!EventObjectIsMovementOverridden(playerEventObj)
+ || EventObjectClearHeldMovementIfFinished(playerEventObj))
+ {
+ sub_808C228(GetPlayerFacingDirection());
+ EventObjectSetHeldMovement(playerEventObj, GetWalkInPlaceNormalMovementAction(GetPlayerFacingDirection()));
+ gTasks[taskId].func = Task_WateringBerryTreeAnim_2;
+ }
+}
+
+static void Task_WateringBerryTreeAnim_2(u8 taskId)
+{
+ struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId];
+
+ if (EventObjectClearHeldMovementIfFinished(playerEventObj))
+ {
+ s16 value = gTasks[taskId].data[1]++;
+
+ if (value < 10)
+ EventObjectSetHeldMovement(playerEventObj, GetWalkInPlaceNormalMovementAction(GetPlayerFacingDirection()));
+
+ else
+ gTasks[taskId].func = Task_WateringBerryTreeAnim_3;
+ }
+}
+
+static void Task_WateringBerryTreeAnim_3(u8 taskId)
+{
+ SetPlayerAvatarTransitionFlags(sub_808BCD0());
+ DestroyTask(taskId);
+ EnableBothScriptContexts();
+}
+
+void DoWateringBerryTreeAnim(void)
+{
+ CreateTask(Task_WateringBerryTreeAnim_0, 80);
+}
+
+u8 CreateRecordMixingSprite(void)
+{
+ u8 spriteId;
+
+ LoadSpritePalette(&gUnknown_0858E864);
+
+ spriteId = CreateSprite(&gUnknown_0858E880, 0, 0, 82);
+
+ if (spriteId == MAX_SPRITES)
+ {
+ return MAX_SPRITES;
+ }
+ else
+ {
+ struct Sprite *sprite = &gSprites[spriteId];
+ sub_8092FF0(16, 13, &sprite->pos1.x, &sprite->pos1.y);
+ sprite->coordOffsetEnabled = TRUE;
+ sprite->pos1.x += 16;
+ sprite->pos1.y += 2;
+ }
+ return spriteId;
+}
+
+void DestroyRecordMixingSprite(void)
+{
+ int i;
+
+ for (i = 0; i < MAX_SPRITES; i++)
+ {
+ if (gSprites[i].template == &gUnknown_0858E880)
+ {
+ FreeSpritePalette(&gSprites[i]);
+ DestroySprite(&gSprites[i]);
+ }
+ }
+}
diff --git a/src/rom6.c b/src/fldeff_rocksmash.c
index 8043730d2..9181b5532 100644
--- a/src/rom6.c
+++ b/src/fldeff_rocksmash.c
@@ -5,10 +5,10 @@
#include "event_scripts.h"
#include "field_effect.h"
#include "field_player_avatar.h"
+#include "fldeff.h"
#include "item_use.h"
#include "overworld.h"
#include "party_menu.h"
-#include "rom6.h"
#include "script.h"
#include "sound.h"
#include "sprite.h"
@@ -26,8 +26,6 @@ static void sub_813552C(u8 taskId);
static void sub_813561C(u8 taskId);
static void sub_81356C4(void);
static void sub_8135714(void);
-static void hm2_dig(void);
-static void sub_8135780(void);
// extern RAM loc
extern struct MapPosition gPlayerFacingPosition;
@@ -162,51 +160,3 @@ static void sub_8135714(void)
FieldEffectActiveListRemove(FLDEFF_USE_ROCK_SMASH);
EnableBothScriptContexts();
}
-
-bool8 SetUpFieldMove_Dig(void)
-{
- if (CanUseEscapeRopeOnCurrMap() == TRUE)
- {
- gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu;
- gPostMenuFieldCallback = hm2_dig;
- return TRUE;
- }
- else
- {
- return FALSE;
- }
-}
-
-static void hm2_dig(void)
-{
- Overworld_ResetStateAfterDigEscRope();
- FieldEffectStart(FLDEFF_USE_DIG);
- gFieldEffectArguments[0] = GetCursorSelectionMonId();
-}
-
-bool8 FldEff_UseDig(void)
-{
- u8 taskId = oei_task_add();
-
- gTasks[taskId].data[8] = (u32)sub_8135780 >> 16;
- gTasks[taskId].data[9] = (u32)sub_8135780;
- if (!ShouldDoBrailleDigEffect())
- SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT);
- return FALSE;
-}
-
-static void sub_8135780(void)
-{
- u8 taskId;
-
- FieldEffectActiveListRemove(FLDEFF_USE_DIG);
- if (ShouldDoBrailleDigEffect())
- {
- DoBrailleDigEffect();
- }
- else
- {
- taskId = CreateTask(task08_080A1C44, 8);
- gTasks[taskId].data[0] = 0;
- }
-}
diff --git a/src/fldeff_softboiled.c b/src/fldeff_softboiled.c
index 471a83c61..adec780b3 100644
--- a/src/fldeff_softboiled.c
+++ b/src/fldeff_softboiled.c
@@ -103,7 +103,7 @@ static void sub_8161784(u8 taskId)
static void sub_81617B8(u8 taskId)
{
PlaySE(SE_SELECT);
- sub_81B1B5C(&gText_CantBeUsedOnPkmn, 0);
+ sub_81B1B5C(gText_CantBeUsedOnPkmn, 0);
schedule_bg_copy_tilemap_to_vram(2);
gTasks[taskId].func = sub_8161784;
}
diff --git a/src/fldeff_strength.c b/src/fldeff_strength.c
index f796ecea6..c57ab8cdc 100644
--- a/src/fldeff_strength.c
+++ b/src/fldeff_strength.c
@@ -2,8 +2,8 @@
#include "event_data.h"
#include "event_scripts.h"
#include "field_effect.h"
+#include "fldeff.h"
#include "party_menu.h"
-#include "rom6.h"
#include "script.h"
#include "string_util.h"
#include "task.h"
diff --git a/src/fldeff_sweetscent.c b/src/fldeff_sweetscent.c
index cd8fa400d..2363e8162 100644
--- a/src/fldeff_sweetscent.c
+++ b/src/fldeff_sweetscent.c
@@ -5,9 +5,9 @@
#include "field_player_avatar.h"
#include "field_screen_effect.h"
#include "field_weather.h"
+#include "fldeff.h"
#include "palette.h"
#include "party_menu.h"
-#include "rom6.h"
#include "script.h"
#include "sound.h"
#include "sprite.h"
@@ -21,8 +21,6 @@ static void FieldCallback_SweetScent(void);
static void StartSweetScentFieldEffect(void);
static void TrySweetScentEncounter(u8 taskId);
static void FailSweetScentEncounter(u8 taskId);
-void sub_81BE6B8(void);
-void sub_81BE72C(void);
bool8 SetUpFieldMove_SweetScent(void)
{
diff --git a/src/fldeff_teleport.c b/src/fldeff_teleport.c
index 8562908bd..cbf8ee6cc 100644
--- a/src/fldeff_teleport.c
+++ b/src/fldeff_teleport.c
@@ -1,9 +1,9 @@
#include "global.h"
#include "field_effect.h"
#include "field_player_avatar.h"
+#include "fldeff.h"
#include "party_menu.h"
#include "overworld.h"
-#include "rom6.h"
#include "task.h"
#include "constants/field_effects.h"
diff --git a/src/ghost.c b/src/ghost.c
index d4f6512a8..a755783b7 100644
--- a/src/ghost.c
+++ b/src/ghost.c
@@ -217,7 +217,7 @@ const struct SpriteTemplate gUnknown_08596E48 =
static void sub_811160C(struct Sprite *sprite)
{
- InitAnimSpritePos(sprite, 1);
+ InitSpritePosToAnimAttacker(sprite, 1);
sprite->data[0] = gBattleAnimArgs[2];
sprite->data[1] = sprite->pos1.x;
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
@@ -235,7 +235,7 @@ static void sub_8111674(struct Sprite *sprite)
s16 r0;
s16 r2;
sub_8111764(sprite);
- if (TranslateAnimLinear(sprite))
+ if (AnimTranslateLinear(sprite))
{
sprite->callback = sub_81116E8;
return;
@@ -258,7 +258,7 @@ static void sub_81116E8(struct Sprite *sprite)
s16 r2;
s16 r0;
sprite->data[0] = 1;
- TranslateAnimLinear(sprite);
+ AnimTranslateLinear(sprite);
sprite->pos2.x += Sin(sprite->data[5], 10);
sprite->pos2.y += Cos(sprite->data[5], 15);
@@ -313,7 +313,7 @@ static void sub_8111764(struct Sprite *sprite)
static void sub_81117F4(struct Sprite *sprite)
{
- sub_80A6980(sprite, TRUE);
+ InitSpritePosToAnimTarget(sprite, TRUE);
sprite->callback = sub_8111814;
sprite->callback(sprite);
}
@@ -461,7 +461,7 @@ static void AnimShadowBallStep(struct Sprite *sprite)
static void sub_8111B9C(struct Sprite *sprite)
{
- sub_80A6980(sprite, TRUE);
+ InitSpritePosToAnimTarget(sprite, TRUE);
sprite->callback = sub_8111BB4;
}
@@ -536,7 +536,7 @@ void sub_8111C50(u8 taskId)
gSprites[task->data[0]].data[3] = 0;
gSprites[task->data[0]].data[4] = 0;
StoreSpriteCallbackInData6(&gSprites[task->data[0]], SpriteCallbackDummy);
- gSprites[task->data[0]].callback = TranslateAnimLinearSimple;
+ gSprites[task->data[0]].callback = AnimTranslateLinearSimple;
task->func = sub_8111D78;
}
@@ -590,7 +590,7 @@ static void sub_8111E78(u8 taskId)
{
s16 startLine;
struct Task *task = &gTasks[taskId];
- u8 position = sub_80A8364(gBattleAnimTarget);
+ u8 position = GetBattlerSpriteBGPriorityRank(gBattleAnimTarget);
switch (task->data[15])
{
@@ -698,7 +698,7 @@ static void sub_81120DC(u8 taskId)
static void sub_8112170(u8 taskId)
{
struct Task *task = &gTasks[taskId];
- u8 position = sub_80A8364(gBattleAnimTarget);
+ u8 position = GetBattlerSpriteBGPriorityRank(gBattleAnimTarget);
switch (task->data[15])
{
@@ -1026,7 +1026,7 @@ static void sub_81129F0(struct Sprite *sprite)
s16 xDelta;
s16 xDelta2;
- InitAnimSpritePos(sprite, 1);
+ InitSpritePosToAnimAttacker(sprite, 1);
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
{
xDelta = 24;
@@ -1170,7 +1170,7 @@ void sub_8112C6C(u8 taskId)
task->data[10] = GetBattlerYCoordWithElevation(gBattleAnimAttacker);
task->data[11] = (sub_80A861C(gBattleAnimAttacker, 1) / 2) + 8;
task->data[7] = 0;
- task->data[5] = sub_80A8328(gBattleAnimAttacker);
+ task->data[5] = GetBattlerSpriteBGPriority(gBattleAnimAttacker);
task->data[6] = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 2;
task->data[3] = 0;
task->data[4] = 16;
diff --git a/src/gpu_regs.c b/src/gpu_regs.c
index 2d48b304a..e5ff4fe8f 100644
--- a/src/gpu_regs.c
+++ b/src/gpu_regs.c
@@ -72,16 +72,20 @@ void SetGpuReg(u8 regOffset, u16 value)
GPU_REG_BUF(regOffset) = value;
vcount = REG_VCOUNT & 0xFF;
- if ((vcount >= 161 && vcount <= 225)
- || (REG_DISPCNT & DISPCNT_FORCED_BLANK)) {
+ if ((vcount >= 161 && vcount <= 225) || (REG_DISPCNT & DISPCNT_FORCED_BLANK))
+ {
CopyBufferedValueToGpuReg(regOffset);
- } else {
+ }
+ else
+ {
s32 i;
sGpuRegBufferLocked = TRUE;
- for (i = 0; i < GPU_REG_BUF_SIZE && sGpuRegWaitingList[i] != EMPTY_SLOT; i++) {
- if (sGpuRegWaitingList[i] == regOffset) {
+ for (i = 0; i < GPU_REG_BUF_SIZE && sGpuRegWaitingList[i] != EMPTY_SLOT; i++)
+ {
+ if (sGpuRegWaitingList[i] == regOffset)
+ {
sGpuRegBufferLocked = FALSE;
return;
}
@@ -99,15 +103,20 @@ void SetGpuReg_ForcedBlank(u8 regOffset, u16 value)
{
GPU_REG_BUF(regOffset) = value;
- if (REG_DISPCNT & DISPCNT_FORCED_BLANK) {
+ if (REG_DISPCNT & DISPCNT_FORCED_BLANK)
+ {
CopyBufferedValueToGpuReg(regOffset);
- } else {
+ }
+ else
+ {
s32 i;
sGpuRegBufferLocked = TRUE;
- for (i = 0; i < GPU_REG_BUF_SIZE && sGpuRegWaitingList[i] != EMPTY_SLOT; i++) {
- if (sGpuRegWaitingList[i] == regOffset) {
+ for (i = 0; i < GPU_REG_BUF_SIZE && sGpuRegWaitingList[i] != EMPTY_SLOT; i++)
+ {
+ if (sGpuRegWaitingList[i] == regOffset)
+ {
sGpuRegBufferLocked = FALSE;
return;
}
@@ -144,7 +153,8 @@ void ClearGpuRegBits(u8 regOffset, u16 mask)
static void SyncRegIE(void)
{
- if (sShouldSyncRegIE) {
+ if (sShouldSyncRegIE)
+ {
u16 temp = REG_IME;
REG_IME = 0;
REG_IE = sRegIE;
diff --git a/src/ground.c b/src/ground.c
index 77acd3919..807205ad8 100644
--- a/src/ground.c
+++ b/src/ground.c
@@ -183,7 +183,7 @@ static void AnimBonemerangProjectileEnd(struct Sprite *sprite)
// arg 4: duration
void AnimBoneHitProjectile(struct Sprite *sprite)
{
- sub_80A6980(sprite, TRUE);
+ InitSpritePosToAnimTarget(sprite, TRUE);
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
@@ -205,7 +205,7 @@ void AnimDirtScatter(struct Sprite *sprite)
u8 targetXPos, targetYPos;
s16 xOffset, yOffset;
- InitAnimSpritePos(sprite, 1);
+ InitSpritePosToAnimAttacker(sprite, 1);
targetXPos = GetBattlerSpriteCoord2(gBattleAnimTarget, 2);
targetYPos = GetBattlerSpriteCoord2(gBattleAnimTarget, 3);
@@ -306,7 +306,7 @@ static void sub_8114CFC(u8 taskId)
{
case 0:
task->data[10] = GetAnimBattlerSpriteId(0);
- task->data[11] = sub_80A8364(gBattleAnimAttacker);
+ task->data[11] = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker);
if (task->data[11] == 1)
{
task->data[12] = gBattle_BG1_X;
@@ -375,7 +375,7 @@ static void sub_8114EB4(u8 taskId)
gSprites[spriteId].pos2.x = 0;
gSprites[spriteId].pos2.y = 0;
- if (sub_80A8364(gBattleAnimAttacker) == 1)
+ if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == 1)
gBattle_BG1_Y = 0;
else
gBattle_BG2_Y = 0;
@@ -422,7 +422,7 @@ static void sub_8114FD8(u8 taskId)
{
case 0:
task->data[10] = GetAnimBattlerSpriteId(0);
- task->data[11] = sub_80A8364(gBattleAnimAttacker);
+ task->data[11] = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker);
if (task->data[11] == 1)
task->data[12] = gBattle_BG1_X;
else
diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c
index f7792e935..b973798f6 100644
--- a/src/hall_of_fame.c
+++ b/src/hall_of_fame.c
@@ -14,7 +14,9 @@
#include "constants/songs.h"
#include "decompress.h"
#include "save.h"
+#include "strings.h"
#include "window.h"
+#include "credits.h"
#include "bg.h"
#include "constants/species.h"
#include "constants/game_stat.h"
@@ -28,6 +30,7 @@
#include "event_data.h"
#include "overworld.h"
#include "menu.h"
+#include "fldeff_misc.h"
#include "trainer_pokemon_sprites.h"
#include "data2.h"
#include "rom_81520A8.h"
@@ -59,37 +62,11 @@ static EWRAM_DATA u32 sUnknown_0203BCD4 = 0;
static EWRAM_DATA struct HallofFameTeam *sHofMonPtr = NULL;
static EWRAM_DATA struct HofGfx *sHofGfxPtr = NULL;
-extern bool8 gHasHallOfFameRecords;
extern struct MusicPlayerInfo gMPlayInfo_BGM;
#define HALL_OF_FAME_MAX_TEAMS 50
-// strings
-extern const u8 gText_SavingDontTurnOffPower[];
-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_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 void sub_8175620(void);
-extern bool8 sub_80F9C30(void);
-extern void sub_8198314(void);
extern void ReturnFromHallOfFamePC(void);
-extern void sub_8198180(const u8 *src, u8, u8);
-extern void sub_80F9BF4(u16, u16, u8);
-extern void sub_81980F0(u8, u8, u8, u8, u16);
-extern void sub_80F9BCC(u16, u16, u8);
-extern bool8 sub_80F9C1C(void);
-extern void sub_81971D0(void);
-extern void sub_8197200(void);
// this file's functions
static void ClearVramOamPltt_LoadHofPal(void);
@@ -1088,7 +1065,7 @@ static void Task_HofPC_HandleExit(u8 taskId)
static void Task_HofPC_PrintDataIsCorrupted(u8 taskId)
{
- sub_8198180(gText_UnkCtrlF800Exit, 8, 1);
+ sub_8198180(gText_UnkCtrlF800Exit, 8, TRUE);
NewMenuHelpers_DrawDialogueFrame(0, 0);
AddTextPrinterParameterized2(0, 1, gText_HOFCorrupted, 0, NULL, 2, 1, 3);
CopyWindowToVram(0, 3);
@@ -1283,8 +1260,8 @@ static void sub_8174F70(void)
ResetAllPicSprites();
FreeAllSpritePalettes();
gReservedSpritePaletteCount = 8;
- LoadCompressedObjectPic(sHallOfFame_ConfettiSpriteSheet);
- LoadCompressedObjectPalette(sHallOfFame_ConfettiSpritePalette);
+ LoadCompressedSpriteSheet(sHallOfFame_ConfettiSpriteSheet);
+ LoadCompressedSpritePalette(sHallOfFame_ConfettiSpritePalette);
}
static void sub_8174FAC(void)
@@ -1475,8 +1452,8 @@ static void sub_8175364(u8 taskId)
gSpecialVar_0x8004 = var;
gSpecialVar_0x8005 = 0xFFFF;
}
- LoadCompressedObjectPic(sHallOfFame_ConfettiSpriteSheet);
- LoadCompressedObjectPalette(sHallOfFame_ConfettiSpritePalette);
+ LoadCompressedSpriteSheet(sHallOfFame_ConfettiSpriteSheet);
+ LoadCompressedSpritePalette(sHallOfFame_ConfettiSpritePalette);
data[0]++;
break;
case 1:
diff --git a/src/ice.c b/src/ice.c
index ebd0d3cf6..05ca630d5 100644
--- a/src/ice.c
+++ b/src/ice.c
@@ -1,21 +1,54 @@
#include "global.h"
#include "battle_anim.h"
+#include "bg.h"
+#include "field_weather.h"
+#include "gpu_regs.h"
+#include "graphics.h"
+#include "main.h"
+#include "palette.h"
+#include "random.h"
+#include "sprite.h"
+#include "task.h"
+#include "trig.h"
+#include "constants/battle_anim.h"
#include "constants/rgb.h"
-extern void sub_810B6C4(struct Sprite *);
-extern void sub_810B8AC(struct Sprite *);
-extern void sub_810B8EC(struct Sprite *);
-extern void sub_810B974(struct Sprite *);
-extern void sub_810BA24(struct Sprite *);
-extern void sub_810BC94(struct Sprite *);
-extern void sub_810BE48(struct Sprite *);
-extern void sub_810BED0(struct Sprite *);
-extern void sub_810C2F0(struct Sprite *);
-extern void sub_810C560(struct Sprite *);
-extern void sub_810CB58(struct Sprite *);
+struct HailStruct {
+ s32 unk0:10;
+ s32 unk1:10;
+ s32 unk2:8;
+ s32 unk3:4;
+};
+
+static void sub_810B6C4(struct Sprite *);
+extern void sub_810B848(struct Sprite *);
+extern void AnimIcePunchSwirlingParticle(struct Sprite *);
+extern void AnimIceBeamParticle(struct Sprite *);
+extern void AnimIceEffectParticle(struct Sprite *);
+extern void AnimFlickerIceEffectParticle(struct Sprite *);
+extern void AnimSwirlingSnowball_Step1(struct Sprite *);
+extern void AnimSwirlingSnowball_Step2(struct Sprite *);
+extern void AnimSwirlingSnowball_Step3(struct Sprite *);
+extern void AnimSwirlingSnowball_End(struct Sprite *);
+extern void AnimMoveParticleBeyondTarget(struct Sprite *);
+extern void AnimWiggleParticleTowardsTarget(struct Sprite *);
+extern void AnimWaveFromCenterOfTarget(struct Sprite *);
+extern void InitSwirlingFogAnim(struct Sprite *);
+extern void AnimSwirlingFogAnim(struct Sprite *);
+extern void AnimThrowMistBall(struct Sprite *);
+extern void InitPoisonGasCloudAnim(struct Sprite *);
+extern void MovePoisonGasCloud(struct Sprite *);
+extern void AnimHailBegin(struct Sprite *);
+extern void AnimHailContinue(struct Sprite *);
extern void sub_80A8EE4(struct Sprite *);
-extern void unc_080B06FC(struct Sprite *);
-extern void sub_810CD4C(struct Sprite *);
+extern void InitIceBallAnim(struct Sprite *);
+extern void AnimThrowIceBall(struct Sprite *);
+extern void InitIceBallParticle(struct Sprite *);
+extern void AnimIceBallParticle(struct Sprite *);
+void AnimTask_Haze2(u8);
+void AnimTask_OverlayFogTiles(u8);
+void AnimTask_Hail2(u8);
+bool8 GenerateHailParticle(u8, u8, u8, u8);
const union AnimCmd gUnknown_08595A48[] =
{
@@ -127,7 +160,7 @@ const struct SpriteTemplate gUnknown_08595AD0 =
.anims = gUnknown_08595AA8,
.images = NULL,
.affineAnims = gUnknown_08595ACC,
- .callback = sub_810B8AC,
+ .callback = AnimIcePunchSwirlingParticle,
};
const struct SpriteTemplate gUnknown_08595AE8 =
@@ -138,7 +171,7 @@ const struct SpriteTemplate gUnknown_08595AE8 =
.anims = gUnknown_08595AAC,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_810B8AC,
+ .callback = AnimIcePunchSwirlingParticle,
};
const union AffineAnimCmd gUnknown_08595B00[] =
@@ -160,7 +193,7 @@ const struct SpriteTemplate gUnknown_08595B14 =
.anims = gUnknown_08595AA8,
.images = NULL,
.affineAnims = gUnknown_08595B10,
- .callback = sub_810B8EC,
+ .callback = AnimIceBeamParticle,
};
const struct SpriteTemplate gUnknown_08595B2C =
@@ -171,7 +204,7 @@ const struct SpriteTemplate gUnknown_08595B2C =
.anims = gUnknown_08595AAC,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_810B8EC,
+ .callback = AnimIceBeamParticle,
};
const union AffineAnimCmd gUnknown_08595B44[] =
@@ -195,7 +228,7 @@ const struct SpriteTemplate gUnknown_08595B68 =
.anims = gUnknown_08595AA8,
.images = NULL,
.affineAnims = gUnknown_08595B64,
- .callback = sub_810B974,
+ .callback = AnimIceEffectParticle,
};
const struct SpriteTemplate gUnknown_08595B80 =
@@ -206,7 +239,7 @@ const struct SpriteTemplate gUnknown_08595B80 =
.anims = gUnknown_08595AAC,
.images = NULL,
.affineAnims = gUnknown_08595B64,
- .callback = sub_810B974,
+ .callback = AnimIceEffectParticle,
};
const struct SpriteTemplate gUnknown_08595B98 =
@@ -217,7 +250,7 @@ const struct SpriteTemplate gUnknown_08595B98 =
.anims = gUnknown_08595AB0,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_810BA24,
+ .callback = AnimSwirlingSnowball_Step1,
};
const struct SpriteTemplate gUnknown_08595BB0 =
@@ -228,7 +261,7 @@ const struct SpriteTemplate gUnknown_08595BB0 =
.anims = gUnknown_08595AB4,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_810BC94,
+ .callback = AnimMoveParticleBeyondTarget,
};
const struct SpriteTemplate gUnknown_08595BC8 =
@@ -239,7 +272,7 @@ const struct SpriteTemplate gUnknown_08595BC8 =
.anims = gUnknown_08595AB0,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_810BC94,
+ .callback = AnimMoveParticleBeyondTarget,
};
const union AnimCmd gUnknown_08595BE0[] =
@@ -267,7 +300,7 @@ const struct SpriteTemplate gUnknown_08595C04 =
.anims = gUnknown_08595C00,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_810BE48,
+ .callback = AnimWaveFromCenterOfTarget,
};
const union AnimCmd gUnknown_08595C1C[] =
@@ -290,7 +323,7 @@ const struct SpriteTemplate gUnknown_08595C2C =
.anims = gUnknown_08595C28,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_810BED0,
+ .callback = InitSwirlingFogAnim,
};
const struct SpriteTemplate gUnknown_08595C44 =
@@ -301,7 +334,7 @@ const struct SpriteTemplate gUnknown_08595C44 =
.anims = gUnknown_08595C28,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_810BED0,
+ .callback = InitSwirlingFogAnim,
};
const u8 gUnknown_08595C5C[] =
@@ -317,7 +350,7 @@ const struct SpriteTemplate gUnknown_08595C70 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_810C2F0,
+ .callback = AnimThrowMistBall,
};
const u8 gUnknown_08595C88[] =
@@ -333,21 +366,21 @@ const struct SpriteTemplate gUnknown_08595C9C =
.anims = gUnknown_08595C28,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_810C560,
+ .callback = InitPoisonGasCloudAnim,
};
-const u8 gUnknown_08595CB4[][4] =
+const struct HailStruct gUnknown_08595CB4[] =
{
- {0x64, 0xE0, 0x01, 0x20},
- {0x55, 0xE0, 0x01, 0x00},
- {0xF2, 0xE0, 0x11, 0x10},
- {0x42, 0xE0, 0x21, 0x10},
- {0xB6, 0xE0, 0x31, 0x00},
- {0x3C, 0xE0, 0x01, 0x20},
- {0xD6, 0xE0, 0x11, 0x00},
- {0x71, 0xE0, 0x01, 0x10},
- {0xD2, 0xE0, 0x31, 0x10},
- {0x26, 0xE0, 0x21, 0x00},
+ {100, 120, 0, 2},
+ {85, 120, 0, 0},
+ {242, 120, 1, 1},
+ {66, 120, 2, 1},
+ {182, 120, 3, 0},
+ {60, 120, 0, 2},
+ {214, 120, 1, 0},
+ {113, 120, 0, 1},
+ {210, 120, 3, 1},
+ {38, 120, 2, 0},
};
const union AffineAnimCmd gUnknown_08595CDC[] =
@@ -394,7 +427,7 @@ const struct SpriteTemplate gUnknown_08595D2C =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08595D1C,
- .callback = sub_810CB58,
+ .callback = AnimHailBegin,
};
const struct SpriteTemplate gUnknown_08595D44 =
@@ -476,7 +509,7 @@ const struct SpriteTemplate gUnknown_08595DE4 =
.anims = gUnknown_08595D78,
.images = NULL,
.affineAnims = gUnknown_08595DD0,
- .callback = unc_080B06FC,
+ .callback = InitIceBallAnim,
};
const struct SpriteTemplate gUnknown_08595DFC =
@@ -487,5 +520,1421 @@ const struct SpriteTemplate gUnknown_08595DFC =
.anims = gUnknown_08595AAC,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_810CD4C,
+ .callback = InitIceBallParticle,
};
+
+
+// probably unused
+#ifdef NONMATCHING
+static void sub_810B6C4(struct Sprite *sprite)
+{
+ s16 targetX, targetY, attackerX, attackerY;
+ s16 i;
+
+ sprite->oam.tileNum += 7;
+ targetX = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ targetY = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ attackerX = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
+ attackerY = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->data[0] = gBattleAnimArgs[4];
+ sprite->data[1] = gBattleAnimArgs[0] + attackerX;
+ sprite->data[2] = gBattleAnimArgs[2] + targetX;
+ sprite->data[3] = gBattleAnimArgs[1] + attackerY;
+ sprite->data[4] = gBattleAnimArgs[3] + targetY;
+ sub_80A64EC(sprite);
+ while ((targetX >= -32 && targetX <= 272) && (targetY >= -32 && targetY <= 192))
+ {
+ targetX += sprite->data[1];
+ targetY += sprite->data[2];
+ }
+ sprite->data[1] = -sprite->data[1];
+ sprite->data[2] = -sprite->data[2];
+ while ((attackerX >= -32 && attackerX <= 272) && (attackerY >= -32 && attackerY <= 192))
+ {
+ attackerX += sprite->data[1];
+ attackerY += sprite->data[2];
+ }
+ sprite->pos1.x = attackerX;
+ sprite->pos1.y = attackerY;
+ sprite->data[0] = gBattleAnimArgs[4];
+ sprite->data[1] = attackerX;
+ sprite->data[2] = targetX;
+ sprite->data[3] = attackerY;
+ sprite->data[4] = targetY;
+ sub_80A64EC(sprite);
+ sprite->data[3] = gBattleAnimArgs[5];
+ sprite->data[4] = gBattleAnimArgs[6];
+ sprite->callback = sub_810B848;
+}
+#else
+NAKED
+static void sub_810B6C4(struct Sprite *sprite)
+{
+ asm_unified("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 r5, r0, 0\n\
+ ldrh r2, [r5, 0x4]\n\
+ lsls r1, r2, 22\n\
+ lsrs r1, 22\n\
+ adds r1, 0x7\n\
+ ldr r3, =0x000003ff\n\
+ adds r0, r3, 0\n\
+ ands r1, r0\n\
+ ldr r0, =0xfffffc00\n\
+ ands r0, r2\n\
+ orrs r0, r1\n\
+ strh r0, [r5, 0x4]\n\
+ ldr r4, =gBattleAnimTarget\n\
+ ldrb r0, [r4]\n\
+ movs r1, 0x2\n\
+ bl GetBattlerSpriteCoord\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ mov r9, r0\n\
+ ldrb r0, [r4]\n\
+ movs r1, 0x3\n\
+ bl GetBattlerSpriteCoord\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ mov r8, r0\n\
+ ldr r4, =gBattleAnimAttacker\n\
+ ldrb r0, [r4]\n\
+ movs r1, 0x2\n\
+ bl GetBattlerSpriteCoord\n\
+ lsls r0, 24\n\
+ lsrs r3, r0, 24\n\
+ ldrb r0, [r4]\n\
+ movs r1, 0x3\n\
+ str r3, [sp]\n\
+ bl GetBattlerSpriteCoord\n\
+ lsls r0, 24\n\
+ lsrs r6, r0, 24\n\
+ ldr r1, =gBattleAnimArgs\n\
+ ldrh r0, [r1, 0x8]\n\
+ strh r0, [r5, 0x2E]\n\
+ ldrh r0, [r1]\n\
+ ldr r3, [sp]\n\
+ adds r0, r3\n\
+ strh r0, [r5, 0x30]\n\
+ ldrh r0, [r1, 0x4]\n\
+ mov r4, r9\n\
+ adds r0, r4, r0\n\
+ strh r0, [r5, 0x32]\n\
+ ldrh r0, [r1, 0x2]\n\
+ adds r0, r6\n\
+ strh r0, [r5, 0x34]\n\
+ ldrh r0, [r1, 0x6]\n\
+ mov r7, r8\n\
+ adds r0, r7, r0\n\
+ strh r0, [r5, 0x36]\n\
+ adds r0, r5, 0\n\
+ bl sub_80A64EC\n\
+ adds r4, 0x20\n\
+ movs r0, 0x98\n\
+ lsls r0, 1\n\
+ mov r12, r0\n\
+ ldr r3, [sp]\n\
+ cmp r4, r12\n\
+ bhi _0810B79E\n\
+ adds r0, r7, 0\n\
+ adds r0, 0x20\n\
+ ldrh r1, [r5, 0x30]\n\
+ ldrh r2, [r5, 0x32]\n\
+ cmp r0, 0xE0\n\
+ bhi _0810B79E\n\
+ adds r4, r1, 0\n\
+ mov r10, r12\n\
+_0810B76A:\n\
+ mov r7, r9\n\
+ lsls r1, r7, 16\n\
+ asrs r1, 16\n\
+ adds r1, r4\n\
+ lsls r1, 16\n\
+ mov r7, r8\n\
+ lsls r0, r7, 16\n\
+ asrs r0, 16\n\
+ adds r0, r2\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ mov r8, r0\n\
+ lsrs r0, r1, 16\n\
+ mov r9, r0\n\
+ movs r7, 0x80\n\
+ lsls r7, 14\n\
+ adds r1, r7\n\
+ lsrs r1, 16\n\
+ cmp r1, r10\n\
+ bhi _0810B79E\n\
+ mov r1, r8\n\
+ lsls r0, r1, 16\n\
+ adds r0, r7\n\
+ lsrs r0, 16\n\
+ cmp r0, 0xE0\n\
+ bls _0810B76A\n\
+_0810B79E:\n\
+ ldrh r0, [r5, 0x30]\n\
+ negs r7, r0\n\
+ strh r7, [r5, 0x30]\n\
+ ldrh r0, [r5, 0x32]\n\
+ negs r4, r0\n\
+ strh r4, [r5, 0x32]\n\
+ lsls r0, r3, 16\n\
+ movs r1, 0x80\n\
+ lsls r1, 14\n\
+ adds r0, r1\n\
+ lsrs r0, 16\n\
+ movs r2, 0x98\n\
+ lsls r2, 1\n\
+ mov r12, r2\n\
+ ldr r1, =gBattleAnimArgs\n\
+ mov r10, r1\n\
+ cmp r0, r12\n\
+ bhi _0810B80A\n\
+ lsls r1, r6, 16\n\
+ movs r2, 0x80\n\
+ lsls r2, 14\n\
+ adds r0, r1, r2\n\
+ b _0810B802\n\
+ .pool\n\
+_0810B7E0:\n\
+ lsls r1, r3, 16\n\
+ asrs r1, 16\n\
+ adds r1, r7\n\
+ lsls r1, 16\n\
+ asrs r0, r2, 16\n\
+ adds r0, r4\n\
+ lsls r0, 16\n\
+ lsrs r6, r0, 16\n\
+ lsrs r3, r1, 16\n\
+ movs r0, 0x80\n\
+ lsls r0, 14\n\
+ adds r1, r0\n\
+ lsrs r1, 16\n\
+ cmp r1, r12\n\
+ bhi _0810B80A\n\
+ lsls r1, r6, 16\n\
+ adds r0, r1, r0\n\
+_0810B802:\n\
+ lsrs r0, 16\n\
+ adds r2, r1, 0\n\
+ cmp r0, 0xE0\n\
+ bls _0810B7E0\n\
+_0810B80A:\n\
+ strh r3, [r5, 0x20]\n\
+ strh r6, [r5, 0x22]\n\
+ mov r1, r10\n\
+ ldrh r0, [r1, 0x8]\n\
+ strh r0, [r5, 0x2E]\n\
+ strh r3, [r5, 0x30]\n\
+ mov r2, r9\n\
+ strh r2, [r5, 0x32]\n\
+ strh r6, [r5, 0x34]\n\
+ mov r3, r8\n\
+ strh r3, [r5, 0x36]\n\
+ adds r0, r5, 0\n\
+ bl sub_80A64EC\n\
+ mov r7, r10\n\
+ ldrh r0, [r7, 0xA]\n\
+ strh r0, [r5, 0x34]\n\
+ ldrh r0, [r7, 0xC]\n\
+ strh r0, [r5, 0x36]\n\
+ ldr r0, =sub_810B848\n\
+ str r0, [r5, 0x1C]\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\
+ .pool\n");
+}
+#endif
+
+void sub_810B848(struct Sprite *sprite)
+{
+ if (sprite->data[0] != 0)
+ {
+ sprite->data[5] += sprite->data[1];
+ sprite->data[6] += sprite->data[2];
+ sprite->pos2.x = sprite->data[5];
+ sprite->pos2.y = sprite->data[6];
+ sprite->pos2.x += Sin(sprite->data[7], sprite->data[3]);
+ sprite->pos2.y += Sin(sprite->data[7], sprite->data[3]);
+ sprite->data[7] = (sprite->data[7] + sprite->data[4]) & 0xFF;
+ sprite->data[0]--;
+ }
+ else
+ {
+ DestroyAnimSprite(sprite);
+ }
+}
+
+// Animates the swirling ice crystals in Ice Punch.
+// arg 0: initial position angle around circle (0-256)
+void AnimIcePunchSwirlingParticle(struct Sprite *sprite)
+{
+ sprite->data[0] = gBattleAnimArgs[0];
+ sprite->data[1] = 60;
+ sprite->data[2] = 9;
+ sprite->data[3] = 30;
+ sprite->data[4] = -512;
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+ sprite->callback = TranslateSpriteInGrowingCircleOverDuration;
+ sprite->callback(sprite);
+}
+
+// Animates the ice particles in Ice Beam.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: target x offset
+// arg 3: target y offset
+// arg 4: duration
+void AnimIceBeamParticle(struct Sprite *sprite)
+{
+ InitSpritePosToAnimAttacker(sprite, TRUE);
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ sprite->data[2] -= gBattleAnimArgs[2];
+ else
+ sprite->data[2] += gBattleAnimArgs[2];
+
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
+ sprite->data[0] = gBattleAnimArgs[4];
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+ sprite->callback = StartAnimLinearTranslation;
+}
+
+// Animates the ice crystals at the end of Ice Punch, Ice Beam, Tri Attack,
+// Weather Ball (Hail), Blizzard, and Powder Snow.
+// arg 0: target x offset
+// arg 1: target y offset
+// arg 2: ??? unknown boolean
+void AnimIceEffectParticle(struct Sprite *sprite)
+{
+ if (gBattleAnimArgs[2] == 0)
+ {
+ InitSpritePosToAnimTarget(sprite, TRUE);
+ }
+ else
+ {
+ SetAverageBattlerPositions(gBattleAnimTarget, 1, &sprite->pos1.x, &sprite->pos1.y);
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ gBattleAnimArgs[0] = -gBattleAnimArgs[0];
+
+ sprite->pos1.x += gBattleAnimArgs[0];
+ sprite->pos1.y += gBattleAnimArgs[1];
+ }
+
+ StoreSpriteCallbackInData6(sprite, AnimFlickerIceEffectParticle);
+ sprite->callback = RunStoredCallbackWhenAffineAnimEnds;
+}
+
+void AnimFlickerIceEffectParticle(struct Sprite *sprite)
+{
+ sprite->invisible ^= 1;
+ sprite->data[0] += 1;
+ if (sprite->data[0] == 20)
+ DestroySpriteAndMatrix(sprite);
+}
+
+// Animates the small snowballs that swirl around the target in Blizzard and Icy Wind.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: target x offset
+// arg 3: target y offset
+// arg 4: particle speed
+// arg 5: multiple targets? (boolean)
+void AnimSwirlingSnowball_Step1(struct Sprite *sprite)
+{
+ int i;
+ s16 tempDataHolder[8];
+
+ InitSpritePosToAnimAttacker(sprite, TRUE);
+
+ sprite->data[0] = gBattleAnimArgs[4];
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[3] = sprite->pos1.y;
+
+ if (!gBattleAnimArgs[5])
+ {
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
+ }
+ else
+ {
+ SetAverageBattlerPositions(gBattleAnimTarget, 1, &sprite->data[2], &sprite->data[4]);
+ }
+
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ sprite->data[2] -= gBattleAnimArgs[2];
+ else
+ sprite->data[2] += gBattleAnimArgs[2];
+
+ for (i = 0; i < 8; i++)
+ tempDataHolder[i] = sprite->data[i];
+
+ InitAnimFastLinearTranslationWithSpeed(sprite);
+ sprite->data[1] ^= 1;
+ sprite->data[2] ^= 1;
+
+ while (1)
+ {
+ sprite->data[0] = 1;
+ AnimFastTranslateLinear(sprite);
+
+ if ((u32)(sprite->pos1.x + sprite->pos2.x + 16) > 272
+ || sprite->pos1.y + sprite->pos2.y > 160
+ || sprite->pos1.y + sprite->pos2.y < -16)
+ break;
+ }
+
+ sprite->pos1.x += sprite->pos2.x;
+ sprite->pos1.y += sprite->pos2.y;
+ sprite->pos2.y = 0;
+ sprite->pos2.x = 0;
+
+ for (i = 0; i < 8; i++)
+ sprite->data[i] = tempDataHolder[i];
+
+ sprite->callback = sub_80A718C;
+ StoreSpriteCallbackInData6(sprite, AnimSwirlingSnowball_Step2);
+}
+
+void AnimSwirlingSnowball_Step2(struct Sprite *sprite)
+{
+ s16 tempVar;
+
+ sprite->pos1.x += sprite->pos2.x;
+ sprite->pos1.y += sprite->pos2.y;
+ sprite->pos2.y = 0;
+ sprite->pos2.x = 0;
+ sprite->data[0] = 128;
+
+ tempVar = GetBattlerSide(gBattleAnimAttacker) != 0 ? 20 : -20;
+
+ sprite->data[3] = Sin(sprite->data[0], tempVar);
+ sprite->data[4] = Cos(sprite->data[0], 0xF);
+ sprite->data[5] = 0;
+ sprite->callback = AnimSwirlingSnowball_Step3;
+ sprite->callback(sprite);
+}
+
+void AnimSwirlingSnowball_Step3(struct Sprite *sprite)
+{
+ s16 tempVar;
+ tempVar = GetBattlerSide(gBattleAnimAttacker) != 0 ? 20 : -20;
+
+ if (sprite->data[5] <= 31)
+ {
+ sprite->pos2.x = Sin(sprite->data[0], tempVar) - sprite->data[3];
+ sprite->pos2.y = Cos(sprite->data[0], 15) - sprite->data[4];
+ sprite->data[0] = (sprite->data[0] + 16) & 0xFF;
+ sprite->data[5] += 1;
+ }
+ else
+ {
+ sprite->pos1.x += sprite->pos2.x;
+ sprite->pos1.y += sprite->pos2.y;
+ sprite->pos2.y = 0;
+ sprite->pos2.x = 0;
+ sprite->data[4] = 0;
+ sprite->data[3] = 0;
+ sprite->callback = AnimSwirlingSnowball_End;
+ }
+}
+
+void AnimSwirlingSnowball_End(struct Sprite *sprite)
+{
+ sprite->data[0] = 1;
+ AnimFastTranslateLinear(sprite);
+
+ if ((u32)(sprite->pos1.x + sprite->pos2.x + 16) > 272
+ || sprite->pos1.y + sprite->pos2.y > 256
+ || sprite->pos1.y + sprite->pos2.y < -16)
+ DestroyAnimSprite(sprite);
+}
+
+// Moves particles towards the target mon and off the screen. Used to animate
+// the large snowballs in Blizzard and the small snowballs in Powder Snow.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: target x offset
+// arg 3: target y offset
+// arg 4: speed
+// arg 5: wave amplitude
+// arg 6: wave frequency
+// arg 7: multiple targets? (boolean)
+void AnimMoveParticleBeyondTarget(struct Sprite *sprite)
+{
+ int i;
+ s16 tempDataHolder[8];
+
+ InitSpritePosToAnimAttacker(sprite, TRUE);
+
+ sprite->data[0] = gBattleAnimArgs[4];
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[3] = sprite->pos1.y;
+
+ if (!gBattleAnimArgs[7])
+ {
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ }
+ else
+ {
+ SetAverageBattlerPositions(gBattleAnimTarget, 1, &sprite->data[2], &sprite->data[4]);
+ }
+
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ sprite->data[2] -= gBattleAnimArgs[2];
+ else
+ sprite->data[2] += gBattleAnimArgs[2];
+
+ sprite->data[4] += gBattleAnimArgs[3];
+ InitAnimFastLinearTranslationWithSpeed(sprite);
+ for (i = 0; i < 8; i++)
+ tempDataHolder[i] = sprite->data[i];
+
+ sprite->data[1] ^= 1;
+ sprite->data[2] ^= 1;
+
+ while (1)
+ {
+ sprite->data[0] = 1;
+ AnimFastTranslateLinear(sprite);
+ if ((u32)(sprite->pos1.x + sprite->pos2.x + 16) > 272
+ || sprite->pos1.y + sprite->pos2.y > 160
+ || sprite->pos1.y + sprite->pos2.y < -16)
+ break;
+ }
+
+ sprite->pos1.x += sprite->pos2.x;
+ sprite->pos1.y += sprite->pos2.y;
+ sprite->pos2.y = 0;
+ sprite->pos2.x = 0;
+
+ for (i = 0; i < 8; i++)
+ sprite->data[i] = tempDataHolder[i];
+
+ sprite->data[5] = gBattleAnimArgs[5];
+ sprite->data[6] = gBattleAnimArgs[6];
+ sprite->callback = AnimWiggleParticleTowardsTarget;
+}
+
+// Moves particles in a sine wave towards the target.
+void AnimWiggleParticleTowardsTarget(struct Sprite *sprite)
+{
+ AnimFastTranslateLinear(sprite);
+ if (sprite->data[0] == 0)
+ sprite->data[0] = 1;
+
+ sprite->pos2.y += Sin(sprite->data[7], sprite->data[5]);
+ sprite->data[7] = (sprite->data[7] + sprite->data[6]) & 0xFF;
+ if (sprite->data[0] == 1)
+ {
+ if ((u32)(sprite->pos1.x + sprite->pos2.x + 16) > 272
+ || sprite->pos1.y + sprite->pos2.y > 160
+ || sprite->pos1.y + sprite->pos2.y < -16)
+ DestroyAnimSprite(sprite);
+ }
+}
+
+// Animates the ice pilar wave used by Icy Wind.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: ??? unknown boolean
+void AnimWaveFromCenterOfTarget(struct Sprite *sprite)
+{
+ if (sprite->data[0] == 0)
+ {
+ if (gBattleAnimArgs[2] == 0)
+ {
+ InitSpritePosToAnimTarget(sprite, FALSE);
+ }
+ else
+ {
+ SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->pos1.x, &sprite->pos1.y);
+
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ gBattleAnimArgs[0] = -gBattleAnimArgs[0];
+
+ sprite->pos1.x += gBattleAnimArgs[0];
+ sprite->pos1.y += gBattleAnimArgs[1];
+ }
+
+ sprite->data[0]++;
+ }
+ else
+ {
+ if (sprite->animEnded)
+ DestroyAnimSprite(sprite);
+ }
+}
+
+// Animates the fog that swirls around the mon in Mist and Smog.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: change in y pixels per rotation
+// arg 3: duration
+// arg 4: animate on opponent? (boolean)
+// arg 5: ??? unknown boolean
+void InitSwirlingFogAnim(struct Sprite *sprite)
+{
+ s16 tempVar;
+ u8 battler;
+
+ if (gBattleAnimArgs[4] == 0)
+ {
+ if (gBattleAnimArgs[5] == 0)
+ {
+ InitSpritePosToAnimAttacker(sprite, FALSE);
+ }
+ else
+ {
+ SetAverageBattlerPositions(gBattleAnimAttacker, 0, &sprite->pos1.x, &sprite->pos1.y);
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ sprite->pos1.x -= gBattleAnimArgs[0];
+ else
+ sprite->pos1.x += gBattleAnimArgs[0];
+
+ sprite->pos1.y += gBattleAnimArgs[1];
+ }
+
+ battler = gBattleAnimAttacker;
+ }
+ else
+ {
+ if (gBattleAnimArgs[5] == 0)
+ {
+ InitSpritePosToAnimTarget(sprite, FALSE);
+ }
+ else
+ {
+ SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->pos1.x, &sprite->pos1.y);
+ if (GetBattlerSide(gBattleAnimTarget) != B_SIDE_PLAYER)
+ sprite->pos1.x -= gBattleAnimArgs[0];
+ else
+ sprite->pos1.x += gBattleAnimArgs[0];
+
+ sprite->pos1.y += gBattleAnimArgs[1];
+ }
+
+ battler = gBattleAnimTarget;
+ }
+
+ sprite->data[7] = battler;
+ if (gBattleAnimArgs[5] == 0 || !IsDoubleBattle())
+ tempVar = 0x20;
+ else
+ tempVar = 0x40;
+
+ sprite->data[6] = tempVar;
+ if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
+ sprite->pos1.y += 8;
+
+ sprite->data[0] = gBattleAnimArgs[3];
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[2] = sprite->pos1.x;
+ sprite->data[3] = sprite->pos1.y;
+ sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[2];
+
+ InitAnimLinearTranslation(sprite);
+
+ sprite->data[5] = 64;
+ sprite->callback = AnimSwirlingFogAnim;
+ sprite->callback(sprite);
+}
+
+// Animates swirling fog initialized by InitSwirlingFogAnim.
+void AnimSwirlingFogAnim(struct Sprite *sprite)
+{
+ if (!AnimTranslateLinear(sprite))
+ {
+ sprite->pos2.x += Sin(sprite->data[5], sprite->data[6]);
+ sprite->pos2.y += Cos(sprite->data[5], -6);
+
+ if ((u16)(sprite->data[5] - 64) <= 0x7F)
+ sprite->oam.priority = GetBattlerSpriteBGPriority(sprite->data[7]);
+ else
+ sprite->oam.priority = GetBattlerSpriteBGPriority(sprite->data[7]) + 1;
+
+ sprite->data[5] = (sprite->data[5] + 3) & 0xFF;
+ }
+ else
+ {
+ DestroyAnimSprite(sprite);
+ }
+}
+
+// Fades mons to black and places foggy overlay in Haze.
+void AnimTask_Haze1(u8 taskId)
+{
+ struct UnknownAnimStruct2 subStruct;
+
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16));
+ SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1);
+ SetAnimBgAttribute(1, BG_ANIM_SCREEN_SIZE, 0);
+
+ if (!IsContest())
+ SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1);
+
+ gBattle_BG1_X = 0;
+ gBattle_BG1_Y = 0;
+ SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X);
+ SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
+
+ sub_80A6B30(&subStruct);
+ LoadBgTiles(subStruct.bgId, gWeatherFog1Tiles, 0x800, subStruct.tilesOffset);
+ sub_80A6D60(&subStruct, gBattleAnimFogTilemap, 0);
+ LoadPalette(&gUnknown_083970E8, subStruct.unk8 * 16, 32);
+
+ gTasks[taskId].func = AnimTask_Haze2;
+}
+
+void AnimTask_Haze2(u8 taskId)
+{
+ struct UnknownAnimStruct2 subStruct;
+
+ gBattle_BG1_X += -1;
+ gBattle_BG1_Y += 0;
+
+ switch (gTasks[taskId].data[12])
+ {
+ case 0:
+ if (++gTasks[taskId].data[10] == 4)
+ {
+ gTasks[taskId].data[10] = 0;
+ gTasks[taskId].data[9]++;
+ gTasks[taskId].data[11] = gUnknown_08595C5C[gTasks[taskId].data[9]];
+
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[11], 16 - gTasks[taskId].data[11]));
+ if (gTasks[taskId].data[11] == 9)
+ {
+ gTasks[taskId].data[12]++;
+ gTasks[taskId].data[11] = 0;
+ }
+ }
+ break;
+ case 1:
+ if (++gTasks[taskId].data[11] == 0x51)
+ {
+ gTasks[taskId].data[11] = 9;
+ gTasks[taskId].data[12]++;
+ }
+ break;
+ case 2:
+ if (++gTasks[taskId].data[10] == 4)
+ {
+ gTasks[taskId].data[10] = 0;
+ gTasks[taskId].data[11]--;
+
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[11], 16 - gTasks[taskId].data[11]));
+ if (gTasks[taskId].data[11] == 0)
+ {
+ gTasks[taskId].data[12]++;
+ gTasks[taskId].data[11] = 0;
+ }
+ }
+ break;
+ case 3:
+ sub_80A6B30(&subStruct);
+ sub_80A6C68(1);
+ sub_80A6C68(2);
+
+ gTasks[taskId].data[12]++;
+
+ // fall through
+ case 4:
+ if (!IsContest())
+ SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 0);
+
+ gBattle_BG1_X = 0;
+ gBattle_BG1_Y = 0;
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 0));
+ SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1);
+ DestroyAnimVisualTask(taskId);
+ }
+}
+
+// Throws the ball in Mist Ball.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: targey x offset
+// arg 3: target y offset
+// arg 4: duration
+// arg 5: ??? unknown (seems to vibrate target mon somehow)
+void AnimThrowMistBall(struct Sprite *sprite)
+{
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->callback = TranslateAnimSpriteToTargetMonLocation;
+}
+
+// Displays misty background in Mist Ball.
+void AnimTask_LoadMistTiles(u8 taskId)
+{
+ struct UnknownAnimStruct2 subStruct;
+
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16));
+ SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1);
+ SetAnimBgAttribute(1, BG_ANIM_SCREEN_SIZE, 0);
+
+ if (!IsContest())
+ SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1);
+
+ gBattle_BG1_X = 0;
+ gBattle_BG1_Y = 0;
+ SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X);
+ SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
+
+ sub_80A6B30(&subStruct);
+ LoadBgTiles(subStruct.bgId, gWeatherFog1Tiles, 0x800, subStruct.tilesOffset);
+ sub_80A6D60(&subStruct, gBattleAnimFogTilemap, 0);
+ LoadPalette(&gUnknown_083970E8, subStruct.unk8 * 16, 32);
+
+ gTasks[taskId].data[15] = -1;
+ gTasks[taskId].func = AnimTask_OverlayFogTiles;
+}
+
+void AnimTask_OverlayFogTiles(u8 taskId)
+{
+ struct UnknownAnimStruct2 subStruct;
+
+ gBattle_BG1_X += gTasks[taskId].data[15];
+ gBattle_BG1_Y += 0;
+
+ switch (gTasks[taskId].data[12])
+ {
+ case 0:
+ gTasks[taskId].data[9] += 1;
+ gTasks[taskId].data[11] = gUnknown_08595C88[gTasks[taskId].data[9]];
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[11], 17 - gTasks[taskId].data[11]));
+ if (gTasks[taskId].data[11] == 5)
+ {
+ gTasks[taskId].data[12]++;
+ gTasks[taskId].data[11] = 0;
+ }
+ break;
+ case 1:
+ if (++gTasks[taskId].data[11] == 0x51)
+ {
+ gTasks[taskId].data[11] = 5;
+ gTasks[taskId].data[12]++;
+ }
+ break;
+ case 2:
+ if (++gTasks[taskId].data[10] == 4)
+ {
+ gTasks[taskId].data[10] = 0;
+ gTasks[taskId].data[11] -= 1;
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[11], 16 - gTasks[taskId].data[11]));
+ if (gTasks[taskId].data[11] == 0)
+ {
+ gTasks[taskId].data[12]++;
+ gTasks[taskId].data[11] = 0;
+ }
+ }
+ break;
+ case 3:
+ sub_80A6B30(&subStruct);
+ sub_80A6C68(1);
+ sub_80A6C68(2);
+
+ gTasks[taskId].data[12]++;
+
+ // fall through
+ case 4:
+ if (!IsContest())
+ SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 0);
+
+ gBattle_BG1_X = 0;
+ gBattle_BG1_Y = 0;
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 0));
+ SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1);
+ DestroyAnimVisualTask(taskId);
+ }
+}
+
+// Initializes gas clouds in the Poison Gas animation.
+// arg 0: duration
+// arg 1: ? target x offset
+// arg 2: ? target y offset
+// arg 3: ? swirl start x
+// arg 4: ? swirl start y
+// arg 5: ??? unknown
+// arg 6: ??? unknown
+// arg 7: ??? unknown boolean
+void InitPoisonGasCloudAnim(struct Sprite *sprite)
+{
+ sprite->data[0] = gBattleAnimArgs[0];
+
+ if (GetBattlerSpriteCoord(gBattleAnimAttacker, 2) < GetBattlerSpriteCoord(gBattleAnimTarget, 2))
+ sprite->data[7] = 0x8000;
+
+ if (!(gBattlerPositions[gBattleAnimTarget] & 1))
+ {
+ gBattleAnimArgs[1] = -gBattleAnimArgs[1];
+ gBattleAnimArgs[3] = -gBattleAnimArgs[3];
+
+ if ((sprite->data[7] & 0x8000) && !(gBattlerPositions[gBattleAnimAttacker] & 1))
+ sprite->subpriority = gSprites[GetAnimBattlerSpriteId(ANIM_TARGET)].subpriority + 1;
+
+ sprite->data[6] = 1;
+ }
+
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ if (gBattleAnimArgs[7])
+ {
+ sprite->data[1] = sprite->pos1.x + gBattleAnimArgs[1];
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[3];
+ sprite->data[3] = sprite->pos1.y + gBattleAnimArgs[2];
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[4];
+ sprite->data[7] |= GetBattlerSpriteBGPriority(gBattleAnimTarget) << 8;
+ }
+ else
+ {
+ sprite->data[1] = sprite->pos1.x + gBattleAnimArgs[1];
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 0) + gBattleAnimArgs[3];
+ sprite->data[3] = sprite->pos1.y + gBattleAnimArgs[2];
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + gBattleAnimArgs[4];
+ sprite->data[7] |= GetBattlerSpriteBGPriority(gBattleAnimTarget) << 8;
+ }
+
+ if (IsContest())
+ {
+ sprite->data[6] = 1;
+ sprite->subpriority = 0x80;
+ }
+
+ InitAnimLinearTranslation(sprite);
+ sprite->callback = MovePoisonGasCloud;
+}
+
+void MovePoisonGasCloud(struct Sprite *sprite)
+{
+ int value;
+ register s16 value2 asm("r5");
+ int unused;
+
+ switch (sprite->data[7] & 0xFF)
+ {
+ case 0:
+ AnimTranslateLinear(sprite);
+ value = gSineTable[sprite->data[5]];
+ sprite->pos2.x += value >> 4;
+ if (sprite->data[6])
+ sprite->data[5] = (sprite->data[5] - 8) & 0xFF;
+ else
+ sprite->data[5] = (sprite->data[5] + 8) & 0xFF;
+
+ if (sprite->data[0] <= 0)
+ {
+ value2 = 80;
+ sprite->data[0] = value2;
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[2] = sprite->pos1.x;
+ sprite->pos1.y += sprite->pos2.y;
+ sprite->data[3] = sprite->pos1.y;
+ sprite->data[4] = sprite->pos1.y + 29;
+ sprite->data[7]++;
+ if (!IsContest() && gBattlerPositions[gBattleAnimTarget] & 1)
+ sprite->data[5] = 204;
+ else
+ sprite->data[5] = value2;
+
+ sprite->pos2.y = 0;
+ value = gSineTable[sprite->data[5]];
+ sprite->pos2.x = value >> 3;
+ sprite->data[5] = (sprite->data[5] + 2) & 0xFF;
+ InitAnimLinearTranslation(sprite);
+ }
+ break;
+ case 1:
+ AnimTranslateLinear(sprite);
+ value = gSineTable[sprite->data[5]];
+ sprite->pos2.x += value >> 3;
+ sprite->pos2.y += (gSineTable[sprite->data[5] + 0x40] * -3) >> 8;
+ if (!IsContest())
+ {
+ u16 var0 = sprite->data[5] - 0x40;
+ if (var0 <= 0x7F)
+ sprite->oam.priority = sprite->data[7] >> 8;
+ else
+ sprite->oam.priority = (sprite->data[7] >> 8) + 1;
+
+ sprite->data[5] = (sprite->data[5] + 4) & 0xFF;
+ }
+ else
+ {
+ u16 var0 = sprite->data[5] - 0x40;
+ if (var0 <= 0x7F)
+ sprite->subpriority = 128;
+ else
+ sprite->subpriority = 140;
+
+ sprite->data[5] = (sprite->data[5] - 4) & 0xFF;
+ }
+
+ if (sprite->data[0] <= 0)
+ {
+ asm("mov r5, #0"); // unused local variable?
+ unused = 0;
+ sprite->data[0] = 0x300;
+ sprite->data[1] = sprite->pos1.x += sprite->pos2.x;
+ sprite->data[3] = sprite->pos1.y += sprite->pos2.y;
+ sprite->data[4] = sprite->pos1.y + 4;
+ if (!IsContest() && gBattlerPositions[gBattleAnimTarget] & 1)
+ sprite->data[2] = 0x100;
+ else
+ sprite->data[2] = -0x10;
+
+ sprite->data[7]++;
+ sprite->pos2.x = sprite->pos2.y = 0;
+ sub_80A6FD4(sprite);
+ }
+ break;
+ case 2:
+ if (AnimTranslateLinear(sprite))
+ {
+ if (sprite->oam.affineMode & 1)
+ {
+ FreeOamMatrix(sprite->oam.matrixNum);
+ sprite->oam.affineMode = ST_OAM_AFFINE_OFF;
+ }
+
+ DestroySprite(sprite);
+ gAnimVisualTaskCount--;
+ }
+ break;
+ }
+}
+
+// Creates Hail.
+void AnimTask_Hail1(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ task->func = AnimTask_Hail2;
+}
+
+void AnimTask_Hail2(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+ switch (task->data[0])
+ {
+ case 0:
+ if (++task->data[4] > 2)
+ {
+ task->data[4] = 0;
+ task->data[5] = 0;
+ task->data[2] = 0;
+ task->data[0]++;
+ }
+ break;
+ case 1:
+ if (task->data[5] == 0)
+ {
+ if (GenerateHailParticle(task->data[3], task->data[2], taskId, 1))
+ task->data[1]++;
+
+ if (++task->data[2] == 3)
+ {
+ if (++task->data[3] == 10)
+ task->data[0]++;
+ else
+ task->data[0]--;
+ }
+ else
+ {
+ task->data[5] = 1;
+ }
+
+ }
+ else
+ {
+ task->data[5]--;
+ }
+ break;
+ case 2:
+ if (task->data[1] == 0)
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+}
+
+#ifdef NONMATCHING
+bool8 GenerateHailParticle(u8 a, u8 b, u8 taskId, u8 c)
+{
+ bool8 possibleBool = FALSE;
+ // s8 unk = gUnknown_08595CB4[a].unk3;
+ const struct HailStruct *hailData = &gUnknown_08595CB4[a];
+ s8 unk = hailData->unk3;
+ u8 battler;
+ s16 battlerX, battlerY;
+ u8 spriteId;
+ // struct Sprite *sprite;
+ s16 spriteX;
+
+ if (unk != 2)
+ {
+ battler = GetBattlerAtPosition(hailData->unk2);
+ if (IsBattlerSpriteVisible(battler))
+ {
+ possibleBool = TRUE;
+ battlerX = GetBattlerSpriteCoord(battler, 2);
+ battlerY = GetBattlerSpriteCoord(battler, 3);
+ switch (unk)
+ {
+ case 0:
+ battlerX -= sub_80A861C(battler, 1) / 6;
+ battlerY -= sub_80A861C(battler, 0) / 6;
+ break;
+ case 1:
+ battlerX += sub_80A861C(battler, 1) / 6;
+ battlerY += sub_80A861C(battler, 0) / 6;
+ break;
+ }
+ }
+ }
+ else
+ {
+ battlerX = (hailData->unk0);
+ battlerY = (hailData->unk1);
+ }
+ spriteX = battlerX - ((battlerY + 8) / 2);
+ spriteId = CreateSprite(&gUnknown_08595D2C, spriteX, -8, 18);
+ if (spriteId == MAX_SPRITES)
+ return FALSE;
+ // sprite = &gSprites[spriteId];
+ StartSpriteAffineAnim(&gSprites[spriteId], b);
+ gSprites[spriteId].data[0] = possibleBool;
+ gSprites[spriteId].data[3] = battlerX;
+ gSprites[spriteId].data[4] = battlerY;
+ gSprites[spriteId].data[5] = b;
+ gSprites[spriteId].data[6] = taskId;
+ gSprites[spriteId].data[7] = c;
+ return TRUE;
+}
+#else
+NAKED
+bool8 GenerateHailParticle(u8 a, u8 b, u8 taskId, u8 c)
+{
+ asm_unified("push {r4-r7,lr}\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ sub sp, 0x8\n\
+ lsls r0, 24\n\
+ lsls r1, 24\n\
+ lsrs r1, 24\n\
+ mov r9, r1\n\
+ lsls r2, 24\n\
+ lsrs r2, 24\n\
+ str r2, [sp]\n\
+ lsls r3, 24\n\
+ lsrs r3, 24\n\
+ mov r10, r3\n\
+ movs r1, 0\n\
+ str r1, [sp, 0x4]\n\
+ ldr r1, =gUnknown_08595CB4\n\
+ lsrs r0, 22\n\
+ adds r4, r0, r1\n\
+ ldrb r0, [r4, 0x3]\n\
+ lsls r0, 24\n\
+ asrs r0, 28\n\
+ mov r8, r0\n\
+ cmp r0, 0x2\n\
+ beq _0810CAD0\n\
+ ldrh r0, [r4, 0x2]\n\
+ lsls r0, 20\n\
+ lsrs r0, 24\n\
+ bl GetBattlerAtPosition\n\
+ lsls r0, 24\n\
+ lsrs r5, r0, 24\n\
+ adds r0, r5, 0\n\
+ bl IsBattlerSpriteVisible\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _0810CAD0\n\
+ movs r0, 0x1\n\
+ str r0, [sp, 0x4]\n\
+ adds r0, r5, 0\n\
+ movs r1, 0x2\n\
+ bl GetBattlerSpriteCoord\n\
+ lsls r0, 24\n\
+ lsrs r7, r0, 24\n\
+ adds r0, r5, 0\n\
+ movs r1, 0x3\n\
+ bl GetBattlerSpriteCoord\n\
+ lsls r0, 24\n\
+ lsrs r6, r0, 24\n\
+ mov r1, r8\n\
+ cmp r1, 0\n\
+ beq _0810CA60\n\
+ cmp r1, 0x1\n\
+ beq _0810CA96\n\
+ b _0810CAE2\n\
+ .pool\n\
+_0810CA60:\n\
+ adds r0, r5, 0\n\
+ movs r1, 0x1\n\
+ bl sub_80A861C\n\
+ lsls r0, 16\n\
+ asrs r0, 16\n\
+ movs r1, 0x6\n\
+ bl __divsi3\n\
+ lsls r1, r7, 16\n\
+ asrs r1, 16\n\
+ subs r1, r0\n\
+ lsls r1, 16\n\
+ lsrs r7, r1, 16\n\
+ adds r0, r5, 0\n\
+ movs r1, 0\n\
+ bl sub_80A861C\n\
+ lsls r0, 16\n\
+ asrs r0, 16\n\
+ movs r1, 0x6\n\
+ bl __divsi3\n\
+ lsls r1, r6, 16\n\
+ asrs r1, 16\n\
+ subs r1, r0\n\
+ b _0810CACA\n\
+_0810CA96:\n\
+ adds r0, r5, 0\n\
+ movs r1, 0x1\n\
+ bl sub_80A861C\n\
+ lsls r0, 16\n\
+ asrs r0, 16\n\
+ movs r1, 0x6\n\
+ bl __divsi3\n\
+ lsls r1, r7, 16\n\
+ asrs r1, 16\n\
+ adds r1, r0\n\
+ lsls r1, 16\n\
+ lsrs r7, r1, 16\n\
+ adds r0, r5, 0\n\
+ movs r1, 0\n\
+ bl sub_80A861C\n\
+ lsls r0, 16\n\
+ asrs r0, 16\n\
+ movs r1, 0x6\n\
+ bl __divsi3\n\
+ lsls r1, r6, 16\n\
+ asrs r1, 16\n\
+ adds r1, r0\n\
+_0810CACA:\n\
+ lsls r1, 16\n\
+ lsrs r6, r1, 16\n\
+ b _0810CAE2\n\
+_0810CAD0:\n\
+ ldrh r0, [r4]\n\
+ lsls r0, 22\n\
+ asrs r0, 6\n\
+ lsrs r7, r0, 16\n\
+ ldr r0, [r4]\n\
+ lsls r0, 12\n\
+ asrs r0, 22\n\
+ lsls r0, 16\n\
+ lsrs r6, r0, 16\n\
+_0810CAE2:\n\
+ lsls r0, r6, 16\n\
+ asrs r0, 16\n\
+ adds r0, 0x8\n\
+ lsrs r1, r0, 31\n\
+ adds r0, r1\n\
+ asrs r0, 1\n\
+ lsls r1, r7, 16\n\
+ asrs r1, 16\n\
+ subs r1, r0\n\
+ ldr r0, =gUnknown_08595D2C\n\
+ lsls r1, 16\n\
+ asrs r1, 16\n\
+ movs r2, 0x8\n\
+ negs r2, r2\n\
+ movs r3, 0x12\n\
+ bl CreateSprite\n\
+ lsls r0, 24\n\
+ lsrs r5, r0, 24\n\
+ cmp r5, 0x40\n\
+ beq _0810CB44\n\
+ lsls r4, r5, 4\n\
+ adds r4, r5\n\
+ lsls r4, 2\n\
+ ldr r0, =gSprites\n\
+ adds r4, r0\n\
+ adds r0, r4, 0\n\
+ mov r1, r9\n\
+ bl StartSpriteAffineAnim\n\
+ mov r0, sp\n\
+ ldrh r0, [r0, 0x4]\n\
+ strh r0, [r4, 0x2E]\n\
+ strh r7, [r4, 0x34]\n\
+ strh r6, [r4, 0x36]\n\
+ mov r1, r9\n\
+ strh r1, [r4, 0x38]\n\
+ mov r0, sp\n\
+ ldrh r0, [r0]\n\
+ strh r0, [r4, 0x3A]\n\
+ mov r1, r10\n\
+ strh r1, [r4, 0x3C]\n\
+ movs r0, 0x1\n\
+ b _0810CB46\n\
+ .pool\n\
+_0810CB44:\n\
+ movs r0, 0\n\
+_0810CB46:\n\
+ add sp, 0x8\n\
+ pop {r3-r5}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ mov r10, r5\n\
+ pop {r4-r7}\n\
+ pop {r1}\n\
+ bx r1\n");
+}
+#endif
+
+void AnimHailBegin(struct Sprite *sprite)
+{
+ u8 spriteId;
+
+ sprite->pos1.x += 4;
+ sprite->pos1.y += 8;
+
+ if (sprite->pos1.x < sprite->data[3] && sprite->pos1.y < sprite->data[4])
+ return;
+
+ if (sprite->data[0] == 1 && sprite->data[5] == 0)
+ {
+ spriteId = CreateSprite(&gUnknown_08595B68,
+ sprite->data[3], sprite->data[4], sprite->subpriority);
+
+ sprite->data[0] = spriteId;
+ if (spriteId != 64)
+ {
+ gSprites[sprite->data[0]].callback = AnimHailContinue;
+ gSprites[sprite->data[0]].data[6] = sprite->data[6];
+ gSprites[sprite->data[0]].data[7] = sprite->data[7];
+ }
+
+ FreeOamMatrix(sprite->oam.matrixNum);
+ DestroySprite(sprite);
+ }
+ else
+ {
+ gTasks[sprite->data[6]].data[sprite->data[7]]--;
+ FreeOamMatrix(sprite->oam.matrixNum);
+ DestroySprite(sprite);
+ }
+}
+
+void AnimHailContinue(struct Sprite *sprite)
+{
+ if (++sprite->data[0] == 20)
+ {
+ gTasks[sprite->data[6]].data[sprite->data[7]]--;
+ FreeOamMatrix(sprite->oam.matrixNum);
+ DestroySprite(sprite);
+ }
+}
+
+// Initializes the animation for Ice Ball.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: target x offset
+// arg 3: target y offset
+// arg 4: duration
+// arg 5: arc height (negative)
+void InitIceBallAnim(struct Sprite *sprite)
+{
+ u8 animNum = gAnimDisableStructPtr->rolloutTimerStartValue - gAnimDisableStructPtr->rolloutTimer - 1;
+
+ if (animNum > 4)
+ animNum = 4;
+
+ StartSpriteAffineAnim(sprite, animNum);
+ InitSpritePosToAnimAttacker(sprite, 1);
+
+ sprite->data[0] = gBattleAnimArgs[4];
+
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ gBattleAnimArgs[2] = -gBattleAnimArgs[2];
+
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2];
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
+ sprite->data[5] = gBattleAnimArgs[5];
+
+ InitAnimArcTranslation(sprite);
+
+ sprite->callback = AnimThrowIceBall;
+}
+
+// Throws the ball of ice in Ice Ball.
+void AnimThrowIceBall(struct Sprite *sprite)
+{
+ if (!TranslateAnimArc(sprite))
+ return;
+
+ StartSpriteAnim(sprite, 1);
+ sprite->callback = RunStoredCallbackWhenAnimEnds;
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+}
+
+// Initializes the particles that scatter at the end of the Ice Ball animation.
+void InitIceBallParticle(struct Sprite *sprite)
+{
+ s16 randA, randB;
+
+ sprite->oam.tileNum += 8;
+ InitSpritePosToAnimTarget(sprite, TRUE);
+
+ randA = (Random2() & 0xFF) + 256;
+ randB = Random2() & 0x1FF;
+
+ if (randB > 0xFF)
+ randB = 256 - randB;
+
+ sprite->data[1] = randA;
+ sprite->data[2] = randB;
+ sprite->callback = AnimIceBallParticle;
+}
+
+// Animates the particles created by InitIceBallParticle.
+void AnimIceBallParticle(struct Sprite *sprite)
+{
+ sprite->data[3] += sprite->data[1];
+ sprite->data[4] += sprite->data[2];
+
+ if (sprite->data[1] & 1)
+ sprite->pos2.x = -(sprite->data[3] >> 8);
+ else
+ sprite->pos2.x = sprite->data[3] >> 8;
+
+ sprite->pos2.y = sprite->data[4] >> 8;
+
+ if (++sprite->data[0] == 21)
+ DestroyAnimSprite(sprite);
+}
+
+// Counter for Ice Ball.
+void AnimTask_GetRolloutCounter(u8 taskId)
+{
+ u8 arg = gBattleAnimArgs[0];
+
+ gBattleAnimArgs[arg] = gAnimDisableStructPtr->rolloutTimerStartValue - gAnimDisableStructPtr->rolloutTimer - 1;
+ DestroyAnimVisualTask(taskId);
+}
diff --git a/src/intro.c b/src/intro.c
index 94692e6ec..18a899fb0 100644
--- a/src/intro.c
+++ b/src/intro.c
@@ -1044,10 +1044,10 @@ static void Task_IntroLoadPart1Graphics(u8 taskId)
SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(20) | BGCNT_16COLOR | BGCNT_TXT256x512);
SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(1) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(18) | BGCNT_16COLOR | BGCNT_TXT256x512);
SetGpuReg(REG_OFFSET_BG0CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(16) | BGCNT_16COLOR | BGCNT_TXT256x512);
- LoadCompressedObjectPic(gUnknown_085E4FDC);
- LoadCompressedObjectPic(gUnknown_085E4FEC);
+ LoadCompressedSpriteSheet(gUnknown_085E4FDC);
+ LoadCompressedSpriteSheet(gUnknown_085E4FEC);
LoadSpritePalettes(gUnknown_085E4FFC);
- LoadCompressedObjectPic(gUnknown_085E4A74);
+ LoadCompressedSpriteSheet(gUnknown_085E4A74);
LoadSpritePalettes(gUnknown_085E4A84);
CpuCopy16(gPlttBufferUnfaded + 0x100, gPlttBufferUnfaded + 0x1F0, 0x20);
CpuCopy16(gPlttBufferUnfaded + 0x100, gPlttBufferUnfaded + 0x1E1, 0x1E);
@@ -1204,16 +1204,16 @@ static void Task_IntroStartBikeRide(u8 taskId)
u8 spriteId;
if (gUnknown_0203BCC8 == 0)
- LoadCompressedObjectPic(gIntro2BrendanSpriteSheet);
+ LoadCompressedSpriteSheet(gIntro2BrendanSpriteSheet);
else
- LoadCompressedObjectPic(gIntro2MaySpriteSheet);
+ LoadCompressedSpriteSheet(gIntro2MaySpriteSheet);
- LoadCompressedObjectPic(gIntro2BicycleSpriteSheet);
- LoadCompressedObjectPic(gIntro2FlygonSpriteSheet);
+ LoadCompressedSpriteSheet(gIntro2BicycleSpriteSheet);
+ LoadCompressedSpriteSheet(gIntro2FlygonSpriteSheet);
for (spriteId = 0; spriteId < 3; spriteId++)
{
- LoadCompressedObjectPic(&gUnknown_085E4AE8[spriteId]);
+ LoadCompressedSpriteSheet(&gUnknown_085E4AE8[spriteId]);
}
LoadSpritePalettes(gUnknown_085F530C);
@@ -1542,8 +1542,8 @@ static void Task_IntroLoadPart1Graphics3(u8 taskId)
LZDecompressVram(gIntro3GroudonTilemap, (void *)(VRAM + 0xC000));
LZDecompressVram(gIntro3LegendBgGfx, (void *)(VRAM + 0x4000));
LZDecompressVram(gIntro3GroudonBgTilemap, (void *)(VRAM + 0xE000));
- LoadCompressedObjectPicUsingHeap(&gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_ROCKS)]);
- LoadCompressedObjectPaletteUsingHeap(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_ROCKS)]);
+ LoadCompressedSpriteSheetUsingHeap(&gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_ROCKS)]);
+ LoadCompressedSpritePaletteUsingHeap(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(ANIM_TAG_ROCKS)]);
CpuCopy16(gIntro3BgPal, gPlttBufferUnfaded, sizeof(gIntro3BgPal));
gTasks[taskId].func = Task_IntroLoadPart1Graphics4;
}
@@ -1764,7 +1764,7 @@ static void Task_IntroLoadPart1Graphics9(u8 taskId)
LZDecompressVram(gIntro3KyogreGfx, (void *)VRAM);
LZDecompressVram(gIntro3KyogreTilemap, (void *)(VRAM + 0xC000));
LZDecompressVram(gIntro3KyogreBgTilemap, (void *)(VRAM + 0xE000));
- LoadCompressedObjectPic(gUnknown_085E4C88);
+ LoadCompressedSpriteSheet(gUnknown_085E4C88);
LoadSpritePalette(gUnknown_085E4C98);
BeginNormalPaletteFade(0xFFFFFFFE, 0, 0x10, 0, RGB_WHITEALPHA);
gTasks[taskId].func = Task_IntroFadeIn0;
@@ -2092,7 +2092,7 @@ static void Task_IntroFadeIn5(u8 taskId)
gTasks[taskId].data[0] = 0;
gTasks[taskId].data[6] = 1;
gTasks[taskId].data[7] = 0;
- LoadCompressedObjectPicUsingHeap(gUnknown_085E4BF4);
+ LoadCompressedSpriteSheetUsingHeap(gUnknown_085E4BF4);
LoadSpritePalettes(gUnknown_085E4C04);
}
@@ -2169,7 +2169,7 @@ static void Task_IntroFadeIn7(u8 taskId)
{
u8 newTaskId;
- LoadCompressedObjectPic(gUnknown_085E5048);
+ LoadCompressedSpriteSheet(gUnknown_085E5048);
LoadSpritePalettes(gUnknown_085E5058);
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0
| DISPCNT_OBJ_1D_MAP
diff --git a/src/intro_credits_graphics.c b/src/intro_credits_graphics.c
index 20a360901..d85e58938 100644
--- a/src/intro_credits_graphics.c
+++ b/src/intro_credits_graphics.c
@@ -341,7 +341,7 @@ void load_intro_part2_graphics(u8 a)
LZ77UnCompVram(gUnknown_085F0DBC, (void *)(VRAM));
LZ77UnCompVram(gUnknown_085F1398, (void *)(VRAM + 0x3000));
LoadPalette(&gUnknown_085F0CFC, 0, 96);
- LoadCompressedObjectPic(gUnknown_085F5064);
+ LoadCompressedSpriteSheet(gUnknown_085F5064);
LoadPalette(&gUnknown_085F1668, 256, 32);
sub_817B76C();
break;
@@ -349,7 +349,7 @@ void load_intro_part2_graphics(u8 a)
LZ77UnCompVram(gUnknown_085F1824, (void *)(VRAM));
LZ77UnCompVram(gUnknown_085F1EAC, (void *)(VRAM + 0x3000));
LoadPalette(&gUnknown_085F17E4, 0, 32);
- LoadCompressedObjectPic(gUnknown_085F50EC);
+ LoadCompressedSpriteSheet(gUnknown_085F50EC);
LoadPalette(&gUnknown_085F21B0, 256, 32);
sub_817B788();
break;
@@ -447,7 +447,7 @@ void sub_817B1C8(u8 a)
LZ77UnCompVram(gUnknown_085F0DBC, (void *)(VRAM));
LZ77UnCompVram(gUnknown_085F1398, (void *)(VRAM + 0x3000));
LoadPalette(&gUnknown_085F0CFC, 0, 96);
- LoadCompressedObjectPic(gUnknown_085F5064);
+ LoadCompressedSpriteSheet(gUnknown_085F5064);
LZ77UnCompVram(gUnknown_085F16A8, (void *)(VRAM + 0x10000));
LoadPalette(&gUnknown_085F1668, 256, 32);
sub_817B76C();
@@ -457,7 +457,7 @@ void sub_817B1C8(u8 a)
LZ77UnCompVram(gUnknown_085F0DBC, (void *)(VRAM));
LZ77UnCompVram(gUnknown_085F1398, (void *)(VRAM + 0x3000));
LoadPalette(&gUnknown_085F0D5C, 0, 96);
- LoadCompressedObjectPic(gUnknown_085F5064);
+ LoadCompressedSpriteSheet(gUnknown_085F5064);
LZ77UnCompVram(gUnknown_085F16A8, (void *)(VRAM + 0x10000));
LoadPalette(&gUnknown_085F1688, 256, 32);
sub_817B76C();
@@ -468,7 +468,7 @@ void sub_817B1C8(u8 a)
LZ77UnCompVram(gUnknown_085F1824, (void *)(VRAM));
LZ77UnCompVram(gUnknown_085F1EAC, (void *)(VRAM + 0x3000));
LoadPalette(&gUnknown_085F1804, 0, 32);
- LoadCompressedObjectPic(gUnknown_085F50EC);
+ LoadCompressedSpriteSheet(gUnknown_085F50EC);
LoadPalette(&gUnknown_085F1804, 256, 32);
sub_817B788();
break;
@@ -477,7 +477,7 @@ void sub_817B1C8(u8 a)
LZ77UnCompVram(gUnknown_085F235C, (void *)(VRAM));
LZ77UnCompVram(gUnknown_085F2568, (void *)(VRAM + 0x3000));
LoadPalette(&gUnknown_085F231C, 0, 64);
- LoadCompressedObjectPic(gUnknown_085F5180);
+ LoadCompressedSpriteSheet(gUnknown_085F5180);
LoadPalette(&gUnknown_085F2548, 256, 32);
sub_817B7A4();
break;
diff --git a/src/item_icon.c b/src/item_icon.c
index d037782bd..e9379dbba 100644
--- a/src/item_icon.c
+++ b/src/item_icon.c
@@ -107,7 +107,7 @@ u8 AddItemIconSprite(u16 tilesTag, u16 paletteTag, u16 itemId)
spritePalette.data = GetItemIconPicOrPalette(itemId, 1);
spritePalette.tag = paletteTag;
- LoadCompressedObjectPalette(&spritePalette);
+ LoadCompressedSpritePalette(&spritePalette);
spriteTemplate = Alloc(sizeof(*spriteTemplate));
CpuCopy16(&gItemIconSpriteTemplate, spriteTemplate, sizeof(*spriteTemplate));
@@ -144,7 +144,7 @@ u8 AddCustomItemIconSprite(struct SpriteTemplate *customSpriteTemplate, u16 tile
spritePalette.data = GetItemIconPicOrPalette(itemId, 1);
spritePalette.tag = paletteTag;
- LoadCompressedObjectPalette(&spritePalette);
+ LoadCompressedSpritePalette(&spritePalette);
spriteTemplate = Alloc(sizeof(*spriteTemplate));
CpuCopy16(customSpriteTemplate, spriteTemplate, sizeof(*spriteTemplate));
diff --git a/src/item_menu.c b/src/item_menu.c
index 32c42ac31..a220f02ef 100755
--- a/src/item_menu.c
+++ b/src/item_menu.c
@@ -713,13 +713,13 @@ bool8 load_bag_menu_graphics(void)
break;
case 3:
if (IsWallysBag() == TRUE || gSaveBlock2Ptr->playerGender == MALE)
- LoadCompressedObjectPic(&gUnknown_0857FB34);
+ LoadCompressedSpriteSheet(&gUnknown_0857FB34);
else
- LoadCompressedObjectPic(&gUnknown_0857FB3C);
+ LoadCompressedSpriteSheet(&gUnknown_0857FB3C);
gUnknown_0203CE54->unk834++;
break;
case 4:
- LoadCompressedObjectPalette(&gUnknown_0857FB44);
+ LoadCompressedSpritePalette(&gUnknown_0857FB44);
gUnknown_0203CE54->unk834++;
break;
default:
@@ -1564,7 +1564,7 @@ void Task_HandleOutOfBattleItemMenuInput(u8 taskId)
{
if (sub_81221EC() != TRUE)
{
- s8 cursorPos = GetMenuCursorPos();
+ s8 cursorPos = Menu_GetCursorPos();
if (gMain.newKeys & DPAD_UP)
{
if (cursorPos > 0 && sub_81ACDFC(cursorPos - 2))
diff --git a/src/item_menu_icons.c b/src/item_menu_icons.c
index 894574ec9..669195b33 100644
--- a/src/item_menu_icons.c
+++ b/src/item_menu_icons.c
@@ -583,7 +583,7 @@ static void sub_80D5070(u8 berryId)
pal.data = gBerryPicTable[berryId].pal;
pal.tag = 0x7544;
- LoadCompressedObjectPalette(&pal);
+ LoadCompressedSpritePalette(&pal);
LZDecompressWram(gBerryPicTable[berryId].tiles, &gDecompressionBuffer[0x1000]);
sub_80D5018(&gDecompressionBuffer[0x1000], &gDecompressionBuffer[0]);
}
diff --git a/src/item_use.c b/src/item_use.c
index 474b16ae1..f82071a17 100755
--- a/src/item_use.c
+++ b/src/item_use.c
@@ -38,7 +38,7 @@
#include "constants/vars.h"
extern void(*gUnknown_0203A0F4)(u8 taskId);
-extern void (*gUnknown_03006328)(u8, u16, TaskFunc);
+extern void (*gUnknown_03006328)(u8, TaskFunc);
extern void unknown_ItemMenu_Confirm(u8 taskId);
extern void sub_81C5B14(u8 taskId);
extern void ScriptUnfreezeEventObjects(void);
@@ -52,7 +52,7 @@ extern u8 BattleFrontier_OutsideEast_EventScript_242CFC[];
extern int sub_80247BC(void);
extern struct MapHeader* mapconnection_get_mapheader(struct MapConnection *connection);
extern void SetUpItemUseCallback(u8 taskId);
-extern void ItemUseCB_Medicine(u8, u16, TaskFunc);
+extern void ItemUseCB_Medicine(u8, TaskFunc);
extern void bag_menu_yes_no(u8, u8, const struct YesNoFuncTable*);
extern void sub_81C5924(void);
extern void sub_81C59BC(void);
diff --git a/src/lilycove_lady.c b/src/lilycove_lady.c
index 1012a8e08..3d4f8a90d 100644
--- a/src/lilycove_lady.c
+++ b/src/lilycove_lady.c
@@ -5,7 +5,9 @@
#include "global.h"
#include "main.h"
#include "overworld.h"
-#include "rom6.h"
+#include "fldeff.h"
+#include "field_specials.h"
+#include "pokeblock.h"
#include "event_data.h"
#include "script.h"
#include "random.h"
diff --git a/src/link_rfu.c b/src/link_rfu.c
index 2c6e22475..5f4beadee 100644
--- a/src/link_rfu.c
+++ b/src/link_rfu.c
@@ -2244,7 +2244,7 @@ void sub_800E0E8(void)
{
if (GetSpriteTileStartByTag(sWirelessStatusIndicatorSpriteSheet.tag) == 0xFFFF)
{
- LoadCompressedObjectPic(&sWirelessStatusIndicatorSpriteSheet);
+ LoadCompressedSpriteSheet(&sWirelessStatusIndicatorSpriteSheet);
}
LoadSpritePalette(&sWirelessStatusIndicatorSpritePalette);
gWirelessStatusIndicatorSpriteId = 0xFF;
diff --git a/src/list_menu.c b/src/list_menu.c
index caf4b798d..2476fae26 100644
--- a/src/list_menu.c
+++ b/src/list_menu.c
@@ -1074,7 +1074,7 @@ u8 AddScrollIndicatorArrowPair(const struct ScrollArrowsTemplate *arrowInfo, u16
spriteSheet.data = sRedArrowOtherGfx;
spriteSheet.size = 0x100;
spriteSheet.tag = arrowInfo->tileTag;
- LoadCompressedObjectPic(&spriteSheet);
+ LoadCompressedSpriteSheet(&spriteSheet);
if (arrowInfo->palTag == SPRITE_INVALID_TAG)
{
@@ -1320,7 +1320,7 @@ static u8 ListMenuAddRedOutlineCursorObject(struct CursorStruct *cursor)
spriteSheet.data = sSelectorOutlineGfx;
spriteSheet.size = 0x100;
spriteSheet.tag = cursor->tileTag;
- LoadCompressedObjectPic(&spriteSheet);
+ LoadCompressedSpriteSheet(&spriteSheet);
if (cursor->palTag == SPRITE_INVALID_TAG)
{
@@ -1405,7 +1405,7 @@ static u8 ListMenuAddRedArrowCursorObject(struct CursorStruct *cursor)
spriteSheet.data = sRedArrowGfx;
spriteSheet.size = 0x80;
spriteSheet.tag = cursor->tileTag;
- LoadCompressedObjectPic(&spriteSheet);
+ LoadCompressedSpriteSheet(&spriteSheet);
if (cursor->palTag == SPRITE_INVALID_TAG)
{
diff --git a/src/load_save.c b/src/load_save.c
index 8ecf89959..963626428 100644
--- a/src/load_save.c
+++ b/src/load_save.c
@@ -3,6 +3,7 @@
#include "load_save.h"
#include "main.h"
#include "pokemon.h"
+#include "pokemon_storage_system.h"
#include "random.h"
#include "alloc.h"
#include "item.h"
diff --git a/src/main_menu.c b/src/main_menu.c
index e11f783eb..4cd5c8e14 100644
--- a/src/main_menu.c
+++ b/src/main_menu.c
@@ -1394,7 +1394,7 @@ static void Task_NewGameBirchSpeech_ChooseGender(u8 taskId)
gTasks[taskId].func = Task_NewGameBirchSpeech_WhatsYourName;
break;
}
- gender2 = GetMenuCursorPos();
+ gender2 = Menu_GetCursorPos();
if (gender2 != gTasks[taskId].tPlayerGender)
{
gTasks[taskId].tPlayerGender = gender2;
diff --git a/src/menu.c b/src/menu.c
index 61096138a..e0e5eb4eb 100644
--- a/src/menu.c
+++ b/src/menu.c
@@ -132,7 +132,7 @@ extern void sub_8197BB4(u8, u8, u8, u8, u8, u8);
extern void sub_8197E30(u8, u8, u8, u8, u8, u8);
extern void DrawWindowBorder(u8, u8, u8, u8, u8, u8);
extern void sub_81980A8(u8, u8, u8, u8, u8, u8);
-extern u8 MoveMenuCursor(s8);
+extern u8 Menu_MoveCursor(s8);
extern u8 sub_8199134(s8, s8);
extern void sub_8198C78(void);
extern void task_free_buf_after_copying_tile_data_to_vram(u8 taskId);
@@ -910,7 +910,7 @@ u8 sub_8198348(u8 windowId, u8 fontId, u8 left, u8 top, u8 cursorHeight, u8 numC
else
gUnknown_0203CD90.cursorPos = pos;
- MoveMenuCursor(0);
+ Menu_MoveCursor(0);
return gUnknown_0203CD90.cursorPos;
}
@@ -935,7 +935,7 @@ void RedrawMenuCursor(u8 oldPos, u8 newPos)
AddTextPrinterParameterized(gUnknown_0203CD90.windowId, gUnknown_0203CD90.fontId, gText_SelectorArrow3, gUnknown_0203CD90.left, gUnknown_0203CD90.optionHeight * newPos + gUnknown_0203CD90.top, 0, 0);
}
-u8 MoveMenuCursor(s8 cursorDelta)
+u8 Menu_MoveCursor(s8 cursorDelta)
{
u8 oldPos = gUnknown_0203CD90.cursorPos;
int newPos = gUnknown_0203CD90.cursorPos + cursorDelta;
@@ -951,7 +951,7 @@ u8 MoveMenuCursor(s8 cursorDelta)
return gUnknown_0203CD90.cursorPos;
}
-u8 MoveMenuCursorNoWrapAround(s8 cursorDelta)
+u8 Menu_MoveCursorNoWrapAround(s8 cursorDelta)
{
u8 oldPos = gUnknown_0203CD90.cursorPos;
int newPos = gUnknown_0203CD90.cursorPos + cursorDelta;
@@ -967,7 +967,7 @@ u8 MoveMenuCursorNoWrapAround(s8 cursorDelta)
return gUnknown_0203CD90.cursorPos;
}
-u8 GetMenuCursorPos(void)
+u8 Menu_GetCursorPos(void)
{
return gUnknown_0203CD90.cursorPos;
}
@@ -987,13 +987,13 @@ s8 Menu_ProcessInput(void)
else if (gMain.newKeys & DPAD_UP)
{
PlaySE(SE_SELECT);
- MoveMenuCursor(-1);
+ Menu_MoveCursor(-1);
return MENU_NOTHING_CHOSEN;
}
else if (gMain.newKeys & DPAD_DOWN)
{
PlaySE(SE_SELECT);
- MoveMenuCursor(1);
+ Menu_MoveCursor(1);
return MENU_NOTHING_CHOSEN;
}
@@ -1016,13 +1016,13 @@ s8 Menu_ProcessInputNoWrap(void)
}
else if (gMain.newKeys & DPAD_UP)
{
- if (oldPos != MoveMenuCursorNoWrapAround(-1))
+ if (oldPos != Menu_MoveCursorNoWrapAround(-1))
PlaySE(SE_SELECT);
return MENU_NOTHING_CHOSEN;
}
else if (gMain.newKeys & DPAD_DOWN)
{
- if (oldPos != MoveMenuCursorNoWrapAround(1))
+ if (oldPos != Menu_MoveCursorNoWrapAround(1))
PlaySE(SE_SELECT);
return MENU_NOTHING_CHOSEN;
}
@@ -1045,13 +1045,13 @@ s8 ProcessMenuInput_other(void)
else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_UP)
{
PlaySE(SE_SELECT);
- MoveMenuCursor(-1);
+ Menu_MoveCursor(-1);
return MENU_NOTHING_CHOSEN;
}
else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_DOWN)
{
PlaySE(SE_SELECT);
- MoveMenuCursor(1);
+ Menu_MoveCursor(1);
return MENU_NOTHING_CHOSEN;
}
@@ -1074,13 +1074,13 @@ s8 Menu_ProcessInputNoWrapAround_other(void)
}
else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_UP)
{
- if (oldPos != MoveMenuCursorNoWrapAround(-1))
+ if (oldPos != Menu_MoveCursorNoWrapAround(-1))
PlaySE(SE_SELECT);
return MENU_NOTHING_CHOSEN;
}
else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_DOWN)
{
- if (oldPos != MoveMenuCursorNoWrapAround(1))
+ if (oldPos != Menu_MoveCursorNoWrapAround(1))
PlaySE(SE_SELECT);
return MENU_NOTHING_CHOSEN;
}
@@ -1588,7 +1588,7 @@ u8 InitMenuInUpperLeftCorner(u8 windowId, u8 itemCount, u8 initialCursorPos, boo
else
gUnknown_0203CD90.cursorPos = pos;
- return MoveMenuCursor(0);
+ return Menu_MoveCursor(0);
}
u8 InitMenuInUpperLeftCornerPlaySoundWhenAPressed(u8 windowId, u8 itemCount, u8 initialCursorPos)
@@ -1797,9 +1797,9 @@ bool8 free_temp_tile_data_buffers_if_possible(void)
}
}
-void *decompress_and_copy_tile_data_to_vram(u8 bgId, const void *src, int size, u16 offset, u8 mode)
+void *decompress_and_copy_tile_data_to_vram(u8 bgId, const void *src, u32 size, u16 offset, u8 mode)
{
- int sizeOut;
+ u32 sizeOut;
if (gUnknown_0203CDA8 < ARRAY_COUNT(gUnknown_0203CDAC))
{
void *ptr = malloc_and_decompress(src, &sizeOut);
@@ -1815,9 +1815,9 @@ void *decompress_and_copy_tile_data_to_vram(u8 bgId, const void *src, int size,
return NULL;
}
-void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void *src, int size, u16 offset, u8 mode)
+void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void *src, u32 size, u16 offset, u8 mode)
{
- int sizeOut;
+ u32 sizeOut;
void *ptr = malloc_and_decompress(src, &sizeOut);
if (!size)
size = sizeOut;
@@ -1838,7 +1838,7 @@ void task_free_buf_after_copying_tile_data_to_vram(u8 taskId)
}
}
-void *malloc_and_decompress(const void *src, int *size)
+void *malloc_and_decompress(const void *src, u32 *size)
{
void *ptr;
u8 *sizeAsBytes = (u8 *)size;
diff --git a/src/menu_helpers.c b/src/menu_helpers.c
index a3c0be36a..0adc6228e 100644
--- a/src/menu_helpers.c
+++ b/src/menu_helpers.c
@@ -394,8 +394,8 @@ void sub_8122298(u16 *arg0, u16 *arg1, u8 arg2, u8 arg3, u8 arg4)
void LoadListMenuArrowsGfx(void)
{
- LoadCompressedObjectPic(&gUnknown_0859F514);
- LoadCompressedObjectPalette(&gUnknown_0859F51C);
+ LoadCompressedSpriteSheet(&gUnknown_0859F514);
+ LoadCompressedSpritePalette(&gUnknown_0859F51C);
}
void sub_8122344(u8 *spriteIds, u8 count)
diff --git a/src/mon_markings.c b/src/mon_markings.c
index 30015dbef..48f0f5ecb 100644
--- a/src/mon_markings.c
+++ b/src/mon_markings.c
@@ -390,7 +390,6 @@ void sub_811FAF8(void)
}
}
-
bool8 sub_811FBA4(void)
{
u16 i;
diff --git a/src/money.c b/src/money.c
index a347f818d..faf830637 100644
--- a/src/money.c
+++ b/src/money.c
@@ -186,8 +186,8 @@ void HideMoneyBox(void)
void AddMoneyLabelObject(u16 x, u16 y)
{
- LoadCompressedObjectPic(&sSpriteSheet_MoneyLabel);
- LoadCompressedObjectPalette(&sSpritePalette_MoneyLabel);
+ LoadCompressedSpriteSheet(&sSpriteSheet_MoneyLabel);
+ LoadCompressedSpritePalette(&sSpritePalette_MoneyLabel);
sMoneyLabelSpriteId = CreateSprite(&sSpriteTemplate_MoneyLabel, x, y, 0);
}
diff --git a/src/normal.c b/src/normal.c
index e20f74588..95c99d29e 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -880,9 +880,9 @@ void sub_8116388(struct Sprite *sprite)
{
StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]);
if (gBattleAnimArgs[2] == 0)
- InitAnimSpritePos(sprite, 1);
+ InitSpritePosToAnimAttacker(sprite, 1);
else
- sub_80A6980(sprite, TRUE);
+ InitSpritePosToAnimTarget(sprite, TRUE);
sprite->callback = RunStoredCallbackWhenAffineAnimEnds;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
@@ -892,9 +892,9 @@ static void sub_81163D0(struct Sprite *sprite)
{
StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]);
if (gBattleAnimArgs[2] == 0)
- InitAnimSpritePos(sprite, 1);
+ InitSpritePosToAnimAttacker(sprite, 1);
else
- sub_80A6980(sprite, TRUE);
+ InitSpritePosToAnimTarget(sprite, TRUE);
sprite->data[0] = gBattleAnimArgs[4];
sprite->callback = RunStoredCallbackWhenAffineAnimEnds;
@@ -916,9 +916,9 @@ void sub_8116458(struct Sprite *sprite)
StartSpriteAffineAnim(sprite, gBattleAnimArgs[1]);
if (gBattleAnimArgs[0] == 0)
- InitAnimSpritePos(sprite, 0);
+ InitSpritePosToAnimAttacker(sprite, 0);
else
- sub_80A6980(sprite, FALSE);
+ InitSpritePosToAnimTarget(sprite, FALSE);
sprite->pos2.x += (Random2() % 48) - 24;
sprite->pos2.y += (Random2() % 24) - 12;
@@ -942,9 +942,9 @@ void sub_81164F0(struct Sprite *sprite)
void sub_8116560(struct Sprite *sprite)
{
if (gBattleAnimArgs[2] == 0)
- InitAnimSpritePos(sprite, 1);
+ InitSpritePosToAnimAttacker(sprite, 1);
else
- sub_80A6980(sprite, TRUE);
+ InitSpritePosToAnimTarget(sprite, TRUE);
sprite->data[0] = gBattleAnimArgs[3];
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
@@ -955,9 +955,9 @@ void sub_81165A8(struct Sprite *sprite)
{
StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]);
if (gBattleAnimArgs[2] == 0)
- InitAnimSpritePos(sprite, 1);
+ InitSpritePosToAnimAttacker(sprite, 1);
else
- sub_80A6980(sprite, TRUE);
+ InitSpritePosToAnimTarget(sprite, TRUE);
sprite->callback = sub_81165E4;
}
diff --git a/src/overworld.c b/src/overworld.c
index 6998c9d98..27bd0425a 100644
--- a/src/overworld.c
+++ b/src/overworld.c
@@ -1340,7 +1340,7 @@ void UpdateAmbientCry(s16 *state, u16 *delayCounter)
monsCount = CalculatePlayerPartyCount();
for (i = 0; i < monsCount; i++)
{
- if (!GetMonData(&gPlayerParty[i], MON_DATA_SANITY_BIT3)
+ if (!GetMonData(&gPlayerParty[i], MON_DATA_SANITY_IS_EGG)
&& GetMonAbility(&gPlayerParty[0]) == ABILITY_SWARM)
{
divBy = 2;
diff --git a/src/party_menu.c b/src/party_menu.c
new file mode 100755
index 000000000..f8e312217
--- /dev/null
+++ b/src/party_menu.c
@@ -0,0 +1,7434 @@
+#include "global.h"
+#include "alloc.h"
+#include "battle.h"
+#include "battle_anim.h"
+#include "battle_controllers.h"
+#include "battle_gfx_sfx_util.h"
+#include "battle_interface.h"
+#include "battle_pike.h"
+#include "battle_pyramid.h"
+#include "battle_pyramid_bag.h"
+#include "bg.h"
+#include "contest.h"
+#include "data2.h"
+#include "decompress.h"
+#include "easy_chat.h"
+#include "event_data.h"
+#include "evolution_scene.h"
+#include "field_control_avatar.h"
+#include "field_effect.h"
+#include "field_player_avatar.h"
+#include "field_screen_effect.h"
+#include "field_specials.h"
+#include "field_weather.h"
+#include "fieldmap.h"
+#include "fldeff.h"
+#include "fldeff_misc.h"
+#include "frontier_util.h"
+#include "gpu_regs.h"
+#include "graphics.h"
+#include "international_string_util.h"
+#include "item.h"
+#include "item_menu.h"
+#include "item_use.h"
+#include "link.h"
+#include "link_rfu.h"
+#include "mail.h"
+#include "main.h"
+#include "menu.h"
+#include "menu_helpers.h"
+#include "metatile_behavior.h"
+#include "overworld.h"
+#include "palette.h"
+#include "party_menu.h"
+#include "pokemon.h"
+#include "pokemon_icon.h"
+#include "pokemon_storage_system.h"
+#include "pokemon_summary_screen.h"
+#include "pokenav.h"
+#include "region_map.h"
+#include "reshow_battle_screen.h"
+#include "rom_8011DC0.h"
+#include "scanline_effect.h"
+#include "script.h"
+#include "sound.h"
+#include "sprite.h"
+#include "start_menu.h"
+#include "string_util.h"
+#include "strings.h"
+#include "task.h"
+#include "text.h"
+#include "text_window.h"
+#include "trade.h"
+#include "window.h"
+#include "constants/battle.h"
+#include "constants/battle_frontier.h"
+#include "constants/field_effects.h"
+#include "constants/flags.h"
+#include "constants/items.h"
+#include "constants/maps.h"
+#include "constants/moves.h"
+#include "constants/rgb.h"
+#include "constants/songs.h"
+#include "constants/species.h"
+#include "constants/vars.h"
+
+enum
+{
+ CAN_LEARN_MOVE,
+ CANNOT_LEARN_MOVE,
+ ALREADY_KNOWS_MOVE,
+ CANNOT_LEARN_MOVE_IS_EGG
+};
+
+struct Unk_Rodata1
+{
+ void (*unk0)(u8, u8, u8, u8, u8, u8);
+ u8 unk4[24];
+ u8 unk1C;
+ u8 unk1D;
+ u8 unk1E;
+ u8 unk1F;
+};
+
+struct Struct203CEC4
+{
+ TaskFunc unk0;
+ MainCallback exitCallback;
+ u32 unk8_0:1;
+ u32 unk8_1:3;
+ u32 unk8_2:7;
+ u32 unk9_0:7;
+ u32 unkA_0:14;
+ u8 unkC[3];
+ u8 unkF[8];
+ u8 unk17;
+ u16 palBuffer[0xB0];
+ u8 filler[0xA0];
+ s16 data[16];
+};
+
+struct Struct203CEDC
+{
+ const struct Unk_Rodata1 *unk0;
+ const u8 *unk4;
+ u8 windowId;
+ u8 unk9;
+ u8 unkA;
+ u8 unkB;
+ u8 unkC;
+};
+
+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;
+EWRAM_DATA MainCallback gPostMenuFieldCallback = NULL;
+static EWRAM_DATA u16 *gUnknown_0203CEF0 = 0;
+static EWRAM_DATA u16 *gUnknown_0203CEF4 = 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};
+
+extern void (*gUnknown_03006328)(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 bool8 AllocPartyMenuBg(void);
+static bool8 AllocPartyMiscGfx(void);
+static void sub_81B239C(u8);
+static void PartyMenuInitHelperStructs(u8);
+static void LoadPartyMenuPokeballGfx(void);
+static void LoadPartyMenuAilmentGfx(void);
+static bool8 party_menu_add_per_mon_objects(void);
+static bool8 RenderPartyMenuBoxes(void);
+static void sub_81B0F28(void);
+static void sub_81B2428(u8);
+static void PartyMenuExitTask(u8);
+static void FreePartyPointers(void);
+static void PartyPaletteBufferCopy(u8);
+static void sub_81B0CEC(u8);
+static void UpdateSelectedPartyBox(struct Struct203CEDC *, u8);
+static void sub_81B2720(u8);
+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 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 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 AnimateSelectedPartyIcon(u8, u8);
+static void sub_81B5F98(u8, u8);
+static u8 GetPartyBoxPalBitfield(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 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 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 bool8 CanLearnTutorMove(u16, u8);
+static u16 GetTutorMove(u8);
+static bool8 sub_81B314C(void);
+static void sub_81B3414(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 void sub_81B5E74(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 u16 sub_81B691C(struct Pokemon*, u8);
+static void option_menu_get_string(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 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 SetUpFieldMove_Surf(void);
+static bool8 SetUpFieldMove_Fly(void);
+static bool8 SetUpFieldMove_Waterfall(void);
+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 gUnknown_086157FC[][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 gUnknown_08615988[] = {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 gUnknown_086159CE[] = {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 gUnknown_08615A14[] = {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 gUnknown_08615A4A[] = {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 gUnknown_08615A80[] = {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 gUnknown_08615AF4[] =
+{
+ gUnknown_085E9E43,
+ gUnknown_085EA010,
+ gUnknown_085EA02A,
+ gUnknown_085E9E55,
+ gUnknown_085E9E64,
+ gUnknown_085E9E79,
+ gUnknown_085E9E8F,
+ gUnknown_085E9EBC,
+ gUnknown_085E9ED4,
+ gUnknown_085E9EE9,
+ gUnknown_085E9FDB,
+ gUnknown_085EA046,
+ gUnknown_085EA05B,
+ gUnknown_085E9F01,
+ gUnknown_085E9F58,
+ gUnknown_085E9F6F,
+ gUnknown_085E9F81,
+ gUnknown_085E9F90,
+ gUnknown_085E9FA7,
+ gUnknown_085E9FC2,
+ gText_EmptyString2,
+ gUnknown_085E9EA6,
+ gUnknown_085E9F16,
+ gUnknown_085E9F2A,
+ gUnknown_085E9F42,
+ gUnknown_085E9FF9,
+ gUnknown_085EA073,
+};
+
+static const u8 *const gUnknown_08615B60[] =
+{
+ gUnknown_085EA091,
+ gUnknown_085EA099,
+ gUnknown_085EA09E,
+ gUnknown_085EA0A4,
+ gUnknown_085EA0AB,
+ gUnknown_085EA0E7,
+ gUnknown_085EA0B1,
+ gUnknown_085EA0B6,
+ gUnknown_085EA0BF,
+ gUnknown_085EA0C5,
+ gUnknown_085EA0CF,
+ gUnknown_085EA0D7,
+ gUnknown_085EA0DC,
+};
+
+// 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[] = {0, 1, 2};
+static const u8 gUnknown_08615D13[] = {10, 0, 2};
+static const u8 gUnknown_08615D16[] = {11, 0, 2};
+static const u8 gUnknown_08615D19[] = {0, 2};
+static const u8 gUnknown_08615D1B[] = {12, 0, 2};
+static const u8 gUnknown_08615D1E[] = {13, 0, 2};
+static const u8 gUnknown_08615D21[] = {14, 0, 2};
+static const u8 gUnknown_08615D24[] = {4, 5, 9};
+static const u8 gUnknown_08615D27[] = {8, 7, 9};
+static const u8 gUnknown_08615D2A[] = {15, 0, 2};
+static const u8 gUnknown_08615D2D[] = {16, 0, 2};
+static const u8 gUnknown_08615D30[] = {17, 0, 2};
+static const u8 gUnknown_08615D33[] = {5, 18, 2};
+
+static const u8 *const gUnknown_08615D38[] =
+{
+ 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 gUnknown_08615D70[] = {0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03};
+
+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 gUnknown_08615E30[] = INCBIN_U32("graphics/interface/hold_icons.4bpp");
+static const u16 gUnknown_08615E70[] = INCBIN_U16("graphics/interface/hold_icons.gbapal");
+
+static const struct OamData gOamData_83765EC =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 0,
+ .tileNum = 0,
+ .priority = 1,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+static const union AnimCmd gSpriteAnim_83765F4[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd gSpriteAnim_83765FC[] =
+{
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const gSpriteAnimTable_8376604[] =
+{
+ gSpriteAnim_83765F4,
+ gSpriteAnim_83765FC,
+};
+
+static const struct SpriteSheet gUnknown_08615EB0 =
+{
+ gUnknown_08615E30, sizeof(gUnknown_08615E30), 0xd750
+};
+
+static const struct SpritePalette gUnknown_08615EB8 =
+{
+ gUnknown_08615E70, 0xd750
+};
+
+static const struct SpriteTemplate gSpriteTemplate_8615EC0 =
+{
+ 0xd750,
+ 0xd750,
+ &gOamData_83765EC,
+ gSpriteAnimTable_8376604,
+ NULL,
+ gDummySpriteAffineAnimTable,
+ SpriteCallbackDummy
+};
+
+static const struct OamData sOamData_8615ED8 =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 2,
+ .tileNum = 0,
+ .priority = 1,
+ .paletteNum = 0,
+ .affineParam = 0
+};
+
+static const union AnimCmd sSpriteAnim_8615EE0[] =
+{
+ ANIMCMD_FRAME(0, 0),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_8615EE8[] =
+{
+ ANIMCMD_FRAME(16, 0),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const sSpriteAnimTable_8615EF0[] =
+{
+ sSpriteAnim_8615EE0,
+ sSpriteAnim_8615EE8
+};
+
+static const struct CompressedSpriteSheet gUnknown_08615EF8 =
+{
+ gPartyMenuPokeball_Gfx, 0x400, 0x04b0
+};
+
+static const struct CompressedSpritePalette gUnknown_08615F00 =
+{
+ gPartyMenuPokeball_Pal, 0x04b0
+};
+
+static const struct SpriteTemplate gSpriteTemplate_8615F08 =
+{
+ .tileTag = 0x04b0,
+ .paletteTag = 0x04b0,
+ .oam = &sOamData_8615ED8,
+ .anims = sSpriteAnimTable_8615EF0,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+static const struct OamData sOamData_8615F20 =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 1,
+ .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 gUnknown_08615F70 =
+{
+ 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_8615F90 =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 1,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 1,
+ .tileNum = 0,
+ .priority = 1,
+ .paletteNum = 0,
+ .affineParam = 0
+};
+
+static const union AnimCmd sSpriteAnim_8615F98[] =
+{
+ ANIMCMD_FRAME(0, 0),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_8615FA0[] =
+{
+ ANIMCMD_FRAME(4, 0),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_8615FA8[] =
+{
+ ANIMCMD_FRAME(8, 0),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_8615FB0[] =
+{
+ ANIMCMD_FRAME(12, 0),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_8615FB8[] =
+{
+ ANIMCMD_FRAME(16, 0),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_8615FC0[] =
+{
+ ANIMCMD_FRAME(20, 0),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_8615FC8[] =
+{
+ ANIMCMD_FRAME(24, 0),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_8615FD0[] =
+{
+ ANIMCMD_FRAME(28, 0),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const sSpriteAnimTable_8615FD8[] =
+{
+ sSpriteAnim_8615F98,
+ sSpriteAnim_8615FA0,
+ sSpriteAnim_8615FA8,
+ sSpriteAnim_8615FB0,
+ sSpriteAnim_8615FB8,
+ sSpriteAnim_8615FC0,
+ sSpriteAnim_8615FC8,
+ sSpriteAnim_8615FD0
+};
+
+static const struct CompressedSpriteSheet gUnknown_08615FF8 =
+{
+ gStatusGfx_Icons, 0x400, 1202
+};
+
+static const struct CompressedSpritePalette gUnknown_08616000 =
+{
+ gStatusPal_Icons, 1202
+};
+
+static const struct SpriteTemplate gSpriteTemplate_8616008 =
+{
+ .tileTag = 1202,
+ .paletteTag = 1202,
+ .oam = &sOamData_8615F90,
+ .anims = sSpriteAnimTable_8615FD8,
+ .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,
+};
+
+// code
+static void InitPartyMenu(u8 a, u8 b, u8 c, u8 d, u8 e, TaskFunc task, MainCallback callback)
+{
+ u16 i;
+
+ reset_brm();
+ gUnknown_0203CEC4 = Alloc(sizeof(struct Struct203CEC4));
+ if (gUnknown_0203CEC4 == NULL)
+ {
+ SetMainCallback2(callback);
+ }
+ else
+ {
+ gUnknown_0203CEC8.unk8_0 = a;
+ gUnknown_0203CEC8.exitCallback = callback;
+ gUnknown_0203CEC8.unkB = c;
+ gUnknown_0203CEC4->unkA_0 = e;
+ gUnknown_0203CEC4->unk0 = task;
+ gUnknown_0203CEC4->exitCallback = NULL;
+ gUnknown_0203CEC4->unk8_1 = 0;
+ gUnknown_0203CEC4->unk8_2 = 0xFF;
+ gUnknown_0203CEC4->unk9_0 = 0xFF;
+
+ if (a == 4)
+ gUnknown_0203CEC4->unk8_0 = TRUE;
+ else
+ gUnknown_0203CEC4->unk8_0 = FALSE;
+
+ if (b != 0xFF)
+ gUnknown_0203CEC8.mode = b;
+
+ for (i = 0; i <= 15; i++)
+ gUnknown_0203CEC4->data[i] = 0;
+ for (i = 0; i < 3; i++)
+ gUnknown_0203CEC4->unkC[i] |= 0xFF;
+
+ if (d == 0)
+ gUnknown_0203CEC8.unk9 = 0;
+ else if (gUnknown_0203CEC8.unk9 > 5 || GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_SPECIES) == SPECIES_NONE)
+ gUnknown_0203CEC8.unk9 = 0; // wut why is this else if?
+
+ gTextFlags.autoScroll = 0;
+ CalculatePlayerPartyCount();
+ SetMainCallback2(PartyMenuInitCallback);
+ }
+}
+
+static void PartyMenuCallback(void)
+{
+ RunTasks();
+ AnimateSprites();
+ BuildOamBuffer();
+ do_scheduled_bg_tilemap_copies_to_vram();
+ UpdatePaletteFade();
+}
+
+static void PartyMenuVBlankCallback(void)
+{
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+}
+
+static void PartyMenuInitCallback(void)
+{
+ while (TRUE)
+ {
+ if (sub_81221EC() == TRUE || PartyMenuSetup() == TRUE || sub_81221AC() == TRUE)
+ break;
+ }
+}
+
+static bool8 PartyMenuSetup(void)
+{
+ switch (gMain.state)
+ {
+ case 0:
+ SetVBlankHBlankCallbacksToNull();
+ ResetVramOamAndBgCntRegs();
+ clear_scheduled_bg_copies_to_vram();
+ gMain.state++;
+ break;
+ case 1:
+ ScanlineEffect_Stop();
+ gMain.state++;
+ break;
+ case 2:
+ ResetPaletteFade();
+ gPaletteFade.bufferTransferDisabled = TRUE;
+ gMain.state++;
+ break;
+ case 3:
+ ResetSpriteData();
+ gMain.state++;
+ break;
+ case 4:
+ FreeAllSpritePalettes();
+ gMain.state++;
+ break;
+ case 5:
+ if (!sub_81221AC())
+ ResetTasks();
+ gMain.state++;
+ break;
+ case 6:
+ sub_81B209C();
+ gMain.state++;
+ break;
+ case 7:
+ if (!AllocPartyMenuBg())
+ {
+ PartyMenuExit();
+ return TRUE;
+ }
+ else
+ {
+ gUnknown_0203CEC4->data[0] = 0;
+ gMain.state++;
+ }
+ break;
+ case 8:
+ if (AllocPartyMiscGfx())
+ gMain.state++;
+ break;
+ case 9:
+ sub_81B239C(gUnknown_0203CEC8.mode);
+ gMain.state++;
+ break;
+ case 10:
+ PartyMenuInitHelperStructs(gUnknown_0203CEC8.mode);
+ gUnknown_0203CEC4->data[0] = 0;
+ gMain.state++;
+ break;
+ case 11:
+ LoadHeldItemIcons();
+ gMain.state++;
+ break;
+ case 12:
+ LoadPartyMenuPokeballGfx();
+ gMain.state++;
+ break;
+ case 13:
+ LoadPartyMenuAilmentGfx();
+ gMain.state++;
+ break;
+ case 14:
+ LoadMonIconPalettes();
+ gMain.state++;
+ break;
+ case 15:
+ if (party_menu_add_per_mon_objects())
+ {
+ gUnknown_0203CEC4->data[0] = 0;
+ gMain.state++;
+ }
+ break;
+ case 16:
+ if (RenderPartyMenuBoxes())
+ {
+ gUnknown_0203CEC4->data[0] = 0;
+ gMain.state++;
+ }
+ break;
+ case 17:
+ sub_81B0F28();
+ gMain.state++;
+ break;
+ case 18:
+ sub_81B2428(gUnknown_0203CEC4->unk8_0);
+ gMain.state++;
+ break;
+ case 19:
+ gMain.state++;
+ break;
+ case 20:
+ CreateTask(gUnknown_0203CEC4->unk0, 0);
+ display_pokemon_menu_message(gUnknown_0203CEC4->unkA_0);
+ gMain.state++;
+ break;
+ case 21:
+ BlendPalettes(0xFFFFFFFF, 16, 0);
+ gPaletteFade.bufferTransferDisabled = FALSE;
+ gMain.state++;
+ break;
+ case 22:
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
+ gMain.state++;
+ break;
+ default:
+ SetVBlankCallback(PartyMenuVBlankCallback);
+ SetMainCallback2(PartyMenuCallback);
+ return TRUE;
+ }
+ return FALSE;
+}
+
+static void PartyMenuExit(void)
+{
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
+ CreateTask(PartyMenuExitTask, 0);
+ SetVBlankCallback(PartyMenuVBlankCallback);
+ SetMainCallback2(PartyMenuCallback);
+}
+
+static void PartyMenuExitTask(u8 taskId)
+{
+ if (!gPaletteFade.active)
+ {
+ SetMainCallback2(gUnknown_0203CEC8.exitCallback);
+ FreePartyPointers();
+ DestroyTask(taskId);
+ }
+}
+
+static void reset_brm(void)
+{
+ gUnknown_0203CEC4 = NULL;
+ gUnknown_0203CEE4 = NULL;
+ gUnknown_0203CEDC = NULL;
+ gUnknown_0203CEE0 = NULL;
+}
+
+static bool8 AllocPartyMenuBg(void)
+{
+ gUnknown_0203CEE4 = Alloc(0x800);
+ if (gUnknown_0203CEE4 == NULL)
+ return FALSE;
+
+ memset(gUnknown_0203CEE4, 0, 0x800);
+ ResetBgsAndClearDma3BusyFlags(0);
+ InitBgsFromTemplates(0, gUnknown_086156B8, ARRAY_COUNT(gUnknown_086156B8));
+ SetBgTilemapBuffer(1, gUnknown_0203CEE4);
+ ResetAllBgsCoordinates();
+ schedule_bg_copy_tilemap_to_vram(1);
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP);
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ ShowBg(0);
+ ShowBg(1);
+ ShowBg(2);
+ return TRUE;
+}
+
+static bool8 AllocPartyMiscGfx(void)
+{
+ int sizeout;
+
+ switch (gUnknown_0203CEC4->data[0])
+ {
+ case 0:
+ gUnknown_0203CEE0 = malloc_and_decompress(gPartyMenuMisc_Gfx, &sizeout);
+ LoadBgTiles(1, gUnknown_0203CEE0, sizeout, 0);
+ gUnknown_0203CEC4->data[0]++;
+ break;
+ case 1:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ LZDecompressWram(gPartyMenuMisc_Tilemap, gUnknown_0203CEE4);
+ gUnknown_0203CEC4->data[0]++;
+ }
+ break;
+ case 2:
+ LoadCompressedPalette(gPartyMenuMisc_Pal, 0, 0x160);
+ CpuCopy16(gPlttBufferUnfaded, gUnknown_0203CEC4->palBuffer, 0x160);
+ gUnknown_0203CEC4->data[0]++;
+ break;
+ case 3:
+ PartyPaletteBufferCopy(4);
+ gUnknown_0203CEC4->data[0]++;
+ break;
+ case 4:
+ PartyPaletteBufferCopy(5);
+ gUnknown_0203CEC4->data[0]++;
+ break;
+ case 5:
+ PartyPaletteBufferCopy(6);
+ gUnknown_0203CEC4->data[0]++;
+ break;
+ case 6:
+ PartyPaletteBufferCopy(7);
+ gUnknown_0203CEC4->data[0]++;
+ break;
+ case 7:
+ PartyPaletteBufferCopy(8);
+ gUnknown_0203CEC4->data[0]++;
+ break;
+ default:
+ return TRUE;
+ }
+ return FALSE;
+}
+
+static void PartyPaletteBufferCopy(u8 offset)
+{
+ offset *= 16;
+ CpuCopy16(&gPlttBufferUnfaded[0x30], &gPlttBufferUnfaded[offset], 32);
+ CpuCopy16(&gPlttBufferUnfaded[0x30], &gPlttBufferFaded[offset], 32);
+}
+
+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);
+ FreeAllWindowBuffers();
+}
+
+static void PartyMenuInitHelperStructs(u8 a)
+{
+ u8 i;
+
+ gUnknown_0203CEDC = Alloc(sizeof(struct Struct203CEDC[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].unk9 |= 0xFF;
+ gUnknown_0203CEDC[i].unkA |= 0xFF;
+ gUnknown_0203CEDC[i].unkB |= 0xFF;
+ gUnknown_0203CEDC[i].unkC |= 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];
+}
+
+static void RenderPartyMenuBox(u8 slot)
+{
+ if (gUnknown_0203CEC8.unk8_0 == 5 && slot > 2)
+ {
+ sub_81B0CEC(slot);
+ if (gUnknown_02022FF8[slot - 3].species == SPECIES_NONE)
+ UpdateSelectedPartyBox(&gUnknown_0203CEDC[slot], 0x40);
+ else
+ UpdateSelectedPartyBox(&gUnknown_0203CEDC[slot], 8);
+ CopyWindowToVram(gUnknown_0203CEDC[slot].windowId, 2);
+ PutWindowTilemap(gUnknown_0203CEDC[slot].windowId);
+ schedule_bg_copy_tilemap_to_vram(2);
+ }
+ else
+ {
+ if (GetMonData(&gPlayerParty[slot], MON_DATA_SPECIES) == SPECIES_NONE)
+ {
+ sub_81B2720(gUnknown_0203CEDC[slot].windowId);
+ UpdateSelectedPartyBox(&gUnknown_0203CEDC[slot], 0x40);
+ CopyWindowToVram(gUnknown_0203CEDC[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))
+ DisplayPartyPokemonData(slot);
+
+ if (gUnknown_0203CEC8.unk8_0 == 5)
+ sub_81B0FCC(slot, 0);
+ else if (gUnknown_0203CEC8.unk9 == slot)
+ sub_81B0FCC(slot, 1);
+ else
+ sub_81B0FCC(slot, 0);
+ }
+ PutWindowTilemap(gUnknown_0203CEDC[slot].windowId);
+ schedule_bg_copy_tilemap_to_vram(0);
+ }
+}
+
+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);
+ }
+ 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]);
+ }
+}
+
+static void DisplayPartyPokemonSelectData(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);
+ if (!GetMonData(mon, MON_DATA_IS_EGG))
+ {
+ DisplayPartyPokemonLevelCheck(mon, &gUnknown_0203CEDC[slot], 0);
+ DisplayPartyPokemonGenderNidoranCheck(mon, &gUnknown_0203CEDC[slot], 0);
+ }
+ DisplayPartyPokemonOtherText(stringID, &gUnknown_0203CEDC[slot], 0);
+}
+
+static void DisplayPartyPokemonSelectForBattle(u8 slot)
+{
+ u8 i;
+ struct Pokemon *mon = &gPlayerParty[slot];
+ u8 *ptr = gSelectedOrderFromParty;
+
+ if (!GetBattleEntryEligibility(mon))
+ {
+ DisplayPartyPokemonSelectData(slot, 7);
+ return;
+ }
+ else
+ {
+ for (i = 0; i < sub_81B8830(); i++)
+ {
+ if (ptr[i] != 0 && (ptr[i] - 1) == slot)
+ {
+ DisplayPartyPokemonSelectData(slot, i + 2);
+ return;
+ }
+ }
+ DisplayPartyPokemonSelectData(slot, 1);
+ }
+}
+
+static void DisplayPartyPokemonSelectForContest(u8 slot)
+{
+ switch (sub_80DAE0C(&gPlayerParty[slot]))
+ {
+ case 0:
+ case 3:
+ case 4:
+ DisplayPartyPokemonSelectData(slot, 7);
+ break;
+ case 1:
+ case 2:
+ DisplayPartyPokemonSelectData(slot, 6);
+ break;
+ }
+}
+
+static void DisplayPartyPokemonSelectForRelearner(u8 slot)
+{
+ if (GetNumberOfRelearnableMoves(&gPlayerParty[slot]) == 0)
+ DisplayPartyPokemonSelectData(slot, 9);
+ else
+ DisplayPartyPokemonSelectData(slot, 8);
+}
+
+static void sub_81B0B98(u8 slot)
+{
+ if (sub_81B218C(slot) == TRUE)
+ DisplayPartyPokemonSelectData(slot, 6);
+ else
+ DisplayPartyPokemonSelectData(slot, 7);
+}
+
+static void DisplayPartyPokemonSelectHeldItemRelated(u8 slot)
+{
+ if (GetMonData(&gPlayerParty[slot], MON_DATA_HELD_ITEM))
+ DisplayPartyPokemonSelectData(slot, 11);
+ else
+ DisplayPartyPokemonSelectData(slot, 12);
+}
+
+static bool8 sub_81B0BFC(u8 slot)
+{
+ struct Pokemon *currentPokemon = &gPlayerParty[slot];
+ u16 item = gSpecialVar_ItemId;
+
+ if (gUnknown_0203CEC8.unkB == 12)
+ {
+ gSpecialVar_Result = FALSE;
+ DisplayPartyPokemonSelectToTeachMove(slot, 0, gSpecialVar_0x8005);
+ }
+ else
+ {
+ if (gUnknown_0203CEC8.unkB != 3)
+ return FALSE;
+
+ switch (CheckIfItemIsTMHMOrEvolutionStone(item))
+ {
+ default:
+ return FALSE;
+ case 1:
+ DisplayPartyPokemonSelectToTeachMove(slot, item, 0);
+ break;
+ case 2:
+ if (!GetMonData(currentPokemon, MON_DATA_IS_EGG) && GetEvolutionTargetSpecies(currentPokemon, 3, item) != SPECIES_NONE)
+ return FALSE;
+ DisplayPartyPokemonSelectData(slot, 0);
+ break;
+ }
+ }
+ return TRUE;
+}
+
+static void DisplayPartyPokemonSelectToTeachMove(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);
+ break;
+ case ALREADY_KNOWS_MOVE:
+ DisplayPartyPokemonSelectData(slot, 10);
+ break;
+ default:
+ DisplayPartyPokemonSelectData(slot, 8);
+ break;
+ }
+}
+
+static void sub_81B0CEC(u8 slot)
+{
+ struct Struct203CEDC *structPtr = &gUnknown_0203CEDC[slot];
+ u8 actualSlot = slot - 3;
+
+ if (gUnknown_02022FF8[actualSlot].species == SPECIES_NONE)
+ {
+ sub_81B2720(structPtr->windowId);
+ }
+ else
+ {
+ structPtr->unk0->unk0(structPtr->windowId, 0, 0, 0, 0, 0);
+ StringCopy(gStringVar1, gUnknown_02022FF8[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);
+ }
+}
+
+static bool8 RenderPartyMenuBoxes(void)
+{
+ RenderPartyMenuBox(gUnknown_0203CEC4->data[0]);
+ if (++gUnknown_0203CEC4->data[0] == 6)
+ return TRUE;
+ return FALSE;
+}
+
+static u8* GetPartyMiscGraphicsTile(u16 tileId)
+{
+ return &gUnknown_0203CEE0[tileId << 5];
+}
+
+static void party_menu_add_per_mon_objects_internal(u8 slot)
+{
+ u8 actualSlot;
+
+ if (gUnknown_0203CEC8.unk8_0 == 5 && slot > 2)
+ {
+ u8 status;
+ actualSlot = slot - 3;
+
+ if (gUnknown_02022FF8[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)
+ 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]);
+ }
+ }
+ 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]);
+ }
+}
+
+static bool8 party_menu_add_per_mon_objects(void)
+{
+ party_menu_add_per_mon_objects_internal(gUnknown_0203CEC4->data[0]);
+ if (++gUnknown_0203CEC4->data[0] == 6)
+ return TRUE;
+ return FALSE;
+}
+
+static void sub_81B0F28(void)
+{
+ if (gUnknown_0203CEC8.unk8_0 == 5)
+ {
+ FillBgTilemapBufferRect(1, 14, 23, 17, 7, 2, 1);
+ }
+ else
+ {
+ if (gUnknown_0203CEC4->unk8_0)
+ {
+ gUnknown_0203CEC4->unk8_2 = sub_81B5F74(0xBF, 0x88);
+ sub_81B120C();
+ gUnknown_0203CEC4->unk9_0 = sub_81B5F74(0xBF, 0x98);
+ }
+ else
+ {
+ gUnknown_0203CEC4->unk9_0 = sub_81B5F34(0xC6, 0x94);
+ }
+ sub_81B0FCC(gUnknown_0203CEC8.unk9, 1);
+ }
+}
+
+void sub_81B0FCC(u8 slot, u8 b)
+{
+ u8 spriteId;
+
+ switch (slot)
+ {
+ default:
+ if (GetMonData(&gPlayerParty[slot], MON_DATA_SPECIES) != SPECIES_NONE)
+ {
+ UpdateSelectedPartyBox(&gUnknown_0203CEDC[slot], GetPartyBoxPalBitfield(slot, b));
+ AnimateSelectedPartyIcon(gUnknown_0203CEDC[slot].unk9, b);
+ sub_81B5F98(gUnknown_0203CEDC[slot].unkB, b);
+ }
+ return;
+ case 6:
+ if (b == 0)
+ sub_8199C30(1, 23, 16, 7, 2, 1);
+ else
+ sub_8199C30(1, 23, 16, 7, 2, 2);
+ spriteId = gUnknown_0203CEC4->unk8_2;
+ break;
+ case 7:
+ if (!gUnknown_0203CEC4->unk8_0)
+ {
+ if (b == 0)
+ sub_8199C30(1, 23, 17, 7, 2, 1);
+ else
+ sub_8199C30(1, 23, 17, 7, 2, 2);
+ }
+ else if (b == 0)
+ {
+ sub_8199C30(1, 23, 18, 7, 2, 1);
+ }
+ else
+ {
+ sub_8199C30(1, 23, 18, 7, 2, 2);
+ }
+ spriteId = gUnknown_0203CEC4->unk9_0;
+ break;
+ }
+ sub_81B5F98(spriteId, b);
+ schedule_bg_copy_tilemap_to_vram(1);
+}
+
+static u8 GetPartyBoxPalBitfield(u8 slot, u8 b)
+{
+ u8 returnVar = 0;
+ if (b == 1)
+ returnVar |= 1;
+ if (GetMonData(&gPlayerParty[slot], MON_DATA_HP) == 0)
+ returnVar |= 2;
+ if (PartyBoxPal_ParnterOrDisqualifiedInArena(slot) == TRUE)
+ returnVar |= 8;
+ if (gUnknown_0203CEC8.unkB == 9)
+ returnVar |= 16;
+ if (gUnknown_0203CEC8.unkB == 8)
+ {
+ if (slot == gUnknown_0203CEC8.unk9 || slot == gUnknown_0203CEC8.unkA)
+ returnVar |= 4;
+ }
+ if (gUnknown_0203CEC8.unkB == 10 && slot == gUnknown_0203CEC8.unk9 )
+ returnVar |= 32;
+
+ return returnVar;
+}
+
+static bool8 PartyBoxPal_ParnterOrDisqualifiedInArena(u8 slot)
+{
+ if (gUnknown_0203CEC8.mode == 2 && (slot == 1 || slot == 4 || slot == 5))
+ return TRUE;
+
+ if (slot < 3 && (gBattleTypeFlags & BATTLE_TYPE_ARENA) && gMain.inBattle && (gBattleStruct->arenaLostPlayerMons >> sub_81B8F38(slot) & 1))
+ return TRUE;
+
+ return FALSE;
+}
+
+static void sub_81B120C(void)
+{
+ CopyToBgTilemapBufferRect_ChangePalette(1, gUnknown_086157C4, 23, 16, 7, 2, 17);
+ CopyToBgTilemapBufferRect_ChangePalette(1, gUnknown_086157E0, 23, 18, 7, 2, 17);
+ schedule_bg_copy_tilemap_to_vram(1);
+}
+
+bool8 IsMultiBattle(void)
+{
+ if (gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_DOUBLE && gBattleTypeFlags & BATTLE_TYPE_TRAINER && gMain.inBattle)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+static void sub_81B1288(struct Pokemon *partySlot, struct Pokemon *pokemon)
+{
+ struct Pokemon *temp = Alloc(sizeof(struct Pokemon));
+
+ *temp = *partySlot;
+ *partySlot = *pokemon;
+ *pokemon = *temp;
+
+ Free(temp);
+}
+
+static void sub_81B12C0(u8 taskId)
+{
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
+ gTasks[taskId].func = c3_0811FAB4;
+}
+
+static void c3_0811FAB4(u8 taskId)
+{
+ if (!gPaletteFade.active)
+ {
+ if (gUnknown_0203CEC8.unk8_0 == 1)
+ sub_81B9080();
+
+ if (gUnknown_0203CEC4->exitCallback != NULL)
+ SetMainCallback2(gUnknown_0203CEC4->exitCallback);
+ else
+ SetMainCallback2(gUnknown_0203CEC8.exitCallback);
+
+ ResetSpriteData();
+ FreePartyPointers();
+ DestroyTask(taskId);
+ }
+}
+
+u8 GetCursorSelectionMonId(void)
+{
+ return gUnknown_0203CEC8.unk9;
+}
+
+u8 sub_81B1360(void)
+{
+ return gUnknown_0203CEC8.unk8_0;
+}
+
+void sub_81B1370(u8 taskId)
+{
+ if (!gPaletteFade.active && sub_81221EC() != TRUE)
+ {
+ s8 *ptr = sub_81B13EC();
+
+ switch (PartyMenuButtonHandler(ptr))
+ {
+ case 1:
+ sub_81B140C(taskId, ptr);
+ break;
+ case 2:
+ sub_81B15D0(taskId, ptr);
+ break;
+ case 8:
+ if (gUnknown_0203CEC4->unk8_0)
+ {
+ PlaySE(SE_SELECT);
+ sub_81B4F88();
+ }
+ break;
+ }
+ }
+}
+
+static s8* sub_81B13EC(void)
+{
+ if (gUnknown_0203CEC8.unkB == 8 || gUnknown_0203CEC8.unkB == 10)
+ return &gUnknown_0203CEC8.unkA;
+ return &gUnknown_0203CEC8.unk9;
+}
+
+static void sub_81B140C(u8 taskId, s8 *ptr)
+{
+ if (*ptr == 6)
+ {
+ gUnknown_0203CEC8.unk4(taskId);
+ }
+ else
+ {
+ switch (gUnknown_0203CEC8.unkB - 3)
+ {
+ case 7:
+ if (sub_81B15A4((u8*)ptr))
+ {
+ sub_81B302C(&gUnknown_0203CEC4->unkC[1]);
+ sub_81615A8(taskId);
+ }
+ break;
+ case 0:
+ if (sub_81B15A4((u8*)ptr))
+ {
+ if (gUnknown_0203CEC8.unk8_0 == 1)
+ gUnknown_0203CEC4->exitCallback = sub_81B9140;
+
+ sub_81B302C(&gUnknown_0203CEC4->unkC[1]);
+ gUnknown_03006328(taskId, sub_81B6794);
+ }
+ break;
+ case 9:
+ if (sub_81B15A4((u8*)ptr))
+ {
+ PlaySE(SE_SELECT);
+ sub_81B302C(&gUnknown_0203CEC4->unkC[1]);
+ sub_81B7E4C(taskId);
+ }
+ break;
+ case 4:
+ if (sub_81B15A4((u8*)ptr))
+ {
+ PlaySE(SE_SELECT);
+ sub_81B302C(&gUnknown_0203CEC4->unkC[1]);
+ sub_81B8474(taskId);
+ }
+ break;
+ case 2:
+ case 3:
+ if (sub_81B15A4((u8*)ptr))
+ {
+ PlaySE(SE_SELECT);
+ sub_81B302C(&gUnknown_0203CEC4->unkC[1]);
+ sub_81B7FAC(taskId);
+ }
+ break;
+ case 5:
+ PlaySE(SE_SELECT);
+ sub_81B3938(taskId);
+ break;
+ case 8:
+ PlaySE(SE_SELECT);
+ sub_81B12C0(taskId);
+ break;
+ case 10:
+ if (sub_81B15A4((u8*)ptr))
+ {
+ sub_81B21AC(taskId, (u8)*ptr);
+ }
+ break;
+ default:
+ case 1:
+ case 6:
+ PlaySE(SE_SELECT);
+ sub_81B36FC(taskId);
+ break;
+ }
+ }
+}
+
+static bool8 sub_81B15A4(u8 *slotPtr)
+{
+ if (GetMonData(&gPlayerParty[*slotPtr], MON_DATA_IS_EGG) == TRUE)
+ {
+ PlaySE(SE_HAZURE);
+ return FALSE;
+ }
+ return TRUE;
+}
+
+static void sub_81B15D0(u8 taskId, s8 *ptr)
+{
+ switch (gUnknown_0203CEC8.unkB)
+ {
+ case 1:
+ PlaySE(SE_HAZURE);
+ break;
+ case 8:
+ case 10:
+ PlaySE(SE_SELECT);
+ sub_81B407C(taskId);
+ break;
+ case 13:
+ PlaySE(SE_SELECT);
+ sub_81B2210(taskId);
+ break;
+ default:
+ PlaySE(SE_SELECT);
+ if (sub_81B1660(taskId) != TRUE)
+ {
+ if (!sub_81221AC())
+ gSpecialVar_0x8004 = 7;
+ gUnknown_0203CEE8 = 0;
+ *ptr = 7;
+ sub_81B12C0(taskId);
+ }
+ break;
+ }
+}
+
+static bool8 sub_81B1660(u8 taskId)
+{
+ const u8* stringPtr = NULL;
+
+ if (gUnknown_0203CEC8.unk8_0 == 2)
+ stringPtr = gText_CancelParticipation;
+ else if (gUnknown_0203CEC8.unk8_0 == 4)
+ stringPtr = sub_81B88BC();
+
+ if (stringPtr == NULL)
+ return FALSE;
+
+ sub_81B302C(&gUnknown_0203CEC4->unkC[1]);
+ StringExpandPlaceholders(gStringVar4, stringPtr);
+ sub_81B1B5C(gStringVar4, 1);
+ gTasks[taskId].func = sub_81B16D4;
+ return TRUE;
+}
+
+static void sub_81B16D4(u8 taskId)
+{
+ if (sub_81B1BD4() != TRUE)
+ {
+ sub_81B334C();
+ gTasks[taskId].func = sub_81B1708;
+ }
+}
+
+static void sub_81B1708(u8 taskId)
+{
+ switch (Menu_ProcessInputNoWrapClearOnChoose())
+ {
+ case 0:
+ gUnknown_0203CEE8 = 0;
+ gUnknown_0203CEC8.unk9 = 7;
+ sub_81B8558();
+ sub_81B12C0(taskId);
+ break;
+ case MENU_B_PRESSED:
+ PlaySE(SE_SELECT);
+ case 1:
+ sub_81B1C1C(taskId);
+ break;
+ }
+}
+
+static u16 PartyMenuButtonHandler(s8 *ptr)
+{
+ s8 movementDir;
+
+ switch (gMain.newAndRepeatedKeys)
+ {
+ case DPAD_UP:
+ movementDir = -1;
+ break;
+ case DPAD_DOWN:
+ movementDir = 1;
+ break;
+ case DPAD_LEFT:
+ movementDir = -2;
+ break;
+ case DPAD_RIGHT:
+ movementDir = 2;
+ break;
+ default:
+ switch (sub_812210C())
+ {
+ case 1:
+ movementDir = -1;
+ break;
+ case 2:
+ movementDir = 1;
+ break;
+ default:
+ movementDir = 0;
+ break;
+ }
+ break;
+ }
+
+ if (gMain.newKeys & START_BUTTON)
+ return 8;
+
+ if (movementDir)
+ {
+ UpdateCurrentPartySelection(ptr, movementDir);
+ return 0;
+ }
+
+ if ((gMain.newKeys & A_BUTTON) && *ptr == 7)
+ return 2;
+
+ return gMain.newKeys & (A_BUTTON | B_BUTTON);
+}
+
+static void UpdateCurrentPartySelection(s8 *ptr, s8 movementDir)
+{
+ s8 slot = *ptr;
+ u8 mode = gUnknown_0203CEC8.mode;
+
+ if (mode == 0)
+ SetNewPartySelectTarget1(ptr, movementDir);
+ else
+ SetNewPartySelectTarget2(ptr, movementDir);
+
+ if (*ptr != slot)
+ {
+ PlaySE(SE_SELECT);
+ sub_81B0FCC(slot, 0);
+ sub_81B0FCC(*ptr, 1);
+ }
+}
+
+static void SetNewPartySelectTarget1(s8 *ptr, s8 b)
+{
+ switch (b)
+ {
+ case -1:
+ if (*ptr == 0)
+ {
+ *ptr = 7;
+ }
+ else if (*ptr == 6)
+ {
+ *ptr = gPlayerPartyCount - 1;
+ }
+ else if (*ptr == 7)
+ {
+ if (gUnknown_0203CEC4->unk8_0)
+ *ptr = 6;
+ else
+ *ptr = gPlayerPartyCount - 1;
+ }
+ else
+ {
+ (*ptr)--;
+ }
+ break;
+ case 1:
+ if (*ptr == 7)
+ {
+ *ptr = 0;
+ }
+ else
+ {
+ if (*ptr == gPlayerPartyCount - 1)
+ {
+ if (gUnknown_0203CEC4->unk8_0)
+ *ptr = 6;
+ else
+ *ptr = 7;
+ }
+ else
+ {
+ (*ptr)++;
+ }
+ }
+ break;
+ case 2:
+ if (gPlayerPartyCount != 1 && *ptr == 0)
+ {
+ if (gUnknown_0203CEC4->unk8_1 == 0)
+ *ptr = 1;
+ else
+ *ptr = gUnknown_0203CEC4->unk8_1;
+ }
+ break;
+ case -2:
+ if (*ptr != 0 && *ptr != 6 && *ptr != 7)
+ {
+ gUnknown_0203CEC4->unk8_1 = *ptr;
+ *ptr = 0;
+ }
+ break;
+ }
+}
+
+static void SetNewPartySelectTarget2(s8 *ptr, s8 b)
+{
+ s8 unk2 = b;
+
+ switch (b)
+ {
+ case -1:
+ if (*ptr == 0)
+ {
+ *ptr = 7;
+ break;
+ }
+ else if (*ptr == 6)
+ {
+ *ptr = gPlayerPartyCount - 1;
+ break;
+ }
+ else if (*ptr == 7)
+ {
+ if (gUnknown_0203CEC4->unk8_0)
+ {
+ *ptr = 6;
+ break;
+ }
+ (*ptr)--;
+ }
+ unk2 = sub_81B1B00(*ptr, unk2);
+ if (unk2 != -1)
+ *ptr = unk2;
+ break;
+ case 1:
+ if (*ptr == 6)
+ {
+ *ptr = 7;
+ }
+ else if (*ptr == 7)
+ {
+ *ptr = 0;
+ }
+ else
+ {
+ unk2 = sub_81B1B00(*ptr, 1);
+ if (unk2 == -1)
+ {
+ if (gUnknown_0203CEC4->unk8_0)
+ *ptr = 6;
+ else
+ *ptr = 7;
+ }
+ else
+ {
+ *ptr = unk2;
+ }
+ }
+ break;
+ case 2:
+ if (*ptr == 0)
+ {
+ if (gUnknown_0203CEC4->unk8_1 == 3)
+ {
+ if (GetMonData(&gPlayerParty[3], MON_DATA_SPECIES) != SPECIES_NONE)
+ *ptr = 3;
+ }
+ else if (GetMonData(&gPlayerParty[2], MON_DATA_SPECIES) != SPECIES_NONE)
+ {
+ *ptr = 2;
+ }
+ }
+ else if (*ptr == 1)
+ {
+ if (gUnknown_0203CEC4->unk8_1 == 5)
+ {
+ if (GetMonData(&gPlayerParty[5], MON_DATA_SPECIES) != SPECIES_NONE)
+ *ptr = 5;
+ }
+ else if (GetMonData(&gPlayerParty[4], MON_DATA_SPECIES) != SPECIES_NONE)
+ {
+ *ptr = 4;
+ }
+ }
+ break;
+ case -2:
+ if (*ptr == 2 || *ptr == 3)
+ {
+ gUnknown_0203CEC4->unk8_1 = *ptr;
+ *ptr = 0;
+ }
+ else if (*ptr == 4 || *ptr == 5)
+ {
+ gUnknown_0203CEC4->unk8_1 = *ptr;
+ *ptr = 1;
+ }
+ break;
+ }
+}
+
+static s8 sub_81B1B00(s8 a, s8 b)
+{
+ while (TRUE)
+ {
+ a += b;
+ if ((u8)a >= 6)
+ return -1;
+ if (GetMonData(&gPlayerParty[a], MON_DATA_SPECIES) != SPECIES_NONE)
+ return a;
+ }
+}
+
+u8* GetMonNickname(struct Pokemon *mon, u8 *dest)
+{
+ GetMonData(mon, MON_DATA_NICKNAME, dest);
+ return StringGetEnd10(dest);
+}
+
+u8 sub_81B1B5C(const u8* str, u8 b)
+{
+ u8 taskId;
+
+ sub_81B3300(str);
+ taskId = CreateTask(sub_81B1B8C, 1);
+ gTasks[taskId].data[0] = b;
+ return taskId;
+}
+
+static void sub_81B1B8C(u8 taskId)
+{
+ if (RunTextPrintersRetIsActive(6) != TRUE)
+ {
+ if (gTasks[taskId].data[0] == 0)
+ {
+ sub_8198070(6, 0);
+ ClearWindowTilemap(6);
+ }
+ DestroyTask(taskId);
+ }
+}
+
+bool8 sub_81B1BD4(void)
+{
+ return FuncIsActiveTask(sub_81B1B8C);
+}
+
+static void sub_81B1BE8(u8 taskId)
+{
+ if (sub_81221EC() != TRUE)
+ {
+ display_pokemon_menu_message(0);
+ gTasks[taskId].func = sub_81B1370;
+ }
+}
+
+static void sub_81B1C1C(u8 taskId)
+{
+ if (sub_81B1BD4() != TRUE)
+ {
+ sub_8198070(6, 0);
+ ClearWindowTilemap(6);
+ if (sub_81221AC() == TRUE)
+ {
+ gTasks[taskId].func = sub_81B1BE8;
+ }
+ else
+ {
+ display_pokemon_menu_message(0);
+ gTasks[taskId].func = sub_81B1370;
+ }
+ }
+}
+
+static void sub_81B1C84(struct Pokemon *mon, u16 item, u8 c, u8 unused)
+{
+ GetMonNickname(mon, gStringVar1);
+ CopyItemName(item, gStringVar2);
+ StringExpandPlaceholders(gStringVar4, gText_PkmnWasGivenItem);
+ sub_81B1B5C(gStringVar4, c);
+ schedule_bg_copy_tilemap_to_vram(2);
+}
+
+static void sub_81B1CD0(struct Pokemon *mon, u16 item, u8 c)
+{
+ GetMonNickname(mon, gStringVar1);
+ CopyItemName(item, gStringVar2);
+ StringExpandPlaceholders(gStringVar4, gText_RecievedItemFromPkmn);
+ sub_81B1B5C(gStringVar4, c);
+ schedule_bg_copy_tilemap_to_vram(2);
+}
+
+static void sub_81B1D1C(struct Pokemon *mon, u16 item, u8 c)
+{
+ GetMonNickname(mon, gStringVar1);
+ CopyItemName(item, gStringVar2);
+ StringExpandPlaceholders(gStringVar4, gText_SwitchPkmnItem);
+ sub_81B1B5C(gStringVar4, c);
+ schedule_bg_copy_tilemap_to_vram(2);
+}
+
+static void sub_81B1D68(u16 item, u16 item2, u8 c)
+{
+ CopyItemName(item, gStringVar1);
+ CopyItemName(item2, gStringVar2);
+ StringExpandPlaceholders(gStringVar4, gText_SwitchedPkmnItem);
+ sub_81B1B5C(gStringVar4, c);
+ schedule_bg_copy_tilemap_to_vram(2);
+}
+
+static void sub_81B1DB8(struct Pokemon *mon, u16 item)
+{
+ u8 itemBytes[2];
+
+ if (ItemIsMail(item) == TRUE)
+ {
+ if (GiveMailToMon(mon, item) == 0xFF)
+ return;
+ }
+ itemBytes[0] = item;
+ itemBytes[1] = item >> 8;
+ SetMonData(mon, MON_DATA_HELD_ITEM, itemBytes);
+}
+
+static u8 sub_81B1E00(struct Pokemon* mon)
+{
+ u16 item = GetMonData(mon, MON_DATA_HELD_ITEM);
+
+ if (item == ITEM_NONE)
+ return 0;
+ if (AddBagItem(item, 1) == FALSE)
+ return 1;
+
+ item = ITEM_NONE;
+ SetMonData(mon, MON_DATA_HELD_ITEM, &item);
+ return 2;
+}
+
+static void pokemon_item_not_removed(u16 itemUnused)
+{
+ StringExpandPlaceholders(gStringVar4, gText_BagFullCouldNotRemoveItem);
+}
+
+static void sub_81B1E60(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])
+ {
+ if (data[0] > data[5])
+ ConvertIntToDecimalStringN(gStringVar2, data[0] - data[5], 0, 3);
+ SwitchTaskToFollowupFunc(taskId);
+ }
+}
+
+void sub_81B1F18(u8 taskId, u8 slot, s8 c, s16 HPDifference, TaskFunc func)
+{
+ 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);
+}
+
+static void sub_81B1FA8(u8 taskId, u8 b, u32 hp)
+{
+ s16 *data = gTasks[taskId].data;
+
+ switch (b) // only case 0 is used
+ {
+ case 0:
+ data[0] = hp;
+ data[5] = hp;
+ break;
+ case 1:
+ data[1] = hp;
+ break;
+ case 2:
+ data[2] = hp;
+ break;
+ case 3:
+ data[3] = hp;
+ break;
+ case 4:
+ data[4] = hp;
+ break;
+ case 5:
+ SetTaskFuncWithFollowupFunc(taskId, sub_81B1E60, (TaskFunc)hp); // >casting hp as a taskfunc
+ break;
+ }
+}
+
+u8 pokemon_ailments_get_primary(u32 status)
+{
+ if (status & STATUS1_PSN_ANY)
+ return AILMENT_PSN;
+ if (status & STATUS1_PARALYSIS)
+ return AILMENT_PRZ;
+ if (status & STATUS1_SLEEP)
+ return AILMENT_SLP;
+ if (status & STATUS1_FREEZE)
+ return AILMENT_FRZ;
+ if (status & STATUS1_BURN)
+ return AILMENT_BRN;
+ return AILMENT_NONE;
+}
+
+u8 sub_81B205C(struct Pokemon *mon)
+{
+ u8 ailment;
+
+ if (GetMonData(mon, MON_DATA_HP) == 0)
+ return AILMENT_FNT;
+ ailment = pokemon_ailments_get_primary(GetMonData(mon, MON_DATA_STATUS));
+ if (ailment != AILMENT_NONE)
+ return ailment;
+ if (CheckPartyPokerus(mon, 0))
+ return AILMENT_PKRS;
+ return AILMENT_NONE;
+}
+
+static void sub_81B209C(void)
+{
+ u16 *ptr;
+
+ if (gUnknown_0203CEC8.unk8_0 == 11)
+ {
+ u8 i;
+
+ ptr = &gUnknown_0203CEC8.unkE;
+ gUnknown_0203CEC8.unkE = 0;
+ if (gSpecialVar_0x8005 == 0)
+ {
+ for (i = 0; i < gPlayerPartyCount; i++)
+ *ptr += sub_81B2134(&gPlayerParty[i]) << i;
+ }
+ else
+ {
+ for (i = 0; i < gPlayerPartyCount; i++)
+ *ptr += sub_81B2164(&gPlayerParty[i]) << i;
+ }
+ }
+}
+
+static bool16 sub_81B2134(struct Pokemon *mon)
+{
+ if (GetMonData(mon, MON_DATA_IS_EGG) != TRUE && sub_802C908(GetMonData(mon, MON_DATA_SPECIES)))
+ return TRUE;
+ return FALSE;
+}
+
+// Dodrio Berry Picking select?
+
+static bool16 sub_81B2164(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)
+{
+ if (!((gUnknown_0203CEC8.unkE >> slot) & 1))
+ return FALSE;
+ return TRUE;
+}
+
+static void sub_81B21AC(u8 taskId, u8 slot)
+{
+ if (sub_81B218C(slot) == TRUE)
+ {
+ PlaySE(SE_SELECT);
+ gSpecialVar_0x8004 = slot;
+ sub_81B12C0(taskId);
+ }
+ else
+ {
+ PlaySE(SE_HAZURE);
+ sub_81B1B5C(gText_PkmnCantParticipate, 0);
+ schedule_bg_copy_tilemap_to_vram(2);
+ gTasks[taskId].func = sub_81B1C1C;
+ }
+}
+
+static void sub_81B2210(u8 taskId)
+{
+ sub_81B1B5C(gText_CancelParticipation, 1);
+ schedule_bg_copy_tilemap_to_vram(2);
+ gTasks[taskId].func = sub_81B2248;
+}
+
+static void sub_81B2248(u8 taskId)
+{
+ if (sub_81B1BD4() != TRUE)
+ {
+ sub_81B334C();
+ gTasks[taskId].func = sub_81B227C;
+ }
+}
+
+static void sub_81B227C(u8 taskId)
+{
+ switch (Menu_ProcessInputNoWrapClearOnChoose())
+ {
+ case 0:
+ gSpecialVar_0x8004 = 7;
+ sub_81B12C0(taskId);
+ break;
+ case MENU_B_PRESSED:
+ PlaySE(SE_SELECT);
+ case 1:
+ gTasks[taskId].func = sub_81B1C1C;
+ break;
+ }
+}
+
+static u8 CanMonLearnTMTutor(struct Pokemon *mon, u16 item, u8 tutor)
+{
+ u16 move;
+
+ if (GetMonData(mon, MON_DATA_IS_EGG))
+ return CANNOT_LEARN_MOVE_IS_EGG;
+
+ if (item >= ITEM_TM01_FOCUS_PUNCH)
+ {
+ if (CanMonLearnTMHM(mon, item - ITEM_TM01_FOCUS_PUNCH))
+ move = ItemIdToBattleMoveId(item);
+ else
+ return CANNOT_LEARN_MOVE;
+ do {} while (0); // :morphon:
+ }
+ else if (CanLearnTutorMove(GetMonData(mon, MON_DATA_SPECIES), tutor) == FALSE)
+ {
+ return CANNOT_LEARN_MOVE;
+ }
+ else
+ {
+ move = GetTutorMove(tutor);
+ }
+
+ if (MonKnowsMove(mon, move) == TRUE)
+ return ALREADY_KNOWS_MOVE;
+ else
+ return CAN_LEARN_MOVE;
+}
+
+static u16 GetTutorMove(u8 tutor)
+{
+ return gTutorMoves[tutor];
+}
+
+static bool8 CanLearnTutorMove(u16 species, u8 tutor)
+{
+ if (sTutorLearnsets[species] & (1 << tutor))
+ return TRUE;
+ else
+ return FALSE;
+}
+
+static void sub_81B239C(u8 a)
+{
+ u8 i;
+
+ switch (a)
+ {
+ case 0:
+ InitWindows(gUnknown_08615810);
+ break;
+ case 1:
+ InitWindows(gUnknown_08615850);
+ break;
+ case 2:
+ InitWindows(gUnknown_08615890);
+ break;
+ default:
+ InitWindows(gUnknown_086158D0);
+ break;
+ }
+ DeactivateAllTextPrinters();
+ for (i = 0; i < PARTY_SIZE; i++)
+ FillWindowPixelBuffer(i, 0);
+ LoadUserWindowBorderGfx(0, 0x4F, 0xD0);
+ LoadPalette(GetOverworldTextboxPalettePtr(), 0xE0, 0x20);
+ LoadPalette(gUnknown_0860F074, 0xF0, 0x20);
+}
+
+static void sub_81B2428(bool8 a)
+{
+ u8 firstWindowId;
+ u8 windowId;
+ u8 offset;
+ u8 mainOffset;
+
+ if (gUnknown_0203CEC8.unk8_0 != 5)
+ {
+ if (a == TRUE)
+ {
+ firstWindowId = AddWindow(&gUnknown_08615918);
+ FillWindowPixelBuffer(firstWindowId, 0);
+ mainOffset = GetStringCenterAlignXOffset(0, gMenuText_Confirm, 48);
+ AddTextPrinterParameterized4(firstWindowId, 0, mainOffset, 1, 0, 0, gUnknown_086157FC[0], -1, gMenuText_Confirm);
+ PutWindowTilemap(firstWindowId);
+ CopyWindowToVram(firstWindowId, 2);
+ windowId = AddWindow(&gUnknown_08615910);
+ offset = 0;
+ }
+ else
+ {
+ windowId = AddWindow(&gUnknown_08615908);
+ offset = 3;
+ }
+ FillWindowPixelBuffer(windowId, 0);
+ if (gUnknown_0203CEC8.unk8_0 != 10)
+ {
+ mainOffset = GetStringCenterAlignXOffset(0, gText_Cancel, 48);
+ AddTextPrinterParameterized3(windowId, 0, mainOffset + offset, 1, gUnknown_086157FC[0], -1, gText_Cancel);
+ }
+ else
+ {
+ mainOffset = GetStringCenterAlignXOffset(0, gText_Cancel2, 48);
+ AddTextPrinterParameterized3(windowId, 0, mainOffset + offset, 1, gUnknown_086157FC[0], -1, gText_Cancel2);
+ }
+ PutWindowTilemap(windowId);
+ CopyWindowToVram(windowId, 2);
+ schedule_bg_copy_tilemap_to_vram(0);
+ }
+}
+
+static u16* GetPartyMenuPaletteFromBuffer(u8 paletteId)
+{
+ return &gUnknown_0203CEC4->palBuffer[paletteId];
+}
+
+static void BlitBitmapToPartyWindow(u8 windowId, const u8 *b, u8 c, u8 x, u8 y, u8 width, u8 height)
+{
+ u8 *pixels = AllocZeroed(height * width * 32);
+ u8 i, j;
+
+ if (pixels != NULL)
+ {
+ 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);
+ }
+ 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 f)
+{
+ if (width == 0 && height == 0)
+ {
+ width = 10;
+ height = 7;
+ }
+ if (f == 0)
+ BlitBitmapToPartyWindow(windowId, gUnknown_08615988, 10, x, y, width, height);
+ else
+ BlitBitmapToPartyWindow(windowId, gUnknown_086159CE, 10, x, y, width, height);
+}
+
+static void BlitBitmapToPartyWindow_Default2(u8 windowId, u8 x, u8 y, u8 width, u8 height, u8 f)
+{
+ if (width == 0 && height == 0)
+ {
+ width = 18;
+ height = 3;
+ }
+ if (f == 0)
+ BlitBitmapToPartyWindow(windowId, gUnknown_08615A14, 18, x, y, width, height);
+ else
+ BlitBitmapToPartyWindow(windowId, gUnknown_08615A4A, 18, x, y, width, height);
+}
+
+static void sub_81B2720(u8 windowId)
+{
+ BlitBitmapToPartyWindow(windowId, gUnknown_08615A80, 18, 0, 0, 18, 3);
+}
+
+static void UpdateSelectedPartyBox(struct Struct203CEDC *ptr, u8 bitfield)
+{
+ u8 palNum = GetWindowAttribute(ptr->windowId, WINDOW_PALETTE_NUM) * 16;
+
+ if (bitfield & 0x40)
+ {
+ 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);
+ }
+ else if (bitfield & 0x20)
+ {
+ if (bitfield & 1)
+ {
+ 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);
+ }
+ 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);
+ }
+ }
+ else if (bitfield & 0x10)
+ {
+ 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);
+ }
+ else if (bitfield & 4)
+ {
+ if (bitfield & 1)
+ {
+ 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);
+ }
+ 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);
+ }
+ }
+ else if (bitfield & 2)
+ {
+ if (bitfield & 1)
+ {
+ 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);
+ }
+ 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);
+ }
+ }
+ else if (bitfield & 8)
+ {
+ if (bitfield & 1)
+ {
+ 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);
+ }
+ 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);
+ }
+ }
+ else if (bitfield & 1)
+ {
+ 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);
+ }
+ 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);
+ }
+}
+
+static void DisplayPartyPokemonBarDetail(u8 windowId, const u8 *str, u8 color, const u8 *align)
+{
+ AddTextPrinterParameterized3(windowId, 0, align[0], align[1], gUnknown_086157FC[color], 0, str);
+}
+
+static void DisplayPartyPokemonNickname(struct Pokemon *mon, struct Struct203CEDC *ptr, 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);
+ GetMonNickname(mon, nickname);
+ DisplayPartyPokemonBarDetail(ptr->windowId, nickname, 0, ptr->unk0->unk4);
+ }
+}
+
+static void DisplayPartyPokemonLevelCheck(struct Pokemon *mon, struct Struct203CEDC *ptr, u8 c)
+{
+ if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE)
+ {
+ u8 ailment = sub_81B205C(mon);
+ 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);
+ if (c != 2)
+ DisplayPartyPokemonLevel(GetMonData(mon, MON_DATA_LEVEL), ptr);
+ }
+ }
+}
+
+static void DisplayPartyPokemonLevel(u8 level, struct Struct203CEDC *ptr)
+{
+ ConvertIntToDecimalStringN(gStringVar2, level, 0, 3);
+ StringCopy(gStringVar1, gText_LevelSymbol);
+ StringAppend(gStringVar1, gStringVar2);
+ DisplayPartyPokemonBarDetail(ptr->windowId, gStringVar1, 0, &ptr->unk0->unk4[4]);
+}
+
+static void DisplayPartyPokemonGenderNidoranCheck(struct Pokemon *mon, struct Struct203CEDC *ptr, 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);
+ GetMonNickname(mon, nickname);
+ DisplayPartyPokemonGender(GetMonGender(mon), GetMonData(mon, MON_DATA_SPECIES), nickname, ptr);
+}
+
+static void DisplayPartyPokemonGender(u8 gender, u16 species, u8 *nickname, struct Struct203CEDC *ptr)
+{
+ u8 palNum = GetWindowAttribute(ptr->windowId, WINDOW_PALETTE_NUM) * 16;
+
+ if (species == SPECIES_NONE)
+ return;
+ if ((species == SPECIES_NIDORAN_M || species == SPECIES_NIDORAN_F) && StringCompare(nickname, gSpeciesNames[species]) == 0)
+ return;
+ 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]);
+ 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]);
+ break;
+ }
+}
+
+static void DisplayPartyPokemonHPCheck(struct Pokemon *mon, struct Struct203CEDC *ptr, 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);
+ if (c != 2)
+ DisplayPartyPokemonHP(GetMonData(mon, MON_DATA_HP), ptr);
+ }
+}
+
+static void DisplayPartyPokemonHP(u16 hp, struct Struct203CEDC *ptr)
+{
+ u8 *strOut = ConvertIntToDecimalStringN(gStringVar1, hp, 1, 3);
+
+ strOut[0] = CHAR_SLASH;
+ strOut[1] = EOS;
+
+ DisplayPartyPokemonBarDetail(ptr->windowId, gStringVar1, 0, &ptr->unk0->unk4[12]);
+}
+
+static void DisplayPartyPokemonMaxHPCheck(struct Pokemon *mon, struct Struct203CEDC *ptr, 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);
+ if (c != 2)
+ DisplayPartyPokemonMaxHP(GetMonData(mon, MON_DATA_MAX_HP), ptr);
+ }
+}
+
+static void DisplayPartyPokemonMaxHP(u16 maxhp, struct Struct203CEDC *ptr)
+{
+ ConvertIntToDecimalStringN(gStringVar2, maxhp, 1, 3);
+ StringCopy(gStringVar1, gText_Slash);
+ StringAppend(gStringVar1, gStringVar2);
+ DisplayPartyPokemonBarDetail(ptr->windowId, gStringVar1, 0, &ptr->unk0->unk4[16]);
+}
+
+static void DisplayPartyPokemonHPBarCheck(struct Pokemon *mon, struct Struct203CEDC *ptr)
+{
+ if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE)
+ DisplayPartyPokemonHPBar(GetMonData(mon, MON_DATA_HP), GetMonData(mon, MON_DATA_MAX_HP), ptr);
+}
+
+static void DisplayPartyPokemonHPBar(u16 hp, u16 maxhp, struct Struct203CEDC *ptr)
+{
+ u8 palNum = GetWindowAttribute(ptr->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);
+ 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);
+ break;
+ default:
+ LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ACB[0]), gUnknown_08615AB8[0] + palNum, 2);
+ LoadPalette(GetPartyMenuPaletteFromBuffer(gUnknown_08615ACB[1]), gUnknown_08615AB8[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])
+ {
+ FillWindowPixelRect(ptr->windowId, 13, ptr->unk0->unk4[20] + hpFraction, ptr->unk0->unk4[21], ptr->unk0->unk4[22] - hpFraction, 1);
+ FillWindowPixelRect(ptr->windowId, 2, ptr->unk0->unk4[20] + hpFraction, ptr->unk0->unk4[21] + 1, ptr->unk0->unk4[22] - hpFraction, 2);
+ }
+ CopyWindowToVram(ptr->windowId, 2);
+}
+
+static void DisplayPartyPokemonOtherText(u8 stringID, struct Struct203CEDC *ptr, u8 c)
+{
+ if (c != 0)
+ {
+ 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);
+ }
+ if (c != 2)
+ AddTextPrinterParameterized3(ptr->windowId, 1, ptr->unk0->unk1C, ptr->unk0->unk1D, gUnknown_086157FC[0], 0, gUnknown_08615B60[stringID]);
+}
+
+static void sub_81B302C(u8 *ptr)
+{
+ if (*ptr != 0xFF)
+ {
+ sub_8198070(*ptr, 0);
+ RemoveWindow(*ptr);
+ *ptr = 0xFF;
+ schedule_bg_copy_tilemap_to_vram(2);
+ }
+}
+
+void display_pokemon_menu_message(u32 stringID)
+{
+ u8 *windowPtr = &gUnknown_0203CEC4->unkC[1];
+
+ if (*windowPtr != 0xFF)
+ sub_81B302C(windowPtr);
+
+ if (stringID != 0x7F)
+ {
+ switch (stringID)
+ {
+ case 21:
+ *windowPtr = AddWindow(&gUnknown_08615928);
+ break;
+ case 24:
+ *windowPtr = AddWindow(&gUnknown_08615930);
+ break;
+ case 25:
+ *windowPtr = AddWindow(&gUnknown_08615938);
+ break;
+ case 22:
+ case 23:
+ *windowPtr = AddWindow(&gUnknown_08615940);
+ break;
+ case 26:
+ *windowPtr = AddWindow(&gUnknown_08615948);
+ break;
+ default:
+ *windowPtr = AddWindow(&gUnknown_08615920);
+ break;
+ }
+ if (stringID == 0)
+ {
+ if (gUnknown_0203CEC4->unk8_0)
+ stringID = 2;
+ else if (sub_81B314C() == FALSE)
+ stringID = 1;
+ }
+ SetWindowBorderStyle(*windowPtr, FALSE, 0x4F, 0xD);
+ StringExpandPlaceholders(gStringVar4, gUnknown_08615AF4[stringID]);
+ AddTextPrinterParameterized(*windowPtr, 1, gStringVar4, 0, 1, 0, 0);
+ schedule_bg_copy_tilemap_to_vram(2);
+ }
+}
+
+static bool8 sub_81B314C(void)
+{
+ struct Pokemon *party = gPlayerParty;
+ u8 i;
+ u8 j = 0;
+
+ if (gUnknown_0203CEC8.unkB == 1)
+ return TRUE;
+
+ for (i = 0; i < 6; 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)
+ return TRUE;
+ }
+ return FALSE;
+}
+
+static u8 sub_81B31B0(u8 a)
+{
+ struct WindowTemplate window;
+ u8 cursorDimension;
+ u8 fontAttribute;
+ u8 i;
+
+ switch (a)
+ {
+ case 0:
+ SetWindowTemplateFields(&window, 2, 19, 19 - (gUnknown_0203CEC4->unk17 * 2), 10, gUnknown_0203CEC4->unk17 * 2, 14, 0x2E9);
+ break;
+ case 1:
+ window = gUnknown_08615950;
+ break;
+ case 2:
+ window = gUnknown_08615958;
+ break;
+ default:
+ window = gUnknown_08615960;
+ break;
+ }
+
+ gUnknown_0203CEC4->unkC[0] = AddWindow(&window);
+ SetWindowBorderStyle(gUnknown_0203CEC4->unkC[0], FALSE, 0x4F, 13);
+ if (a == 3)
+ return gUnknown_0203CEC4->unkC[0];
+ cursorDimension = GetMenuCursorDimensionByFont(1, 0);
+ fontAttribute = GetFontAttribute(1, 2);
+
+ for (i = 0; i < gUnknown_0203CEC4->unk17; i++)
+ {
+ u8 unk = (gUnknown_0203CEC4->unkF[i] > 18) ? 4 : 3;
+ AddTextPrinterParameterized4(gUnknown_0203CEC4->unkC[0], 1, cursorDimension, (i * 16) + 1, fontAttribute, 0, gUnknown_086157FC[unk], 0, sCursorOptions[gUnknown_0203CEC4->unkF[i]].text);
+ }
+
+ InitMenuInUpperLeftCorner(gUnknown_0203CEC4->unkC[0], gUnknown_0203CEC4->unk17, 0, 1);
+ schedule_bg_copy_tilemap_to_vram(2);
+
+ return gUnknown_0203CEC4->unkC[0];
+}
+
+static void sub_81B3300(const u8 *text)
+{
+ SetWindowBorderStyle(6, FALSE, 0x4F, 13);
+ gTextFlags.canABSpeedUpPrint = TRUE;
+ AddTextPrinterParameterized2(6, 1, text, GetPlayerTextSpeedDelay(), 0, 2, 1, 3);
+}
+
+static void sub_81B334C(void)
+{
+ CreateYesNoMenu(&gUnknown_08615968, 0x4F, 13, 0);
+}
+
+static u8 sub_81B3364(void)
+{
+ gUnknown_0203CEC4->unkC[0] = AddWindow(&gUnknown_08615970);
+ SetWindowBorderStyle(gUnknown_0203CEC4->unkC[0], FALSE, 0x4F, 13);
+ return gUnknown_0203CEC4->unkC[0];
+}
+
+static void sub_81B3394(void)
+{
+ ClearWindowTilemap(gUnknown_0203CEC4->unkC[0]);
+ sub_81B302C(&gUnknown_0203CEC4->unkC[0]);
+}
+
+static void sub_81B33B4(struct Pokemon *mons, u8 a, u8 b)
+{
+ u8 i;
+
+ if (b == 0)
+ {
+ sub_81B3414(mons, a);
+ }
+ else
+ {
+ gUnknown_0203CEC4->unk17 = gUnknown_08615D70[b];
+ for (i = 0; i < gUnknown_0203CEC4->unk17; i++)
+ gUnknown_0203CEC4->unkF[i] = gUnknown_08615D38[b][i];
+ }
+}
+
+static void sub_81B3414(struct Pokemon *mons, u8 a)
+{
+ u8 i, j;
+
+ gUnknown_0203CEC4->unk17 = 0;
+ AppendToList(gUnknown_0203CEC4->unkF, &gUnknown_0203CEC4->unk17, 0);
+ for (i = 0; i < MAX_MON_MOVES; i++)
+ {
+ for (j = 0; sFieldMoves[j] != FIELD_MOVE_TERMINATOR; j++)
+ {
+ if (GetMonData(&mons[a], i + MON_DATA_MOVE1) == sFieldMoves[j])
+ {
+ AppendToList(gUnknown_0203CEC4->unkF, &gUnknown_0203CEC4->unk17, j + 19);
+ break;
+ }
+ }
+ }
+
+ if (!InBattlePike())
+ {
+ if (GetMonData(&mons[1], MON_DATA_SPECIES) != SPECIES_NONE)
+ AppendToList(gUnknown_0203CEC4->unkF, &gUnknown_0203CEC4->unk17, 1);
+ if (ItemIsMail(GetMonData(&mons[a], MON_DATA_HELD_ITEM)))
+ AppendToList(gUnknown_0203CEC4->unkF, &gUnknown_0203CEC4->unk17, 6);
+ else
+ AppendToList(gUnknown_0203CEC4->unkF, &gUnknown_0203CEC4->unk17, 3);
+ }
+ AppendToList(gUnknown_0203CEC4->unkF, &gUnknown_0203CEC4->unk17, 2);
+}
+
+static u8 sub_81B353C(struct Pokemon *mon)
+{
+ u32 returnVar;
+
+ switch (gUnknown_0203CEC8.unk8_0)
+ {
+ case 0:
+ if (InMultiBattleRoom() == TRUE || GetMonData(mon, MON_DATA_IS_EGG))
+ returnVar = 1;
+ else
+ returnVar = 0;
+ break;
+ case 1:
+ returnVar = sub_81B8A2C(mon);
+ break;
+ case 4:
+ switch (sub_81B856C(gUnknown_0203CEC8.unk9))
+ {
+ default:
+ returnVar = 7;
+ break;
+ case 0:
+ returnVar = 4;
+ break;
+ case 1:
+ returnVar = 5;
+ break;
+ }
+ break;
+ case 6:
+ returnVar = (GetMonData(mon, MON_DATA_IS_EGG)) ? 7 : 6;
+ break;
+ case 8:
+ returnVar = 10;
+ break;
+ case 9:
+ returnVar = 11;
+ break;
+ case 10:
+ returnVar = 12;
+ break;
+ case 12:
+ returnVar = 13;
+ break;
+ default:
+ returnVar = 0;
+ break;
+ }
+ return returnVar;
+}
+
+static bool8 sub_81B3608(u8 taskId)
+{
+ struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9];
+ u16 item;
+
+ GetMonNickname(mon, gStringVar1);
+ sub_81B302C(&gUnknown_0203CEC4->unkC[1]);
+ if (gUnknown_0203CEC8.unk8_0 != 12)
+ {
+ sub_81B33B4(gPlayerParty, gUnknown_0203CEC8.unk9, sub_81B353C(mon));
+ sub_81B31B0(0);
+ display_pokemon_menu_message(21);
+ }
+ else
+ {
+ item = GetMonData(mon, MON_DATA_HELD_ITEM);
+ if (item != ITEM_NONE)
+ {
+ sub_81B33B4(gPlayerParty, gUnknown_0203CEC8.unk9, sub_81B353C(mon));
+ sub_81B31B0(1);
+ CopyItemName(item, gStringVar2);
+ display_pokemon_menu_message(26);
+ }
+ else
+ {
+ StringExpandPlaceholders(gStringVar4, gText_PkmnNotHolding);
+ sub_81B1B5C(gStringVar4, 1);
+ schedule_bg_copy_tilemap_to_vram(2);
+ gTasks[taskId].func = sub_81B469C;
+ return FALSE;
+ }
+ }
+ return TRUE;
+}
+
+static void sub_81B36FC(u8 taskId)
+{
+ if (sub_81B3608(taskId))
+ {
+ gTasks[taskId].data[0] = 0xFF;
+ gTasks[taskId].func = HandleMenuInput;
+ }
+}
+
+static void HandleMenuInput(u8 taskId)
+{
+ if (!gPaletteFade.active && sub_81221EC() != TRUE)
+ {
+ s8 input;
+ s16 *data = gTasks[taskId].data;
+
+ if (gUnknown_0203CEC4->unk17 <= 3)
+ input = Menu_ProcessInputNoWrapAround_other();
+ else
+ input = ProcessMenuInput_other();
+
+ data[0] = Menu_GetCursorPos();
+ switch (input)
+ {
+ case MENU_NOTHING_CHOSEN:
+ break;
+ case MENU_B_PRESSED:
+ PlaySE(SE_SELECT);
+ sub_81B302C(&gUnknown_0203CEC4->unkC[2]);
+ sCursorOptions[gUnknown_0203CEC4->unkF[gUnknown_0203CEC4->unk17 - 1]].func(taskId);
+ break;
+ default:
+ sub_81B302C(&gUnknown_0203CEC4->unkC[2]);
+ sCursorOptions[gUnknown_0203CEC4->unkF[input]].func(taskId);
+ break;
+ }
+ }
+}
+
+static void CursorCb_Summary(u8 taskId)
+{
+ PlaySE(SE_SELECT);
+ gUnknown_0203CEC4->exitCallback = sub_81B3828;
+ sub_81B12C0(taskId);
+}
+
+static void sub_81B3828(void)
+{
+ if (gUnknown_0203CEC8.unk8_0 == 1)
+ {
+ pokemon_change_order();
+ ShowPokemonSummaryScreen(PSS_MODE_UNK1, gPlayerParty, gUnknown_0203CEC8.unk9, gPlayerPartyCount - 1, sub_81B3894);
+ }
+ else
+ {
+ ShowPokemonSummaryScreen(PSS_MODE_NORMAL, gPlayerParty, gUnknown_0203CEC8.unk9, gPlayerPartyCount - 1, sub_81B3894);
+ }
+}
+
+static void sub_81B3894(void)
+{
+ gPaletteFade.bufferTransferDisabled = TRUE;
+ gUnknown_0203CEC8.unk9 = gUnknown_0203CF20;
+ InitPartyMenu(gUnknown_0203CEC8.unk8_0, 0xFF, gUnknown_0203CEC8.unkB, 1, 21, sub_81B36FC, gUnknown_0203CEC8.exitCallback);
+}
+
+static void CursorCb_Switch(u8 taskId)
+{
+ PlaySE(SE_SELECT);
+ gUnknown_0203CEC8.unkB = 8;
+ sub_81B302C(&gUnknown_0203CEC4->unkC[1]);
+ sub_81B302C(&gUnknown_0203CEC4->unkC[0]);
+ display_pokemon_menu_message(3);
+ sub_81B0FCC(gUnknown_0203CEC8.unk9, 1);
+ gUnknown_0203CEC8.unkA = gUnknown_0203CEC8.unk9;
+ gTasks[taskId].func = sub_81B1370;
+}
+
+static void sub_81B3938(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+ u8 windowIds[2];
+
+ if (gUnknown_0203CEC8.unkA == gUnknown_0203CEC8.unk9)
+ {
+ sub_81B407C(taskId);
+ }
+ else
+ {
+ windowIds[0] = gUnknown_0203CEDC[gUnknown_0203CEC8.unk9].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;
+ 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;
+ 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]);
+ ClearWindowTilemap(windowIds[0]);
+ ClearWindowTilemap(windowIds[1]);
+ gUnknown_0203CEC8.unkB = 9;
+ sub_81B0FCC(gUnknown_0203CEC8.unk9, 1);
+ sub_81B0FCC(gUnknown_0203CEC8.unkA, 1);
+ sub_81B3CC0(taskId);
+ gTasks[taskId].func = sub_81B3D48;
+ }
+}
+
+static bool8 sub_81B3AD8(s16 a, s16 b, u8 *c, u8 *d, u8 *e)
+{
+ if ((a + b) < 0)
+ return FALSE;
+ if (a > 31)
+ return FALSE;
+
+ if (a < 0)
+ {
+ *c = a * -1;
+ *d = 0;
+ *e = b + a;
+ }
+ else
+ {
+ *c = 0;
+ *d = a;
+ if ((a + b) > 31)
+ *e = 32 - a;
+ else
+ *e = b;
+
+ }
+ return TRUE;
+}
+
+static void sub_81B3B40(const void *rectSrc, s16 a, s16 b, s16 c, s16 d, s16 e)
+{
+ u8 f, g, h;
+
+ if (sub_81B3AD8(a, c, &f, &g, &h))
+ {
+ 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);
+ }
+}
+
+static void sub_81B3C0C(struct Struct203CEDC *ptr, s16 a)
+{
+ gSprites[ptr->unkB].pos2.x += a * 8;
+ gSprites[ptr->unkA].pos2.x += a * 8;
+ gSprites[ptr->unk9].pos2.x += a * 8;
+ gSprites[ptr->unkC].pos2.x += a * 8;
+}
+
+static void sub_81B3C60(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+
+ if (data[10] != 0)
+ sub_81B3C0C(&gUnknown_0203CEDC[gUnknown_0203CEC8.unk9], data[10]);
+ if (data[11] != 0)
+ sub_81B3C0C(&gUnknown_0203CEDC[gUnknown_0203CEC8.unkA], data[11]);
+}
+
+static void sub_81B3CC0(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]);
+ schedule_bg_copy_tilemap_to_vram(0);
+}
+
+static void sub_81B3D48(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+ u16 tilemapRelatedMaybe[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)
+ {
+ data[10] *= -1;
+ data[11] *= -1;
+ swap_pokemon_and_oams();
+ DisplayPartyPokemonData(gUnknown_0203CEC8.unk9);
+ DisplayPartyPokemonData(gUnknown_0203CEC8.unkA);
+ PutWindowTilemap(gUnknown_0203CEDC[gUnknown_0203CEC8.unk9].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.unk9].windowId);
+ ClearWindowTilemap(gUnknown_0203CEDC[gUnknown_0203CEC8.unkA].windowId);
+ gTasks[taskId].func = sub_81B3E60;
+ }
+}
+
+static void sub_81B3E60(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+
+ sub_81B3CC0(taskId);
+ sub_81B3C60(taskId);
+ if (data[10] == 0 && data[11] == 0)
+ {
+ PutWindowTilemap(gUnknown_0203CEDC[gUnknown_0203CEC8.unk9].windowId);
+ PutWindowTilemap(gUnknown_0203CEDC[gUnknown_0203CEC8.unkA].windowId);
+ schedule_bg_copy_tilemap_to_vram(0);
+ Free(gUnknown_0203CEF0);
+ Free(gUnknown_0203CEF4);
+ sub_81B407C(taskId);
+ }
+ else
+ {
+ data[8] += data[10];
+ data[9] += data[11];
+ if (data[8] == 0)
+ data[10] = 0;
+ if (data[9] == 0)
+ data[11] = 0;
+ }
+}
+
+static void oamt_swap_pos(u8 *spriteIdPtr1, u8 *spriteIdPtr2)
+{
+ u8 spriteIdBuffer = *spriteIdPtr1;
+ u16 xBuffer1, yBuffer1, xBuffer2, yBuffer2;
+
+ *spriteIdPtr1 = *spriteIdPtr2;
+ *spriteIdPtr2 = spriteIdBuffer;
+ xBuffer1 = gSprites[*spriteIdPtr1].pos1.x;
+ yBuffer1 = gSprites[*spriteIdPtr1].pos1.y;
+ xBuffer2 = gSprites[*spriteIdPtr1].pos2.x;
+ yBuffer2 = gSprites[*spriteIdPtr1].pos2.y;
+ gSprites[*spriteIdPtr1].pos1.x = gSprites[*spriteIdPtr2].pos1.x;
+ gSprites[*spriteIdPtr1].pos1.y = gSprites[*spriteIdPtr2].pos1.y;
+ gSprites[*spriteIdPtr1].pos2.x = gSprites[*spriteIdPtr2].pos2.x;
+ gSprites[*spriteIdPtr1].pos2.y = gSprites[*spriteIdPtr2].pos2.y;
+ gSprites[*spriteIdPtr2].pos1.x = xBuffer1;
+ gSprites[*spriteIdPtr2].pos1.y = yBuffer1;
+ gSprites[*spriteIdPtr2].pos2.x = xBuffer2;
+ gSprites[*spriteIdPtr2].pos2.y = yBuffer2;
+}
+
+static void swap_pokemon_and_oams(void)
+{
+ struct Struct203CEDC *structPtrs[2];
+ struct Pokemon *mon1, *mon2;
+ struct Pokemon *monBuffer;
+
+ structPtrs[0] = &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9];
+ structPtrs[1] = &gUnknown_0203CEDC[gUnknown_0203CEC8.unkA];
+ mon1 = &gPlayerParty[gUnknown_0203CEC8.unk9];
+ mon2 = &gPlayerParty[gUnknown_0203CEC8.unkA];
+ monBuffer = Alloc(sizeof(struct Pokemon));
+ *monBuffer = *mon1;
+ *mon1 = *mon2;
+ *mon2 = *monBuffer;
+ Free(monBuffer);
+ oamt_swap_pos(&structPtrs[0]->unkB, &structPtrs[1]->unkB);
+ oamt_swap_pos(&structPtrs[0]->unkA, &structPtrs[1]->unkA);
+ oamt_swap_pos(&structPtrs[0]->unk9, &structPtrs[1]->unk9);
+ oamt_swap_pos(&structPtrs[0]->unkC, &structPtrs[1]->unkC);
+}
+
+static void sub_81B407C(u8 taskId)
+{
+ sub_81B302C(&gUnknown_0203CEC4->unkC[1]);
+ gUnknown_0203CEC8.unkB = 0;
+ sub_81B0FCC(gUnknown_0203CEC8.unk9, 0);
+ gUnknown_0203CEC8.unk9 = gUnknown_0203CEC8.unkA;
+ sub_81B0FCC(gUnknown_0203CEC8.unkA, 1);
+ display_pokemon_menu_message(0);
+ gTasks[taskId].func = sub_81B1370;
+}
+
+static void CursorCb_Cancel1(u8 taskId)
+{
+ PlaySE(SE_SELECT);
+ sub_81B302C(&gUnknown_0203CEC4->unkC[0]);
+ sub_81B302C(&gUnknown_0203CEC4->unkC[1]);
+ if (gUnknown_0203CEC8.unk8_0 == 6)
+ display_pokemon_menu_message(15);
+ else
+ display_pokemon_menu_message(0);
+ gTasks[taskId].func = sub_81B1370;
+}
+
+static void CursorCb_Item(u8 taskId)
+{
+ PlaySE(SE_SELECT);
+ sub_81B302C(&gUnknown_0203CEC4->unkC[0]);
+ sub_81B302C(&gUnknown_0203CEC4->unkC[1]);
+ sub_81B33B4(gPlayerParty, gUnknown_0203CEC8.unk9, 8);
+ sub_81B31B0(1);
+ display_pokemon_menu_message(24);
+ gTasks[taskId].data[0] = 0xFF;
+ gTasks[taskId].func = HandleMenuInput;
+}
+
+static void CursorCb_Give(u8 taskId)
+{
+ PlaySE(SE_SELECT);
+ gUnknown_0203CEC4->exitCallback = sub_81B41C4;
+ sub_81B12C0(taskId);
+}
+
+static void sub_81B41C4(void)
+{
+ if (InBattlePyramid() == FALSE)
+ GoToBagMenu(RETURN_LOCATION_POKEMON_LIST, POCKETS_COUNT, c2_8123744);
+ else
+ sub_81C4F98(2, c2_8123744);
+}
+
+static void c2_8123744(void)
+{
+ if (gSpecialVar_ItemId == ITEM_NONE)
+ {
+ InitPartyMenu(gUnknown_0203CEC8.unk8_0, 0xFF, gUnknown_0203CEC8.unkB, 1, 0x7F, sub_81B36FC, gUnknown_0203CEC8.exitCallback);
+ }
+ else
+ {
+ gUnknown_0203CEFC = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_HELD_ITEM);
+ if (gUnknown_0203CEFC != ITEM_NONE)
+ {
+ InitPartyMenu(gUnknown_0203CEC8.unk8_0, 0xFF, gUnknown_0203CEC8.unkB, 1, 0x7F, sub_81B4350, gUnknown_0203CEC8.exitCallback);
+ }
+ else if (ItemIsMail(gSpecialVar_ItemId))
+ {
+ RemoveBagItem(gSpecialVar_ItemId, 1);
+ sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.unk9], gSpecialVar_ItemId);
+ sub_81B452C();
+ }
+ else
+ {
+ InitPartyMenu(gUnknown_0203CEC8.unk8_0, 0xFF, gUnknown_0203CEC8.unkB, 1, 0x7F, sub_81B42D0, gUnknown_0203CEC8.exitCallback);
+ }
+ }
+}
+
+static void sub_81B42D0(u8 taskId)
+{
+ u16 item;
+
+ if (!gPaletteFade.active)
+ {
+ item = gSpecialVar_ItemId;
+ sub_81B1C84(&gPlayerParty[gUnknown_0203CEC8.unk9], item, 0, 0);
+ sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.unk9], item);
+ RemoveBagItem(item, 1);
+ gTasks[taskId].func = sub_81B469C;
+ }
+}
+
+static void sub_81B4350(u8 taskId)
+{
+ if (!gPaletteFade.active)
+ {
+ sub_81B1D1C(&gPlayerParty[gUnknown_0203CEC8.unk9], gUnknown_0203CEFC, 1);
+ gTasks[taskId].func = sub_81B43A8;
+ }
+}
+
+static void sub_81B43A8(u8 taskId)
+{
+ if (sub_81B1BD4() != TRUE)
+ {
+ sub_81B334C();
+ gTasks[taskId].func = sub_81B43DC;
+ }
+}
+
+static void sub_81B43DC(u8 taskId)
+{
+ switch (Menu_ProcessInputNoWrapClearOnChoose())
+ {
+ case 0:
+ RemoveBagItem(gSpecialVar_ItemId, 1);
+ if (AddBagItem(gUnknown_0203CEFC, 1) == FALSE)
+ {
+ AddBagItem(gSpecialVar_ItemId, 1);
+ pokemon_item_not_removed(gUnknown_0203CEFC);
+ sub_81B1B5C(gStringVar4, 0);
+ gTasks[taskId].func = sub_81B1C1C;
+ }
+ else if (ItemIsMail(gSpecialVar_ItemId))
+ {
+ sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.unk9], gSpecialVar_ItemId);
+ gTasks[taskId].func = sub_81B44FC;
+ }
+ else
+ {
+ sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.unk9], gSpecialVar_ItemId);
+ sub_81B1D68(gSpecialVar_ItemId, gUnknown_0203CEFC, 1);
+ gTasks[taskId].func = sub_81B469C;
+ }
+ break;
+ case MENU_B_PRESSED:
+ PlaySE(SE_SELECT);
+ case 1:
+ gTasks[taskId].func = sub_81B1C1C;
+ break;
+ }
+}
+
+static void sub_81B44FC(u8 taskId)
+{
+ if (sub_81B1BD4() != TRUE)
+ {
+ gUnknown_0203CEC4->exitCallback = sub_81B452C;
+ sub_81B12C0(taskId);
+ }
+}
+
+static void sub_81B452C(void)
+{
+ u8 mail = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_MAIL);
+
+ sub_811A20C(4, gSaveBlock1Ptr->mail[mail].words, sub_81B4578, 3);
+}
+
+static void sub_81B4578(void)
+{
+ struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9];
+ u16 item = GetMonData(mon, MON_DATA_HELD_ITEM);
+
+ if (gSpecialVar_Result == FALSE)
+ {
+ TakeMailFromMon(mon);
+ SetMonData(mon, MON_DATA_HELD_ITEM, &gUnknown_0203CEFC);
+ RemoveBagItem(gUnknown_0203CEFC, 1);
+ AddBagItem(item, 1);
+ InitPartyMenu(gUnknown_0203CEC8.unk8_0, 0xFF, gUnknown_0203CEC8.unkB, 1, 0, sub_81B36FC, gUnknown_0203CEC8.exitCallback);
+ }
+ else
+ {
+ InitPartyMenu(gUnknown_0203CEC8.unk8_0, 0xFF, gUnknown_0203CEC8.unkB, 1, 0x7F, sub_81B4624, gUnknown_0203CEC8.exitCallback);
+ }
+}
+
+static void sub_81B4624(u8 taskId)
+{
+ if (!gPaletteFade.active)
+ {
+ if (gUnknown_0203CEFC == ITEM_NONE)
+ sub_81B1C84(&gPlayerParty[gUnknown_0203CEC8.unk9], gSpecialVar_ItemId, 0, 0);
+ else
+ sub_81B1D68(gSpecialVar_ItemId, gUnknown_0203CEFC, 0);
+ gTasks[taskId].func = sub_81B469C;
+ }
+}
+
+static void sub_81B469C(u8 taskId)
+{
+ struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9];
+
+ if (sub_81B1BD4() != TRUE)
+ {
+ sub_81B5C94(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9]);
+ if (gUnknown_0203CEC8.unk8_0 == 12)
+ {
+ if (GetMonData(mon, MON_DATA_HELD_ITEM) != ITEM_NONE)
+ DisplayPartyPokemonOtherText(11, &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9], 1);
+ else
+ DisplayPartyPokemonOtherText(12, &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9], 1);
+ }
+ sub_81B1C1C(taskId);
+ }
+}
+
+static void CursorCb_TakeItem(u8 taskId)
+{
+ struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9];
+ u16 item = GetMonData(mon, MON_DATA_HELD_ITEM);
+
+ PlaySE(SE_SELECT);
+ sub_81B302C(&gUnknown_0203CEC4->unkC[0]);
+ sub_81B302C(&gUnknown_0203CEC4->unkC[1]);
+ switch (sub_81B1E00(mon))
+ {
+ case 0:
+ GetMonNickname(mon, gStringVar1);
+ StringExpandPlaceholders(gStringVar4, gText_PkmnNotHolding);
+ sub_81B1B5C(gStringVar4, 1);
+ break;
+ case 1:
+ pokemon_item_not_removed(item);
+ sub_81B1B5C(gStringVar4, 1);
+ break;
+ default:
+ sub_81B1CD0(mon, item, 1);
+ break;
+ }
+ schedule_bg_copy_tilemap_to_vram(2);
+ gTasks[taskId].func = sub_81B469C;
+}
+
+static void CursorCb_Toss(u8 taskId)
+{
+ struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9];
+ u16 item = GetMonData(mon, MON_DATA_HELD_ITEM);
+
+ PlaySE(SE_SELECT);
+ sub_81B302C(&gUnknown_0203CEC4->unkC[0]);
+ sub_81B302C(&gUnknown_0203CEC4->unkC[1]);
+ if (item == ITEM_NONE)
+ {
+ GetMonNickname(mon, gStringVar1);
+ StringExpandPlaceholders(gStringVar4, gText_PkmnNotHolding);
+ sub_81B1B5C(gStringVar4, 1);
+ gTasks[taskId].func = sub_81B469C;
+ }
+ else
+ {
+ CopyItemName(item, gStringVar1);
+ StringExpandPlaceholders(gStringVar4, gText_ThrowAwayItem);
+ sub_81B1B5C(gStringVar4, 1);
+ gTasks[taskId].func = sub_81B48A8;
+ }
+}
+
+static void sub_81B48A8(u8 taskId)
+{
+ if (sub_81B1BD4() != TRUE)
+ {
+ sub_81B334C();
+ gTasks[taskId].func = sub_81B48DC;
+ }
+}
+
+static void sub_81B48DC(u8 taskId)
+{
+ struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9];
+
+ 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;
+ break;
+ case MENU_B_PRESSED:
+ PlaySE(SE_SELECT);
+ case 1:
+ gTasks[taskId].func = sub_81B1C1C;
+ break;
+ }
+}
+
+static void sub_81B4988(u8 taskId)
+{
+ struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9];
+
+ if (sub_81B1BD4() != TRUE)
+ {
+ u16 item = ITEM_NONE;
+
+ SetMonData(mon, MON_DATA_HELD_ITEM, &item);
+ sub_81B5C94(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9]);
+ DisplayPartyPokemonOtherText(12, &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9], 1);
+ gTasks[taskId].func = sub_81B1C1C;
+ }
+}
+
+static void CursorCb_Mail(u8 taskId)
+{
+ PlaySE(SE_SELECT);
+ sub_81B302C(&gUnknown_0203CEC4->unkC[0]);
+ sub_81B302C(&gUnknown_0203CEC4->unkC[1]);
+ sub_81B33B4(gPlayerParty, gUnknown_0203CEC8.unk9, 9);
+ sub_81B31B0(2);
+ display_pokemon_menu_message(25);
+ gTasks[taskId].data[0] = 0xFF;
+ gTasks[taskId].func = HandleMenuInput;
+}
+
+static void CursorCb_Read(u8 taskId)
+{
+ PlaySE(SE_SELECT);
+ gUnknown_0203CEC4->exitCallback = sub_81B4A98;
+ sub_81B12C0(taskId);
+}
+
+static void sub_81B4A98(void)
+{
+ ReadMail(&gSaveBlock1Ptr->mail[GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_MAIL)], sub_81B4AE0, 1);
+}
+
+static void sub_81B4AE0(void)
+{
+ gPaletteFade.bufferTransferDisabled = TRUE;
+ InitPartyMenu(gUnknown_0203CEC8.unk8_0, 0xFF, gUnknown_0203CEC8.unkB, 1, 21, sub_81B36FC, gUnknown_0203CEC8.exitCallback);
+}
+
+static void CursorCb_TakeMail(u8 taskId)
+{
+ PlaySE(SE_SELECT);
+ sub_81B302C(&gUnknown_0203CEC4->unkC[1]);
+ sub_81B302C(&gUnknown_0203CEC4->unkC[0]);
+ sub_81B1B5C(gText_SendMailToPC, 1);
+ gTasks[taskId].func = sub_81B4B6C;
+}
+
+static void sub_81B4B6C(u8 taskId)
+{
+ if (sub_81B1BD4() != TRUE)
+ {
+ sub_81B334C();
+ gTasks[taskId].func = sub_81B4BA0;
+ }
+}
+
+static void sub_81B4BA0(u8 taskId)
+{
+ switch (Menu_ProcessInputNoWrapClearOnChoose())
+ {
+ case 0:
+ if (TakeMailFromMon2(&gPlayerParty[gUnknown_0203CEC8.unk9]) != 0xFF)
+ {
+ sub_81B1B5C(gText_MailSentToPC, 0);
+ gTasks[taskId].func = sub_81B469C;
+ }
+ else
+ {
+ sub_81B1B5C(gText_PCMailboxFull, 0);
+ gTasks[taskId].func = sub_81B1C1C;
+ }
+ break;
+ case MENU_B_PRESSED:
+ PlaySE(SE_SELECT);
+ case 1:
+ sub_81B1B5C(gText_MailMessageWillBeLost, 1);
+ gTasks[taskId].func = sub_81B4C60;
+ break;
+ }
+}
+
+static void sub_81B4C60(u8 taskId)
+{
+ if (sub_81B1BD4() != TRUE)
+ {
+ sub_81B334C();
+ gTasks[taskId].func = sub_81B4C94;
+ }
+}
+
+static void sub_81B4C94(u8 taskId)
+{
+ u16 item;
+
+ switch (Menu_ProcessInputNoWrapClearOnChoose())
+ {
+ case 0:
+ item = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_HELD_ITEM);
+ if (AddBagItem(item, 1) == TRUE)
+ {
+ TakeMailFromMon(&gPlayerParty[gUnknown_0203CEC8.unk9]);
+ sub_81B1B5C(gText_MailTakenFromPkmn, 0);
+ gTasks[taskId].func = sub_81B469C;
+ }
+ else
+ {
+ pokemon_item_not_removed(item);
+ sub_81B1B5C(gStringVar4, 0);
+ gTasks[taskId].func = sub_81B1C1C;
+ }
+ break;
+ case MENU_B_PRESSED:
+ PlaySE(SE_SELECT);
+ case 1:
+ gTasks[taskId].func = sub_81B1C1C;
+ break;
+ }
+}
+
+static void CursorCb_Cancel2(u8 taskId)
+{
+ struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9];
+
+ PlaySE(SE_SELECT);
+ sub_81B302C(&gUnknown_0203CEC4->unkC[0]);
+ sub_81B302C(&gUnknown_0203CEC4->unkC[1]);
+ sub_81B33B4(gPlayerParty, gUnknown_0203CEC8.unk9, sub_81B353C(mon));
+ if (gUnknown_0203CEC8.unk8_0 != 12)
+ {
+ sub_81B31B0(0);
+ display_pokemon_menu_message(21);
+ }
+ else
+ {
+ sub_81B31B0(1);
+ CopyItemName(GetMonData(mon, MON_DATA_HELD_ITEM), gStringVar2);
+ display_pokemon_menu_message(26);
+ }
+ gTasks[taskId].data[0] = 0xFF;
+ gTasks[taskId].func = HandleMenuInput;
+}
+
+static void CursorCb_SendMon(u8 taskId)
+{
+ PlaySE(SE_SELECT);
+ sub_81B302C(&gUnknown_0203CEC4->unkC[0]);
+ if (sub_81B8A7C() == TRUE)
+ {
+ sub_81B12C0(taskId);
+ }
+ else
+ {
+ sub_81B302C(&gUnknown_0203CEC4->unkC[1]);
+ sub_81B1B5C(gStringVar4, 1);
+ gTasks[taskId].func = sub_81B1C1C;
+ }
+}
+
+static void CursorCb_Enter(u8 taskId)
+{
+ u8 unk;
+ u8 i;
+
+ sub_81B302C(&gUnknown_0203CEC4->unkC[0]);
+ sub_81B302C(&gUnknown_0203CEC4->unkC[1]);
+ unk = sub_81B8830();
+ for (i = 0; i < unk; i++)
+ {
+ if (gSelectedOrderFromParty[i] == 0)
+ {
+ PlaySE(SE_SELECT);
+ gSelectedOrderFromParty[i] = gUnknown_0203CEC8.unk9 + 1;
+ DisplayPartyPokemonOtherText(i + 2, &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9], 1);
+ if (i == (unk - 1))
+ sub_81B4F88();
+ display_pokemon_menu_message(0);
+ gTasks[taskId].func = sub_81B1370;
+ return;
+ }
+ }
+ ConvertIntToDecimalStringN(gStringVar1, unk, 0, 1);
+ StringExpandPlaceholders(gStringVar4, gText_NoMoreThanVar1Pkmn);
+ PlaySE(SE_HAZURE);
+ sub_81B1B5C(gStringVar4, 1);
+ gTasks[taskId].func = sub_81B1C1C;
+}
+
+static void sub_81B4F88(void)
+{
+ sub_81B0FCC(gUnknown_0203CEC8.unk9, 0);
+ gUnknown_0203CEC8.unk9 = 6;
+ sub_81B0FCC(gUnknown_0203CEC8.unk9, 1);
+}
+
+static void CursorCb_NoEntry(u8 taskId)
+{
+ u8 unk;
+ u8 i, j;
+
+ PlaySE(SE_SELECT);
+ sub_81B302C(&gUnknown_0203CEC4->unkC[0]);
+ sub_81B302C(&gUnknown_0203CEC4->unkC[1]);
+ unk = sub_81B8830();
+ for (i = 0; i < unk; i++)
+ {
+ if (gSelectedOrderFromParty[i] == (gUnknown_0203CEC8.unk9 + 1))
+ {
+ for (j = i; j < (unk - 1); j++)
+ gSelectedOrderFromParty[j] = gSelectedOrderFromParty[j + 1];
+ gSelectedOrderFromParty[j] = 0;
+ break;
+ }
+ }
+ DisplayPartyPokemonOtherText(1, &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9], 1);
+ for (i = 0; i < (unk - 1); i++)
+ {
+ if (gSelectedOrderFromParty[i] != 0)
+ DisplayPartyPokemonOtherText(i + 2, &gUnknown_0203CEDC[gSelectedOrderFromParty[i] - 1], 1);
+ }
+ display_pokemon_menu_message(0);
+ gTasks[taskId].func = sub_81B1370;
+}
+
+static void CursorCb_Store(u8 taskId)
+{
+ PlaySE(SE_SELECT);
+ sub_81B12C0(taskId);
+}
+
+static void CursorCb_Register(u8 taskId)
+{
+ u16 species2 = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_SPECIES2);
+ u16 species = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_SPECIES);
+ u8 obedience = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_OBEDIENCE);
+
+ switch (sub_807A8D0(*(u32 *)sub_800F7DC() /* dirty cast, probably needs to be changed */, species2, species, obedience))
+ {
+ case 1:
+ StringExpandPlaceholders(gStringVar4, gText_PkmnCantBeTradedNow);
+ break;
+ case 2:
+ StringExpandPlaceholders(gStringVar4, gText_EggCantBeTradedNow);
+ break;
+ default:
+ PlaySE(SE_SELECT);
+ sub_81B12C0(taskId);
+ return;
+ }
+ PlaySE(SE_HAZURE);
+ sub_81B302C(&gUnknown_0203CEC4->unkC[0]);
+ sub_81B302C(&gUnknown_0203CEC4->unkC[1]);
+ StringAppend(gStringVar4, gText_PauseUntilPress);
+ sub_81B1B5C(gStringVar4, 1);
+ gTasks[taskId].func = sub_81B1C1C;
+}
+
+static void CursorCb_Trade1(u8 taskId)
+{
+ u16 species2 = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_SPECIES2);
+ u16 species = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_SPECIES);
+ u8 obedience = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_OBEDIENCE);
+ u32 stringId = sub_807A7E0(*(struct UnkLinkRfuStruct_02022B14Substruct *)sub_800F7DC(), gUnknown_02022C38, species2, gUnknown_02022C3C, gUnknown_02022C3E, species, obedience);
+
+ if (stringId != 0)
+ {
+ StringExpandPlaceholders(gStringVar4, gUnknown_08615E0C[stringId - 1]);
+ PlaySE(SE_HAZURE);
+ sub_81B302C(&gUnknown_0203CEC4->unkC[0]);
+ sub_81B302C(&gUnknown_0203CEC4->unkC[1]);
+ StringAppend(gStringVar4, gText_PauseUntilPress);
+ sub_81B1B5C(gStringVar4, 1);
+ gTasks[taskId].func = sub_81B1C1C;
+ }
+ else
+ {
+ PlaySE(SE_SELECT);
+ sub_81B12C0(taskId);
+ }
+}
+
+static void CursorCb_Trade2(u8 taskId)
+{
+ sub_81B302C(&gUnknown_0203CEC4->unkC[0]);
+ sub_81B302C(&gUnknown_0203CEC4->unkC[1]);
+ switch (sub_807A918(gPlayerParty, gUnknown_0203CEC8.unk9))
+ {
+ case 1:
+ StringExpandPlaceholders(gStringVar4, gText_OnlyPkmnForBattle);
+ break;
+ case 2:
+ StringExpandPlaceholders(gStringVar4, gText_PkmnCantBeTradedNow);
+ break;
+ case 3:
+ StringExpandPlaceholders(gStringVar4, gText_EggCantBeTradedNow);
+ break;
+ default:
+ PlaySE(SE_SELECT);
+ GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.unk9], gStringVar1);
+ StringExpandPlaceholders(gStringVar4, gJPText_PutVar1IntoSpinner);
+ sub_81B1B5C(gStringVar4, 1);
+ gTasks[taskId].func = sub_81B53FC;
+ return;
+ }
+ PlaySE(SE_HAZURE);
+ StringAppend(gStringVar4, gText_PauseUntilPress);
+ sub_81B1B5C(gStringVar4, 1);
+ gTasks[taskId].func = sub_81B1C1C;
+}
+
+static void sub_81B53FC(u8 taskId)
+{
+ if (sub_81B1BD4() != TRUE)
+ {
+ sub_81B334C();
+ gTasks[taskId].func = sub_81B5430;
+ }
+}
+
+static void sub_81B5430(u8 taskId)
+{
+ switch (Menu_ProcessInputNoWrapClearOnChoose())
+ {
+ case 0:
+ sub_81B12C0(taskId);
+ break;
+ case MENU_B_PRESSED:
+ PlaySE(SE_SELECT);
+ case 1:
+ sub_81B1C1C(taskId);
+ break;
+ }
+}
+
+static void CursorCb_FieldMove(u8 taskId)
+{
+ u8 fieldMove = gUnknown_0203CEC4->unkF[Menu_GetCursorPos()] - MENU_FIELD_MOVES;
+ const struct MapHeader *mapHeader;
+
+ PlaySE(SE_SELECT);
+ if (sFieldMoveCursorCallbacks[fieldMove].fieldMoveFunc == NULL)
+ return;
+
+ sub_81B302C(&gUnknown_0203CEC4->unkC[0]);
+ sub_81B302C(&gUnknown_0203CEC4->unkC[1]);
+ if (sub_81221AC() == TRUE || InUnionRoom() == TRUE)
+ {
+ if (fieldMove == FIELD_MOVE_MILK_DRINK || fieldMove == FIELD_MOVE_SOFT_BOILED)
+ display_pokemon_menu_message(13);
+ else
+ display_pokemon_menu_message(sFieldMoveCursorCallbacks[fieldMove].msgId);
+
+ gTasks[taskId].func = task_brm_cancel_1_on_keypad_a_or_b;
+ }
+ 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;
+ }
+ else if (sFieldMoveCursorCallbacks[fieldMove].fieldMoveFunc() == TRUE)
+ {
+ switch (fieldMove)
+ {
+ case FIELD_MOVE_MILK_DRINK:
+ case FIELD_MOVE_SOFT_BOILED:
+ sub_8161560(taskId);
+ break;
+ case FIELD_MOVE_TELEPORT:
+ mapHeader = Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->lastHealLocation.mapGroup, gSaveBlock1Ptr->lastHealLocation.mapNum);
+ sub_81245DC(gStringVar1, mapHeader->regionMapSectionId);
+ StringExpandPlaceholders(gStringVar4, gText_ReturnToHealingSpot);
+ sub_81B5674(taskId);
+ gUnknown_0203CEC4->data[0] = fieldMove;
+ break;
+ case FIELD_MOVE_DIG:
+ mapHeader = Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->warp4.mapGroup, gSaveBlock1Ptr->warp4.mapNum);
+ sub_81245DC(gStringVar1, mapHeader->regionMapSectionId);
+ StringExpandPlaceholders(gStringVar4, gText_EscapeFromHere);
+ sub_81B5674(taskId);
+ gUnknown_0203CEC4->data[0] = fieldMove;
+ break;
+ case FIELD_MOVE_FLY:
+ gUnknown_0203CEC8.exitCallback = MCB2_FlyMap;
+ sub_81B12C0(taskId);
+ break;
+ default:
+ gUnknown_0203CEC8.exitCallback = CB2_ReturnToField;
+ sub_81B12C0(taskId);
+ break;
+ }
+ }
+ else
+ {
+ switch (fieldMove)
+ {
+ case FIELD_MOVE_SURF:
+ sub_81B5864();
+ break;
+ case FIELD_MOVE_FLASH:
+ sub_81B57DC();
+ break;
+ default:
+ display_pokemon_menu_message(sFieldMoveCursorCallbacks[fieldMove].msgId);
+ break;
+ }
+ gTasks[taskId].func = task_brm_cancel_1_on_keypad_a_or_b;
+ }
+ }
+}
+
+static void sub_81B5674(u8 taskId)
+{
+ sub_81B1B5C(gStringVar4, 1);
+ gTasks[taskId].func = sub_81B56A4;
+}
+
+static void sub_81B56A4(u8 taskId)
+{
+ if (sub_81B1BD4() != TRUE)
+ {
+ sub_81B334C();
+ gTasks[taskId].func = sub_81B56D8;
+ }
+}
+
+static void sub_81B56D8(u8 taskId)
+{
+ switch (Menu_ProcessInputNoWrapClearOnChoose())
+ {
+ case 0:
+ gUnknown_0203CEC8.exitCallback = CB2_ReturnToField;
+ sub_81B12C0(taskId);
+ break;
+ case MENU_B_PRESSED:
+ PlaySE(SE_SELECT);
+ case 1:
+ gFieldCallback2 = NULL;
+ gPostMenuFieldCallback = NULL;
+ sub_81B1C1C(taskId);
+ break;
+ }
+}
+
+bool8 FieldCallback_PrepareFadeInFromMenu(void)
+{
+ pal_fill_black();
+ CreateTask(task_launch_hm_phase_2, 8);
+ return TRUE;
+}
+
+static void task_launch_hm_phase_2(u8 taskId)
+{
+ if (IsWeatherNotFadingIn() == TRUE)
+ {
+ gFieldEffectArguments[0] = brm_get_selected_species();
+ gPostMenuFieldCallback();
+ DestroyTask(taskId);
+ }
+}
+
+static u16 brm_get_selected_species(void)
+{
+ return GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_SPECIES);
+}
+
+static void task_brm_cancel_1_on_keypad_a_or_b(u8 taskId)
+{
+ if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON))
+ CursorCb_Cancel1(taskId);
+}
+
+static void sub_81B57DC(void)
+{
+ if (FlagGet(FLAG_SYS_USE_FLASH) == TRUE)
+ display_pokemon_menu_message(12);
+ else
+ display_pokemon_menu_message(13);
+}
+
+static void hm_surf_run_dp02scr(void)
+{
+ gFieldEffectArguments[0] = GetCursorSelectionMonId();
+ FieldEffectStart(FLDEFF_USE_SURF);
+}
+
+static bool8 SetUpFieldMove_Surf(void)
+{
+ if (PartyHasMonWithSurf() == TRUE && IsPlayerFacingSurfableFishableWater() == TRUE)
+ {
+ gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu;
+ gPostMenuFieldCallback = hm_surf_run_dp02scr;
+ return TRUE;
+ }
+ return FALSE;
+}
+
+static void sub_81B5864(void)
+{
+ if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING))
+ display_pokemon_menu_message(9);
+ else
+ display_pokemon_menu_message(8);
+}
+
+static bool8 SetUpFieldMove_Fly(void)
+{
+ if (Overworld_MapTypeAllowsTeleportAndFly(gMapHeader.mapType) == TRUE)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+void sub_81B58A8(void)
+{
+ InitPartyMenu(0, 0, 0, 1, 0, sub_81B1370, CB2_ReturnToFieldWithOpenMenu);
+}
+
+static void hm2_waterfall(void)
+{
+ gFieldEffectArguments[0] = GetCursorSelectionMonId();
+ FieldEffectStart(FLDEFF_USE_WATERFALL);
+}
+
+static bool8 SetUpFieldMove_Waterfall(void)
+{
+ s16 x, y;
+
+ GetXYCoordsOneStepInFrontOfPlayer(&x, &y);
+ if (MetatileBehavior_IsWaterfall(MapGridGetMetatileBehaviorAt(x, y)) == TRUE && IsPlayerSurfingNorth() == TRUE)
+ {
+ gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu;
+ gPostMenuFieldCallback = hm2_waterfall;
+ return TRUE;
+ }
+ return FALSE;
+}
+
+static void sub_81B5958(void)
+{
+ gFieldEffectArguments[0] = GetCursorSelectionMonId();
+ FieldEffectStart(FLDEFF_USE_DIVE);
+}
+
+static bool8 SetUpFieldMove_Dive(void)
+{
+ gFieldEffectArguments[1] = TrySetDiveWarp();
+ if (gFieldEffectArguments[1] != 0)
+ {
+ gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu;
+ gPostMenuFieldCallback = sub_81B5958;
+ return TRUE;
+ }
+ return FALSE;
+}
+
+static void party_menu_icon_anim(struct Pokemon *mon, struct Struct203CEDC *ptr, u32 a)
+{
+ u32 bit = 1;
+ u16 species2;
+
+ if (IsMultiBattle() == TRUE && gMain.inBattle)
+ bit = (gUnknown_08616020[a] ^ bit) ? 1 : 0;
+ species2 = GetMonData(mon, MON_DATA_SPECIES2);
+ party_menu_link_mon_icon_anim(species2, GetMonData(mon, MON_DATA_PERSONALITY), ptr, 1, bit);
+ sub_81B5B38(ptr->unk9, mon);
+}
+
+static void party_menu_link_mon_icon_anim(u16 species, u32 pid, struct Struct203CEDC *ptr, u8 priority, u32 bit)
+{
+ if (species != SPECIES_NONE)
+ {
+ ptr->unk9 = CreateMonIcon(species, sub_80D3014, ptr->unk4[0], ptr->unk4[1], 4, pid, bit);
+ gSprites[ptr->unk9].oam.priority = priority;
+ }
+}
+
+static void sub_81B5A8C(u8 spriteId, u16 hp, u16 maxhp)
+{
+ switch (GetHPBarLevel(hp, maxhp))
+ {
+ case HP_BAR_FULL:
+ sub_80D32C8(&gSprites[spriteId], 0);
+ break;
+ case HP_BAR_GREEN:
+ sub_80D32C8(&gSprites[spriteId], 1);
+ break;
+ case HP_BAR_YELLOW:
+ sub_80D32C8(&gSprites[spriteId], 2);
+ break;
+ case HP_BAR_RED:
+ sub_80D32C8(&gSprites[spriteId], 3);
+ break;
+ default:
+ sub_80D32C8(&gSprites[spriteId], 4);
+ break;
+ }
+}
+
+static void sub_81B5B38(u8 spriteId, struct Pokemon *mon)
+{
+ sub_81B5A8C(spriteId, GetMonData(mon, MON_DATA_HP), GetMonData(mon, MON_DATA_MAX_HP));
+}
+
+static void AnimateSelectedPartyIcon(u8 spriteId, u8 a)
+{
+ gSprites[spriteId].data[0] = 0;
+ if (a == 0)
+ {
+ if (gSprites[spriteId].pos1.x == 16)
+ {
+ gSprites[spriteId].pos2.x = 0;
+ gSprites[spriteId].pos2.y = -4;
+ }
+ else
+ {
+ gSprites[spriteId].pos2.x = -4;
+ gSprites[spriteId].pos2.y = 0;
+ }
+ gSprites[spriteId].callback = UpdatePartyMonIconFrame;
+ }
+ else
+ {
+ gSprites[spriteId].pos2.x = 0;
+ gSprites[spriteId].pos2.y = 0;
+ gSprites[spriteId].callback = UpdatePartyMonIconFrameAndBounce;
+ }
+}
+
+static void UpdatePartyMonIconFrameAndBounce(struct Sprite *sprite)
+{
+ u8 unk = UpdateMonIconFrame(sprite);
+
+ if (unk != 0)
+ {
+ if (unk & 1)
+ sprite->pos2.y = -3;
+ else
+ sprite->pos2.y = 1;
+ }
+}
+
+static void UpdatePartyMonIconFrame(struct Sprite *sprite)
+{
+ UpdateMonIconFrame(sprite);
+}
+
+static void party_menu_held_item_object(struct Pokemon *mon, struct Struct203CEDC *ptr)
+{
+ if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE)
+ {
+ ptr->unkA = CreateSprite(&gSpriteTemplate_8615EC0, ptr->unk4[2], ptr->unk4[3], 0);
+ sub_81B5C94(mon, ptr);
+ }
+}
+
+static void party_menu_link_mon_held_item_object(u16 species, u16 item, struct Struct203CEDC *ptr)
+{
+ if (species != SPECIES_NONE)
+ {
+ ptr->unkA = CreateSprite(&gSpriteTemplate_8615EC0, ptr->unk4[2], ptr->unk4[3], 0);
+ gSprites[ptr->unkA].oam.priority = 0;
+ sub_81B5CB0(item, ptr);
+ }
+}
+
+static void sub_81B5C94(struct Pokemon *mon, struct Struct203CEDC *ptr)
+{
+ sub_81B5CB0(GetMonData(mon, MON_DATA_HELD_ITEM), ptr);
+}
+
+static void sub_81B5CB0(u16 item, struct Struct203CEDC *ptr)
+{
+ if (item == ITEM_NONE)
+ {
+ gSprites[ptr->unkA].invisible = TRUE;
+ }
+ else
+ {
+ if (ItemIsMail(item))
+ StartSpriteAnim(&gSprites[ptr->unkA], 1);
+ else
+ StartSpriteAnim(&gSprites[ptr->unkA], 0);
+ gSprites[ptr->unkA].invisible = FALSE;
+ }
+}
+
+void LoadHeldItemIcons(void)
+{
+ LoadSpriteSheet(&gUnknown_08615EB0);
+ LoadSpritePalette(&gUnknown_08615EB8);
+}
+
+void sub_81B5D4C(u8 *a, u8 *b, u8 c)
+{
+ u16 i;
+ u16 item;
+
+ switch (c)
+ {
+ case 0:
+ for (i = 0; i < a[0]; i++)
+ {
+ item = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM);
+ if (item != ITEM_NONE)
+ sub_81B5DF0(b[i], ItemIsMail(item));
+ }
+ break;
+ case 1:
+ for (i = 0; i < a[1]; i++)
+ {
+ item = GetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM);
+ if (item != ITEM_NONE)
+ sub_81B5DF0(b[i + 6], ItemIsMail(item));
+ }
+ break;
+ }
+}
+
+static void sub_81B5DF0(u8 spriteId, u8 isMail)
+{
+ u8 subpriority = gSprites[spriteId].subpriority;
+ u8 newSpriteId = CreateSprite(&gSpriteTemplate_8615EC0, 250, 170, subpriority - 1);
+
+ gSprites[newSpriteId].pos2.x = 4;
+ gSprites[newSpriteId].pos2.y = 10;
+ gSprites[newSpriteId].callback = sub_81B5E74;
+ gSprites[newSpriteId].data[7] = spriteId;
+ StartSpriteAnim(&gSprites[newSpriteId], isMail);
+ gSprites[newSpriteId].callback(&gSprites[newSpriteId]);
+}
+
+static void sub_81B5E74(struct Sprite *sprite)
+{
+ u8 otherSpriteId = sprite->data[7];
+
+ if (gSprites[otherSpriteId].invisible)
+ {
+ sprite->invisible = TRUE;
+ }
+ else
+ {
+ sprite->invisible = FALSE;
+ sprite->pos1.x = gSprites[otherSpriteId].pos1.x + gSprites[otherSpriteId].pos2.x;
+ sprite->pos1.y = gSprites[otherSpriteId].pos1.y + gSprites[otherSpriteId].pos2.y;
+ }
+}
+
+static void party_menu_pokeball_object(struct Pokemon *mon, struct Struct203CEDC *ptr)
+{
+ if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE)
+ ptr->unkB = CreateSprite(&gSpriteTemplate_8615F08, ptr->unk4[6], ptr->unk4[7], 8);
+}
+
+static void party_menu_link_mon_pokeball_object(u16 species, struct Struct203CEDC *ptr)
+{
+ if (species != SPECIES_NONE)
+ {
+ ptr->unkB = CreateSprite(&gSpriteTemplate_8615F08, ptr->unk4[6], ptr->unk4[7], 8);
+ gSprites[ptr->unkB].oam.priority = 0;
+ }
+}
+
+static u8 sub_81B5F34(u8 x, u8 y)
+{
+ u8 spriteId = CreateSprite(&gSpriteTemplate_8615F08, x, y, 8);
+
+ gSprites[spriteId].oam.priority = 2;
+ return spriteId;
+}
+
+static u8 sub_81B5F74(u8 x, u8 y)
+{
+ return CreateSprite(&gSpriteTemplate_8615F78, x, y, 8);
+}
+
+static void sub_81B5F98(u8 spriteId, u8 a)
+{
+ StartSpriteAnim(&gSprites[spriteId], a);
+}
+
+static void sub_81B5FBC(u8 spriteId, u8 spriteId2, u8 a)
+{
+ if (a == 0)
+ {
+ StartSpriteAnim(&gSprites[spriteId], 2);
+ StartSpriteAnim(&gSprites[spriteId2], 4);
+ gSprites[spriteId].pos2.y = 0;
+ gSprites[spriteId2].pos2.y = 0;
+ }
+ else
+ {
+ StartSpriteAnim(&gSprites[spriteId], 3);
+ StartSpriteAnim(&gSprites[spriteId2], 5);
+ gSprites[spriteId].pos2.y = -4;
+ gSprites[spriteId2].pos2.y = 4;
+ }
+}
+
+static void LoadPartyMenuPokeballGfx(void)
+{
+ LoadCompressedSpriteSheet(&gUnknown_08615EF8);
+ LoadCompressedSpriteSheet(&gUnknown_08615F70);
+ LoadCompressedSpritePalette(&gUnknown_08615F00);
+}
+
+static void party_menu_status_condition_object(struct Pokemon *mon, struct Struct203CEDC *ptr)
+{
+ if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_NONE)
+ {
+ ptr->unkC = CreateSprite(&gSpriteTemplate_8616008, ptr->unk4[4], ptr->unk4[5], 0);
+ party_menu_get_status_condition_and_update_object(mon, ptr);
+ }
+}
+
+static void party_menu_link_mon_status_condition_object(u16 species, u8 status, struct Struct203CEDC *ptr)
+{
+ if (species != SPECIES_NONE)
+ {
+ ptr->unkC = CreateSprite(&gSpriteTemplate_8616008, ptr->unk4[4], ptr->unk4[5], 0);
+ party_menu_update_status_condition_object(status, ptr);
+ gSprites[ptr->unkC].oam.priority = 0;
+ }
+}
+
+static void party_menu_get_status_condition_and_update_object(struct Pokemon *mon, struct Struct203CEDC *ptr)
+{
+ party_menu_update_status_condition_object(sub_81B205C(mon), ptr);
+}
+
+static void party_menu_update_status_condition_object(u8 status, struct Struct203CEDC *ptr)
+{
+ switch (status)
+ {
+ case AILMENT_NONE:
+ case AILMENT_PKRS:
+ gSprites[ptr->unkC].invisible = TRUE;
+ break;
+ default:
+ StartSpriteAnim(&gSprites[ptr->unkC], status - 1);
+ gSprites[ptr->unkC].invisible = FALSE;
+ break;
+ }
+}
+
+static void LoadPartyMenuAilmentGfx(void)
+{
+ LoadCompressedSpriteSheet(&gUnknown_08615FF8);
+ LoadCompressedSpritePalette(&gUnknown_08616000);
+}
+
+void sub_81B617C(void)
+{
+ MainCallback callback = c2_815ABFC;
+ u8 doubleBattleStatus;
+ bool8 inBattle;
+ u8 i;
+ u8 msgIdMaybe;
+ register TaskFunc task asm("r0");
+
+ if (gMain.inBattle)
+ {
+ inBattle = TRUE;
+ doubleBattleStatus = sub_81B8984();
+ }
+ else
+ {
+ inBattle = FALSE;
+ doubleBattleStatus = 0;
+ }
+ if (GetItemEffectType(gSpecialVar_ItemId) == 10)
+ {
+ gUnknown_0203CEC8.unk9 = 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.unk9 = i;
+ break;
+ }
+ }
+ task = sub_81B6280;
+ msgIdMaybe = 0x7F;
+ }
+ else
+ {
+ msgIdMaybe = (GetPocketByItemId(gSpecialVar_ItemId) == POCKET_TM_HM) ? 4 : 5;
+ task = sub_81B1370;
+ }
+ InitPartyMenu(inBattle, doubleBattleStatus, 3, 1, msgIdMaybe, task, callback);
+}
+
+static void c2_815ABFC(void)
+{
+ if (InBattlePyramid() == FALSE)
+ GoToBagMenu(RETURN_LOCATION_UNCHANGED, POCKETS_COUNT, NULL);
+ else
+ sub_81C4F98(4, gPyramidBagCursorData.callback);
+}
+
+static void sub_81B6280(u8 taskId)
+{
+ if (!gPaletteFade.active)
+ {
+ if (gUnknown_0203CEC8.unk8_0 == 1)
+ gUnknown_0203CEC4->exitCallback = sub_81B9140;
+ gUnknown_03006328(taskId, sub_81B6794);
+ }
+}
+
+static bool8 IsHPRecoveryItem(u16 item)
+{
+ const u8 *effect;
+
+ if (item == ITEM_ENIGMA_BERRY)
+ effect = gSaveBlock1Ptr->enigmaBerry.itemEffect;
+ else
+ effect = gItemEffectTable[item - ITEM_POTION];
+ if ((effect[4] & 4) != 0)
+ return TRUE;
+ return FALSE;
+}
+
+static void GetMedicineItemEffectMessage(u16 item)
+{
+ switch (GetItemEffectType(item))
+ {
+ case 3:
+ StringExpandPlaceholders(gStringVar4, gText_PkmnCuredOfPoison);
+ break;
+ case 4:
+ StringExpandPlaceholders(gStringVar4, gText_PkmnWokeUp2);
+ break;
+ case 5:
+ StringExpandPlaceholders(gStringVar4, gText_PkmnBurnHealed);
+ break;
+ case 6:
+ StringExpandPlaceholders(gStringVar4, gText_PkmnThawedOut);
+ break;
+ case 7:
+ StringExpandPlaceholders(gStringVar4, gText_PkmnCuredOfParalysis);
+ break;
+ case 8:
+ StringExpandPlaceholders(gStringVar4, gText_PkmnSnappedOutOfConfusion);
+ break;
+ case 9:
+ StringExpandPlaceholders(gStringVar4, gText_PkmnGotOverInfatuation);
+ break;
+ case 11:
+ StringExpandPlaceholders(gStringVar4, gText_PkmnBecameHealthy);
+ break;
+ case 13:
+ StringCopy(gStringVar2, gText_HP3);
+ StringExpandPlaceholders(gStringVar4, gText_PkmnBaseVar2StatIncreased);
+ break;
+ case 12:
+ StringCopy(gStringVar2, gText_Attack3);
+ StringExpandPlaceholders(gStringVar4, gText_PkmnBaseVar2StatIncreased);
+ break;
+ case 17:
+ StringCopy(gStringVar2, gText_Defense3);
+ StringExpandPlaceholders(gStringVar4, gText_PkmnBaseVar2StatIncreased);
+ break;
+ case 16:
+ StringCopy(gStringVar2, gText_Speed2);
+ StringExpandPlaceholders(gStringVar4, gText_PkmnBaseVar2StatIncreased);
+ break;
+ case 14:
+ StringCopy(gStringVar2, gText_SpAtk3);
+ StringExpandPlaceholders(gStringVar4, gText_PkmnBaseVar2StatIncreased);
+ break;
+ case 15:
+ StringCopy(gStringVar2, gText_SpDef3);
+ StringExpandPlaceholders(gStringVar4, gText_PkmnBaseVar2StatIncreased);
+ break;
+ case 19:
+ case 20:
+ StringExpandPlaceholders(gStringVar4, gText_MovesPPIncreased);
+ break;
+ case 21:
+ StringExpandPlaceholders(gStringVar4, gText_PPWasRestored);
+ break;
+ default:
+ StringExpandPlaceholders(gStringVar4, gText_WontHaveEffect);
+ break;
+ }
+}
+
+static bool8 UsingHPEVItemOnShedinja(struct Pokemon *mon, u16 item)
+{
+ if (GetItemEffectType(item) == 13 && GetMonData(mon, MON_DATA_SPECIES) == SPECIES_SHEDINJA)
+ return FALSE;
+ return TRUE;
+}
+
+static bool8 IsBlueYellowRedFlute(u16 item)
+{
+ if (item == ITEM_BLUE_FLUTE || item == ITEM_RED_FLUTE || item == ITEM_YELLOW_FLUTE)
+ return TRUE;
+ return FALSE;
+}
+
+static bool8 ExecuteTableBasedItemEffect__(u8 partyMonIndex, u16 item, u8 monMoveIndex)
+{
+ if (gMain.inBattle)
+ return ExecuteTableBasedItemEffect(&gPlayerParty[partyMonIndex], item, sub_81B8F38(partyMonIndex), monMoveIndex);
+ else
+ return ExecuteTableBasedItemEffect(&gPlayerParty[partyMonIndex], item, partyMonIndex, monMoveIndex);
+}
+
+void ItemUseCB_Medicine(u8 taskId, TaskFunc task)
+{
+ u16 hp = 0;
+ struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9];
+ u16 item = gSpecialVar_ItemId;
+ bool8 canHeal;
+
+ if (UsingHPEVItemOnShedinja(mon, item))
+ {
+ canHeal = IsHPRecoveryItem(item);
+ if (canHeal == TRUE)
+ {
+ hp = GetMonData(mon, MON_DATA_HP);
+ if (hp == GetMonData(mon, MON_DATA_MAX_HP))
+ canHeal = FALSE;
+ }
+ if (ExecuteTableBasedItemEffect__(gUnknown_0203CEC8.unk9, item, 0))
+ {
+ iTriedHonestlyIDid:
+ gUnknown_0203CEE8 = 0;
+ PlaySE(SE_SELECT);
+ sub_81B1B5C(gText_WontHaveEffect, 1);
+ schedule_bg_copy_tilemap_to_vram(2);
+ gTasks[taskId].func = task;
+ return;
+ }
+ }
+ else
+ {
+ goto iTriedHonestlyIDid;
+ }
+ gUnknown_0203CEE8 = 1;
+ if (IsBlueYellowRedFlute(item) == FALSE)
+ {
+ PlaySE(SE_KAIFUKU);
+ if (gUnknown_0203CEC8.unkB != 14)
+ RemoveBagItem(item, 1);
+ }
+ else
+ {
+ PlaySE(SE_BIDORO);
+ }
+ party_menu_get_status_condition_and_update_object(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9]);
+ if (gSprites[gUnknown_0203CEDC[gUnknown_0203CEC8.unk9].unkC].invisible)
+ DisplayPartyPokemonLevelCheck(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9], 1);
+ if (canHeal == TRUE)
+ {
+ if (hp == 0)
+ sub_81B0FCC(gUnknown_0203CEC8.unk9, 1);
+ sub_81B1F18(taskId, gUnknown_0203CEC8.unk9, 1, GetMonData(mon, MON_DATA_HP) - hp, sub_81B672C);
+ sub_81B1FA8(taskId, 0, hp);
+ return;
+ }
+ else
+ {
+ GetMonNickname(mon, gStringVar1);
+ GetMedicineItemEffectMessage(item);
+ sub_81B1B5C(gStringVar4, 1);
+ schedule_bg_copy_tilemap_to_vram(2);
+ gTasks[taskId].func = task;
+ }
+}
+
+static void sub_81B672C(u8 taskId)
+{
+ GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.unk9], gStringVar1);
+ StringExpandPlaceholders(gStringVar4, gText_PkmnHPRestoredByVar2);
+ sub_81B1B5C(gStringVar4, 0);
+ schedule_bg_copy_tilemap_to_vram(2);
+ HandleBattleLowHpMusicChange();
+ gTasks[taskId].func = sub_81B6794;
+}
+
+static void sub_81B6794(u8 taskId)
+{
+ if (sub_81B1BD4() != TRUE)
+ {
+ if (gUnknown_0203CEE8 == 0)
+ gUnknown_0203CEC4->exitCallback = NULL;
+ sub_81B12C0(taskId);
+ }
+}
+
+void sub_81B67C8(u8 taskId, TaskFunc task)
+{
+ struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9];
+ u16 item = gSpecialVar_ItemId;
+ u8 effectType = GetItemEffectType(item);
+ u16 friendship = GetMonData(mon, MON_DATA_FRIENDSHIP);
+ u16 relevantEV = sub_81B691C(mon, effectType);
+ bool8 cannotUseEffect = ExecuteTableBasedItemEffect__(gUnknown_0203CEC8.unk9, item, 0);
+ u16 newFriendship = GetMonData(mon, MON_DATA_FRIENDSHIP);
+ u16 newRelevantEV = sub_81B691C(mon, effectType);
+
+ if (cannotUseEffect || (friendship == newFriendship && relevantEV == newRelevantEV))
+ {
+ gUnknown_0203CEE8 = 0;
+ PlaySE(SE_SELECT);
+ sub_81B1B5C(gText_WontHaveEffect, 1);
+ schedule_bg_copy_tilemap_to_vram(2);
+ gTasks[taskId].func = task;
+ }
+ else
+ {
+ gUnknown_0203CEE8 = 1;
+ PlaySE(SE_KAIFUKU);
+ RemoveBagItem(item, 1);
+ GetMonNickname(mon, gStringVar1);
+ option_menu_get_string(effectType, gStringVar2);
+ if (friendship != newFriendship)
+ {
+ if (relevantEV != newRelevantEV)
+ StringExpandPlaceholders(gStringVar4, gText_PkmnFriendlyBaseVar2Fell);
+ else
+ StringExpandPlaceholders(gStringVar4, gText_PkmnFriendlyBaseVar2CantFall);
+ }
+ else
+ {
+ StringExpandPlaceholders(gStringVar4, gText_PkmnAdoresBaseVar2Fell);
+ }
+ sub_81B1B5C(gStringVar4, 1);
+ schedule_bg_copy_tilemap_to_vram(2);
+ gTasks[taskId].func = task;
+ }
+}
+
+static u16 sub_81B691C(struct Pokemon *mon, u8 effectType)
+{
+ switch (effectType)
+ {
+ case 13:
+ if (GetMonData(mon, MON_DATA_SPECIES) != SPECIES_SHEDINJA)
+ return GetMonData(mon, MON_DATA_HP_EV);
+ break;
+ case 12:
+ return GetMonData(mon, MON_DATA_ATK_EV);
+ case 17:
+ return GetMonData(mon, MON_DATA_DEF_EV);
+ case 16:
+ return GetMonData(mon, MON_DATA_SPEED_EV);
+ case 14:
+ return GetMonData(mon, MON_DATA_SPATK_EV);
+ case 15:
+ return GetMonData(mon, MON_DATA_SPDEF_EV);
+ }
+ return 0;
+}
+
+static void option_menu_get_string(u8 effectType, u8 *dest)
+{
+ switch (effectType)
+ {
+ case 13:
+ StringCopy(dest, gText_HP3);
+ break;
+ case 12:
+ StringCopy(dest, gText_Attack3);
+ break;
+ case 17:
+ StringCopy(dest, gText_Defense3);
+ break;
+ case 16:
+ StringCopy(dest, gText_Speed2);
+ break;
+ case 14:
+ StringCopy(dest, gText_SpAtk3);
+ break;
+ case 15:
+ StringCopy(dest, gText_SpDef3);
+ break;
+ }
+}
+
+static void sub_81B6A10(u8 slot)
+{
+ u8 i;
+ u8 moveCount = 0;
+ u8 fontId = 1;
+ u8 windowId = sub_81B31B0(3);
+ 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);
+ if (move != MOVE_NONE)
+ moveCount++;
+ }
+ InitMenuInUpperLeftCornerPlaySoundWhenAPressed(windowId, moveCount, 0);
+ schedule_bg_copy_tilemap_to_vram(2);
+}
+
+static void ether_effect_related_3(u8 taskId)
+{
+ s8 input = Menu_ProcessInput();
+
+ if (input != MENU_NOTHING_CHOSEN)
+ {
+ if (input == MENU_B_PRESSED)
+ {
+ PlaySE(SE_SELECT);
+ sub_81B6BB4(taskId);
+ }
+ else
+ {
+ sub_81B302C(&gUnknown_0203CEC4->unkC[1]);
+ ether_effect_related_2(taskId);
+ }
+ }
+}
+
+void dp05_ether(u8 taskId, TaskFunc task)
+{
+ const u8 *effect;
+ u16 item = gSpecialVar_ItemId;
+
+ if (item == ITEM_ENIGMA_BERRY)
+ effect = gSaveBlock1Ptr->enigmaBerry.itemEffect;
+ else
+ effect = gItemEffectTable[item - ITEM_POTION];
+ if ((effect[4] & 0x10) == 0)
+ {
+ gUnknown_0203CEC8.unkE = 0;
+ ether_effect_related(taskId);
+ }
+ else
+ {
+ PlaySE(SE_SELECT);
+ display_pokemon_menu_message(22);
+ sub_81B6A10(gUnknown_0203CEC8.unk9);
+ gTasks[taskId].func = ether_effect_related_3;
+ }
+}
+
+static void ether_effect_related_2(u8 taskId)
+{
+ sub_81B302C(&gUnknown_0203CEC4->unkC[0]);
+ gUnknown_0203CEC8.unkE = Menu_GetCursorPos();
+ ether_effect_related(taskId);
+}
+
+static void sub_81B6BB4(u8 taskId)
+{
+ gTasks[taskId].func = sub_81B1370;
+ gUnknown_0203CEC4->exitCallback = NULL;
+ sub_81B302C(&gUnknown_0203CEC4->unkC[0]);
+ display_pokemon_menu_message(5);
+}
+
+static void ether_effect_related(u8 taskId)
+{
+ u16 move = MOVE_NONE;
+ s16 *moveslot = &gUnknown_0203CEC8.unkE;
+ u16 item = gSpecialVar_ItemId;
+ struct Struct203CEC8 *ptr = &gUnknown_0203CEC8;
+ struct Pokemon *mon;
+
+ if (ExecuteTableBasedItemEffect__(ptr->unk9, item, *moveslot))
+ {
+ gUnknown_0203CEE8 = 0;
+ PlaySE(SE_SELECT);
+ sub_81B1B5C(gText_WontHaveEffect, 1);
+ schedule_bg_copy_tilemap_to_vram(2);
+ gTasks[taskId].func = sub_81B6794;
+ }
+ else
+ {
+ gUnknown_0203CEE8 = 1;
+ mon = &gPlayerParty[ptr->unk9];
+ PlaySE(SE_KAIFUKU);
+ RemoveBagItem(item, 1);
+ move = GetMonData(mon, MON_DATA_MOVE1 + *moveslot);
+ StringCopy(gStringVar1, gMoveNames[move]);
+ GetMedicineItemEffectMessage(item);
+ sub_81B1B5C(gStringVar4, 1);
+ schedule_bg_copy_tilemap_to_vram(2);
+ gTasks[taskId].func = sub_81B6794;
+ }
+}
+
+void dp05_pp_up(u8 taskId, TaskFunc task)
+{
+ PlaySE(SE_SELECT);
+ display_pokemon_menu_message(23);
+ sub_81B6A10(gUnknown_0203CEC8.unk9);
+ gTasks[taskId].func = ether_effect_related_3;
+}
+
+u16 ItemIdToBattleMoveId(u16 item)
+{
+ u16 tmNumber = item - ITEM_TM01_FOCUS_PUNCH;
+ return gTMHMMoves[tmNumber];
+}
+
+bool8 IsMoveHm(u16 move)
+{
+ u8 i;
+
+ for (i = 0; i < NUM_HIDDEN_MACHINES; i++)
+ {
+ if (gTMHMMoves[i + NUM_TECHNICAL_MACHINES] == move)
+ return TRUE;
+ }
+ return FALSE;
+}
+
+bool8 MonKnowsMove(struct Pokemon *mon, u16 move)
+{
+ u8 i;
+
+ for (i = 0; i < MAX_MON_MOVES; i++)
+ {
+ if (GetMonData(mon, MON_DATA_MOVE1 + i) == move)
+ return TRUE;
+ }
+ return FALSE;
+}
+
+static void sub_81B6D74(const u8 *str)
+{
+ StringExpandPlaceholders(gStringVar4, str);
+ sub_81B1B5C(gStringVar4, 1);
+ schedule_bg_copy_tilemap_to_vram(2);
+}
+
+static void sub_81B6D98(u8 taskId, const u8 *str)
+{
+ sub_81B6D74(str);
+ gTasks[taskId].func = sub_81B6794;
+}
+
+// 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)
+{
+ struct Pokemon *mon;
+ s16 *move;
+ u16 item;
+
+ PlaySE(SE_SELECT);
+ mon = &gPlayerParty[gUnknown_0203CEC8.unk9];
+ move = &gUnknown_0203CEC8.unkE;
+ item = gSpecialVar_ItemId;
+ GetMonNickname(mon, gStringVar1);
+ move[0] = ItemIdToBattleMoveId(item);
+ StringCopy(gStringVar2, gMoveNames[move[0]]);
+ move[1] = 0;
+
+ switch (CanMonLearnTMTutor(mon, item, 0))
+ {
+ case CANNOT_LEARN_MOVE:
+ sub_81B6D98(taskId, gText_PkmnCantLearnMove);
+ return;
+ case ALREADY_KNOWS_MOVE:
+ sub_81B6D98(taskId, gText_PkmnAlreadyKnows);
+ return;
+ }
+
+ if (GiveMoveToMon(mon, move[0]) != 0xFFFF)
+ {
+ gTasks[taskId].func = sub_81B6EB4;
+ }
+ else
+ {
+ sub_81B6D74(gText_PkmnNeedsToReplaceMove);
+ gTasks[taskId].func = sub_81B6FF4;
+ }
+}
+
+static void sub_81B6EB4(u8 taskId)
+{
+ struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9];
+ s16 *move = &gUnknown_0203CEC8.unkE;
+ u16 item = gSpecialVar_ItemId;
+
+ if (move[1] == 0)
+ {
+ AdjustFriendship(mon, 4);
+ if (item < ITEM_HM01_CUT)
+ RemoveBagItem(item, 1);
+ }
+ GetMonNickname(mon, gStringVar1);
+ StringCopy(gStringVar2, gMoveNames[move[0]]);
+ StringExpandPlaceholders(gStringVar4, gText_PkmnLearnedMove3);
+ sub_81B1B5C(gStringVar4, 1);
+ schedule_bg_copy_tilemap_to_vram(2);
+ gTasks[taskId].func = sub_81B6F60;
+}
+
+static void sub_81B6F60(u8 taskId)
+{
+ if (sub_81B1BD4() != TRUE)
+ {
+ PlayFanfare(MUS_FANFA1);
+ gTasks[taskId].func = sub_81B6F98;
+ }
+}
+
+static void sub_81B6F98(u8 taskId)
+{
+ if (IsFanfareTaskInactive() && ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON)))
+ {
+ if (gUnknown_0203CEC8.unk10 == 1)
+ sub_81B77AC(taskId);
+ else
+ {
+ if (gUnknown_0203CEC8.unk10 == 2)
+ gSpecialVar_Result = TRUE;
+ sub_81B12C0(taskId);
+ }
+ }
+}
+
+static void sub_81B6FF4(u8 taskId)
+{
+ if (sub_81B1BD4() != TRUE)
+ {
+ sub_81B334C();
+ gTasks[taskId].func = sub_81B7028;
+ }
+}
+
+static void sub_81B7028(u8 taskId)
+{
+ switch (Menu_ProcessInputNoWrapClearOnChoose())
+ {
+ case 0:
+ sub_81B1B5C(gText_WhichMoveToForget, 1);
+ gTasks[taskId].func = sub_81B7088;
+ break;
+ case MENU_B_PRESSED:
+ PlaySE(SE_SELECT);
+ case 1:
+ sub_81B7230(taskId);
+ break;
+ }
+}
+
+static void sub_81B7088(u8 taskId)
+{
+ if (sub_81B1BD4() != TRUE)
+ {
+ gUnknown_0203CEC4->exitCallback = sub_81B70B8;
+ sub_81B12C0(taskId);
+ }
+}
+
+static void sub_81B70B8(void)
+{
+ ShowSelectMovePokemonSummaryScreen(gPlayerParty, gUnknown_0203CEC8.unk9, gPlayerPartyCount - 1, sub_81B70F0, gUnknown_0203CEC8.unkE);
+}
+
+static void sub_81B70F0(void)
+{
+ InitPartyMenu(0, 0, 0, 1, 0x7F, sub_81B711C, gUnknown_0203CEC8.exitCallback);
+}
+
+static void sub_81B711C(u8 taskId)
+{
+ if (!gPaletteFade.active)
+ {
+ if (sub_81C1B94() != 4)
+ sub_81B7154(taskId);
+ else
+ sub_81B7230(taskId);
+ }
+}
+
+static void sub_81B7154(u8 taskId)
+{
+ struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9];
+ u16 move = GetMonData(mon, MON_DATA_MOVE1 + sub_81C1B94());
+
+ GetMonNickname(mon, gStringVar1);
+ StringCopy(gStringVar2, gMoveNames[move]);
+ sub_81B6D74(gText_12PoofForgotMove);
+ gTasks[taskId].func = sub_81B71D4;
+}
+
+static void sub_81B71D4(u8 taskId)
+{
+ struct Pokemon *mon;
+ u16 move;
+
+ if (sub_81B1BD4() != TRUE)
+ {
+ mon = &gPlayerParty[gUnknown_0203CEC8.unk9];
+ RemoveMonPPBonus(mon, sub_81C1B94());
+ move = gUnknown_0203CEC8.unkE;
+ SetMonMoveSlot(mon, move, sub_81C1B94());
+ sub_81B6EB4(taskId);
+ }
+}
+
+static void sub_81B7230(u8 taskId)
+{
+ StringCopy(gStringVar2, gMoveNames[gUnknown_0203CEC8.unkE]);
+ StringExpandPlaceholders(gStringVar4, gText_StopLearningMove2);
+ sub_81B1B5C(gStringVar4, 1);
+ schedule_bg_copy_tilemap_to_vram(2);
+ gTasks[taskId].func = sub_81B7294;
+}
+
+static void sub_81B7294(u8 taskId)
+{
+ if (sub_81B1BD4() != TRUE)
+ {
+ sub_81B334C();
+ gTasks[taskId].func = sub_81B72C8;
+ }
+}
+
+static void sub_81B72C8(u8 taskId)
+{
+ struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9];
+
+ switch (Menu_ProcessInputNoWrapClearOnChoose())
+ {
+ case 0:
+ GetMonNickname(mon, gStringVar1);
+ StringCopy(gStringVar2, gMoveNames[gUnknown_0203CEC8.unkE]);
+ StringExpandPlaceholders(gStringVar4, gText_MoveNotLearned);
+ sub_81B1B5C(gStringVar4, 1);
+ if (gUnknown_0203CEC8.unk10 == 1)
+ {
+ gTasks[taskId].func = sub_81B73E4;
+ }
+ else
+ {
+ if (gUnknown_0203CEC8.unk10 == 2)
+ gSpecialVar_Result = FALSE;
+ gTasks[taskId].func = sub_81B6794;
+ }
+ break;
+ case MENU_B_PRESSED:
+ PlaySE(SE_SELECT);
+ case 1:
+ GetMonNickname(mon, gStringVar1);
+ StringCopy(gStringVar2, gMoveNames[gUnknown_0203CEC8.unkE]);
+ sub_81B6D74(gText_PkmnNeedsToReplaceMove);
+ gTasks[taskId].func = sub_81B6FF4;
+ break;
+ }
+}
+
+static void sub_81B73E4(u8 taskId)
+{
+ if (sub_81B1BD4() != TRUE)
+ sub_81B77AC(taskId);
+}
+
+void dp05_rare_candy(u8 taskId, TaskFunc task)
+{
+ struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9];
+ struct Struct203CEC4 *ptr = gUnknown_0203CEC4;
+ 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.unk9, *itemPtr, 0);
+ sub_81B79A0(mon, &ptr->data[6]);
+ }
+ else
+ {
+ cannotUseEffect = TRUE;
+ }
+ PlaySE(SE_SELECT);
+ if (cannotUseEffect)
+ {
+ gUnknown_0203CEE8 = 0;
+ sub_81B1B5C(gText_WontHaveEffect, 1);
+ schedule_bg_copy_tilemap_to_vram(2);
+ gTasks[taskId].func = task;
+ }
+ else
+ {
+ gUnknown_0203CEE8 = 1;
+ PlayFanfareByFanfareNum(0);
+ sub_81B754C(gUnknown_0203CEC8.unk9, mon);
+ RemoveBagItem(gSpecialVar_ItemId, 1);
+ GetMonNickname(mon, gStringVar1);
+ ConvertIntToDecimalStringN(gStringVar2, GetMonData(mon, MON_DATA_LEVEL), 0, 3);
+ StringExpandPlaceholders(gStringVar4, gText_PkmnElevatedToLvVar2);
+ sub_81B1B5C(gStringVar4, 1);
+ schedule_bg_copy_tilemap_to_vram(2);
+ gTasks[taskId].func = sub_81B75D4;
+ }
+}
+
+static void sub_81B754C(u8 slot, struct Pokemon *mon)
+{
+ party_menu_get_status_condition_and_update_object(mon, &gUnknown_0203CEDC[slot]);
+ if (gSprites[gUnknown_0203CEDC[slot].unkC].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].unk9, mon);
+ sub_81B0FCC(slot, 1);
+ schedule_bg_copy_tilemap_to_vram(0);
+}
+
+static void sub_81B75D4(u8 taskId)
+{
+ if (WaitFanfare(FALSE) && sub_81B1BD4() != TRUE && ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON)))
+ {
+ PlaySE(SE_SELECT);
+ sub_81B767C(taskId);
+ gTasks[taskId].func = sub_81B7634;
+ }
+}
+
+static void sub_81B7634(u8 taskId)
+{
+ if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON))
+ {
+ PlaySE(SE_SELECT);
+ sub_81B76C8(taskId);
+ gTasks[taskId].func = sub_81B7704;
+ }
+}
+
+static void sub_81B767C(u8 taskId)
+{
+ s16 *arrayPtr = gUnknown_0203CEC4->data;
+
+ arrayPtr[12] = sub_81B3364();
+ sub_81D3640(arrayPtr[12], arrayPtr, &arrayPtr[6], 1, 2, 3);
+ CopyWindowToVram(arrayPtr[12], 2);
+ schedule_bg_copy_tilemap_to_vram(2);
+}
+
+static void sub_81B76C8(u8 taskId)
+{
+ s16 *arrayPtr = gUnknown_0203CEC4->data;
+
+ sub_81D3784(arrayPtr[12], &arrayPtr[6], 1, 2, 3);
+ CopyWindowToVram(arrayPtr[12], 2);
+ schedule_bg_copy_tilemap_to_vram(2);
+}
+
+static void sub_81B7704(u8 taskId)
+{
+ u16 result;
+
+ if (WaitFanfare(0) && ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON)))
+ {
+ sub_81B3394();
+ result = MonTryLearningNewMove(&gPlayerParty[gUnknown_0203CEC8.unk9], 1);
+ gUnknown_0203CEC8.unk10 = 1;
+ switch (result)
+ {
+ case 0:
+ sub_81B7810(taskId);
+ break;
+ case 0xFFFF:
+ sub_81B787C(taskId);
+ break;
+ case 0xFFFE:
+ gTasks[taskId].func = sub_81B77AC;
+ break;
+ default:
+ sub_81B7910(taskId, result);
+ break;
+ }
+ }
+}
+
+static void sub_81B77AC(u8 taskId)
+{
+ u16 result = MonTryLearningNewMove(&gPlayerParty[gUnknown_0203CEC8.unk9], 0);
+
+ switch (result)
+ {
+ case 0:
+ sub_81B7810(taskId);
+ break;
+ case 0xFFFF:
+ sub_81B787C(taskId);
+ break;
+ case 0xFFFE:
+ return;
+ default:
+ sub_81B7910(taskId, result);
+ break;
+ }
+}
+
+static void sub_81B7810(u8 taskId)
+{
+ struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9];
+ u16 targetSpecies = GetEvolutionTargetSpecies(mon, 0, 0);
+
+ if (targetSpecies != SPECIES_NONE)
+ {
+ FreePartyPointers();
+ gCB2_AfterEvolution = gUnknown_0203CEC8.exitCallback;
+ BeginEvolutionScene(mon, targetSpecies, 1, gUnknown_0203CEC8.unk9);
+ DestroyTask(taskId);
+ }
+ else
+ {
+ gTasks[taskId].func = sub_81B6794;
+ }
+}
+
+static void sub_81B787C(u8 taskId)
+{
+ GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.unk9], gStringVar1);
+ StringCopy(gStringVar2, gMoveNames[gMoveToLearn]);
+ StringExpandPlaceholders(gStringVar4, gText_PkmnNeedsToReplaceMove);
+ sub_81B1B5C(gStringVar4, 1);
+ schedule_bg_copy_tilemap_to_vram(2);
+ gUnknown_0203CEC8.unkE = gMoveToLearn;
+ gTasks[taskId].func = sub_81B6FF4;
+}
+
+static void sub_81B7910(u8 taskId, u16 move)
+{
+ GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.unk9], gStringVar1);
+ StringCopy(gStringVar2, gMoveNames[move]);
+ StringExpandPlaceholders(gStringVar4, gText_PkmnLearnedMove3);
+ sub_81B1B5C(gStringVar4, 1);
+ schedule_bg_copy_tilemap_to_vram(2);
+ gUnknown_0203CEC8.unkE = move;
+ gTasks[taskId].func = sub_81B6F60;
+}
+
+static void sub_81B79A0(struct Pokemon *mon, s16 *data)
+{
+ data[0] = GetMonData(mon, MON_DATA_MAX_HP);
+ data[1] = GetMonData(mon, MON_DATA_ATK);
+ data[2] = GetMonData(mon, MON_DATA_DEF);
+ data[4] = GetMonData(mon, MON_DATA_SPATK);
+ data[5] = GetMonData(mon, MON_DATA_SPDEF);
+ data[3] = GetMonData(mon, MON_DATA_SPEED);
+}
+
+void sub_81B79E8(u8 taskId, TaskFunc task)
+{
+ gUnknown_0203CEC4->data[0] = 0;
+ gUnknown_0203CEC4->data[1] = 0;
+ gUnknown_0203CEC4->data[2] = gUnknown_0203CEC8.unk9;
+ sub_81B7A28(taskId);
+}
+
+static void sub_81B7A28(u8 taskId)
+{
+ struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9];
+ u16 hp;
+
+ if (GetMonData(mon, MON_DATA_SPECIES) == SPECIES_NONE)
+ {
+ gTasks[taskId].func = task_sacred_ash_party_loop;
+ return;
+ }
+
+ hp = GetMonData(mon, MON_DATA_HP);
+ if (ExecuteTableBasedItemEffect__(gUnknown_0203CEC8.unk9, gSpecialVar_ItemId, 0))
+ {
+ gTasks[taskId].func = task_sacred_ash_party_loop;
+ return;
+ }
+
+ PlaySE(SE_KAIFUKU);
+ party_menu_get_status_condition_and_update_object(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9]);
+ if (gSprites[gUnknown_0203CEDC[gUnknown_0203CEC8.unk9].unkC].invisible)
+ DisplayPartyPokemonLevelCheck(mon, &gUnknown_0203CEDC[gUnknown_0203CEC8.unk9], 1);
+ sub_81B0FCC(gUnknown_0203CEC4->data[2], 0);
+ sub_81B0FCC(gUnknown_0203CEC8.unk9, 1);
+ sub_81B1F18(taskId, gUnknown_0203CEC8.unk9, 1, GetMonData(mon, MON_DATA_HP) - hp, sub_81B7C10);
+ sub_81B1FA8(taskId, 0, hp);
+ gUnknown_0203CEC4->data[0] = 1;
+ gUnknown_0203CEC4->data[1] = 1;
+}
+
+static void task_sacred_ash_party_loop(u8 taskId)
+{
+ if (sub_81B1BD4() != TRUE)
+ {
+ if (gUnknown_0203CEC4->data[0] == 1)
+ {
+ gUnknown_0203CEC4->data[0] = 0;
+ gUnknown_0203CEC4->data[2] = gUnknown_0203CEC8.unk9;
+ }
+ if (++(gUnknown_0203CEC8.unk9) == PARTY_SIZE)
+ {
+ if (gUnknown_0203CEC4->data[1] == 0)
+ {
+ gUnknown_0203CEE8 = 0;
+ sub_81B1B5C(gText_WontHaveEffect, 1);
+ schedule_bg_copy_tilemap_to_vram(2);
+ }
+ else
+ {
+ gUnknown_0203CEE8 = 1;
+ RemoveBagItem(gSpecialVar_ItemId, 1);
+ }
+ gTasks[taskId].func = sub_81B6794;
+ gUnknown_0203CEC8.unk9 = 0;
+ }
+ else
+ {
+ sub_81B7A28(taskId);
+ }
+ }
+}
+
+static void sub_81B7C10(u8 taskId)
+{
+ GetMonNickname(&gPlayerParty[gUnknown_0203CEC8.unk9], gStringVar1);
+ StringExpandPlaceholders(gStringVar4, gText_PkmnHPRestoredByVar2);
+ sub_81B1B5C(gStringVar4, 0);
+ schedule_bg_copy_tilemap_to_vram(2);
+ gTasks[taskId].func = task_sacred_ash_party_loop;
+}
+
+void sub_81B7C74(u8 taskId, TaskFunc task)
+{
+ PlaySE(SE_SELECT);
+ gCB2_AfterEvolution = gUnknown_0203CEC8.exitCallback;
+ if (ExecuteTableBasedItemEffect__(gUnknown_0203CEC8.unk9, gSpecialVar_ItemId, 0))
+ {
+ gUnknown_0203CEE8 = 0;
+ sub_81B1B5C(gText_WontHaveEffect, 1);
+ schedule_bg_copy_tilemap_to_vram(2);
+ gTasks[taskId].func = task;
+ }
+ else
+ {
+ RemoveBagItem(gSpecialVar_ItemId, 1);
+ FreePartyPointers();
+ }
+}
+
+u8 GetItemEffectType(u16 item)
+{
+ const u8 *itemEffect;
+#ifndef NONMATCHING
+ register u8 itemEffect0 asm("r1");
+ register u8 itemEffect3 asm("r3");
+ register u32 itemEffect0_r0 asm("r0"); // u32 to prevent shifting when transferring itemEffect0 to this
+ u8 mask;
+#else
+#define itemEffect0 itemEffect[0]
+#define itemEffect3 itemEffect[3]
+#define mask 0x3F
+#endif
+
+ if (!IS_POKEMON_ITEM(item))
+ {
+ return 22;
+ }
+ else
+ {
+ // Read the item's effect properties.
+ if (item == ITEM_ENIGMA_BERRY)
+ {
+ itemEffect = gSaveBlock1Ptr->enigmaBerry.itemEffect;
+ }
+ else
+ {
+ itemEffect = gItemEffectTable[item - ITEM_POTION];
+ }
+
+#ifndef NONMATCHING
+ itemEffect0 = itemEffect[0];
+ mask = 0x3F;
+#endif
+
+ if ((itemEffect0 & mask) || itemEffect[1] || itemEffect[2])
+ {
+ return 0;
+ }
+#ifndef NONMATCHING
+ itemEffect3 = itemEffect[3];
+#endif
+ if (itemEffect3 & 0x80)
+ {
+ return 0;
+ }
+ else if (itemEffect0 & 0x40)
+ {
+ return 10;
+ }
+ else if (itemEffect3 & 0x40)
+ {
+ return 1;
+ }
+ else if ((itemEffect3 & mask) || (itemEffect0 >> 7))
+ {
+ if ((itemEffect3 & mask) == 0x20)
+ {
+ return 4;
+ }
+ else if ((itemEffect3 & mask) == 0x10)
+ {
+ return 3;
+ }
+ else if ((itemEffect3 & mask) == 0x8)
+ {
+ return 5;
+ }
+ else if ((itemEffect3 & mask) == 0x4)
+ {
+ return 6;
+ }
+ else if ((itemEffect3 & mask) == 0x2)
+ {
+ return 7;
+ }
+ else if ((itemEffect3 & mask) == 0x1)
+ {
+ return 8;
+ }
+ // alternate fakematching
+ // itemEffect0_r0 = itemEffect0 >> 7;
+ // asm(""); // increase live length for greg
+ // if ((itemEffect0_r0 != 0) && (itemEffect3 & mask) == 0)
+#ifndef NONMATCHING
+ else if (((itemEffect0_r0 = itemEffect0 >> 7) != 0) && (itemEffect3 & mask) == 0)
+#else
+ else if (((itemEffect[0] >> 7) != 0) && (itemEffect[3] & 0x3F) == 0)
+#endif
+ {
+ return 9;
+ }
+ else
+ {
+ return 11;
+ }
+ }
+ else if (itemEffect[4] & 0x44)
+ {
+ return 2;
+ }
+ else if (itemEffect[4] & 0x2)
+ {
+ return 12;
+ }
+ else if (itemEffect[4] & 0x1)
+ {
+ return 13;
+ }
+ else if (itemEffect[5] & 0x8)
+ {
+ return 14;
+ }
+ else if (itemEffect[5] & 0x4)
+ {
+ return 15;
+ }
+ else if (itemEffect[5] & 0x2)
+ {
+ return 16;
+ }
+ else if (itemEffect[5] & 0x1)
+ {
+ return 17;
+ }
+ else if (itemEffect[4] & 0x80)
+ {
+ return 18;
+ }
+ else if (itemEffect[4] & 0x20)
+ {
+ return 19;
+ }
+ else if (itemEffect[5] & 0x10)
+ {
+ return 20;
+ }
+ else if (itemEffect[4] & 0x18)
+ {
+ return 21;
+ }
+ return 22;
+ }
+#ifdef NONMATCHING
+#undef itemEffect0
+#undef itemEffect3
+#undef mask
+#endif
+}
+
+static void sub_81B7E4C(u8 taskId)
+{
+ struct Pokemon *mon;
+ s16 *move;
+
+ if (!gPaletteFade.active)
+ {
+ mon = &gPlayerParty[gUnknown_0203CEC8.unk9];
+ move = &gUnknown_0203CEC8.unkE;
+ GetMonNickname(mon, gStringVar1);
+ gUnknown_0203CEC8.unkE = GetTutorMove(gSpecialVar_0x8005);
+ StringCopy(gStringVar2, gMoveNames[gUnknown_0203CEC8.unkE]);
+ move[1] = 2;
+ switch (CanMonLearnTMTutor(mon, 0, gSpecialVar_0x8005))
+ {
+ case CANNOT_LEARN_MOVE:
+ sub_81B6D98(taskId, gText_PkmnCantLearnMove);
+ return;
+ case ALREADY_KNOWS_MOVE:
+ sub_81B6D98(taskId, gText_PkmnAlreadyKnows);
+ return;
+ default:
+ if (GiveMoveToMon(mon, gUnknown_0203CEC8.unkE) != 0xFFFF)
+ {
+ sub_81B6EB4(taskId);
+ return;
+ }
+ break;
+ }
+ sub_81B6D74(gText_PkmnNeedsToReplaceMove);
+ gTasks[taskId].func = sub_81B6FF4;
+ }
+}
+
+void CB2_PartyMenuFromStartMenu(void)
+{
+ InitPartyMenu(0, 0, 0, 0, 0, sub_81B1370, CB2_ReturnToFieldWithOpenMenu);
+}
+
+void sub_81B7F60(void)
+{
+ MainCallback callback = (InBattlePyramid() == FALSE) ? c2_815ABFC : sub_81C4F84;
+ InitPartyMenu(0, 0, 5, 0, 6, sub_81B1370, callback);
+ gUnknown_0203CEC8.unkC = gSpecialVar_ItemId;
+}
+
+static void sub_81B7FAC(u8 taskId)
+{
+ gUnknown_0203CEFC = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_HELD_ITEM);
+ if (gUnknown_0203CEFC == ITEM_NONE)
+ {
+ sub_81B8044(taskId);
+ }
+ else if (ItemIsMail(gUnknown_0203CEFC))
+ {
+ sub_81B83B8(taskId);
+ }
+ else
+ {
+ sub_81B1D1C(&gPlayerParty[gUnknown_0203CEC8.unk9], gUnknown_0203CEFC, 1);
+ gTasks[taskId].func = sub_81B82A0;
+ }
+}
+
+static void sub_81B8044(u8 taskId)
+{
+ if (ItemIsMail(gUnknown_0203CEC8.unkC))
+ {
+ sub_81B83F0(gUnknown_0203CEC8.unkC);
+ gUnknown_0203CEC4->exitCallback = sub_81B814C;
+ sub_81B12C0(taskId);
+ }
+ else
+ {
+ sub_81B8088(taskId);
+ }
+}
+
+static void sub_81B8088(u8 taskId)
+{
+ u16 item;
+
+ if (!gPaletteFade.active)
+ {
+ item = gUnknown_0203CEC8.unkC;
+ sub_81B1C84(&gPlayerParty[gUnknown_0203CEC8.unk9], item, 0, 1);
+ sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.unk9], item);
+ sub_81B83F0(item);
+ gTasks[taskId].func = sub_81B8104;
+ }
+}
+
+static void sub_81B8104(u8 taskId)
+{
+ s8 slot = gUnknown_0203CEC8.unk9;
+
+ if (sub_81B1BD4() != TRUE)
+ {
+ sub_81B5C94(&gPlayerParty[slot], &gUnknown_0203CEDC[slot]);
+ sub_81B12C0(taskId);
+ }
+}
+
+static void sub_81B814C(void)
+{
+ u8 mail;
+
+ sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.unk9], gUnknown_0203CEC8.unkC);
+ mail = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_MAIL);
+ sub_811A20C(4, gSaveBlock1Ptr->mail[mail].words, sub_81B81A8, 3);
+}
+
+static void sub_81B81A8(void)
+{
+ struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9];
+ u16 item = GetMonData(mon, MON_DATA_HELD_ITEM);
+
+ 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);
+ }
+ else
+ {
+ InitPartyMenu(gUnknown_0203CEC8.unk8_0, 0xFF, gUnknown_0203CEC8.unkB, 1, 0x7F, sub_81B8230, gUnknown_0203CEC8.exitCallback);
+ }
+}
+
+static void sub_81B8230(u8 taskId)
+{
+ if (!gPaletteFade.active)
+ {
+ if (gUnknown_0203CEFC != ITEM_NONE)
+ sub_81B1D68(gUnknown_0203CEC8.unkC, gUnknown_0203CEFC, 0);
+ else
+ sub_81B1C84(&gPlayerParty[gUnknown_0203CEC8.unk9], gUnknown_0203CEC8.unkC, 0, 1);
+ gTasks[taskId].func = sub_81B8104;
+ }
+}
+
+static void sub_81B82A0(u8 taskId)
+{
+ if (sub_81B1BD4() != TRUE)
+ {
+ sub_81B334C();
+ gTasks[taskId].func = sub_81B82D4;
+ }
+}
+
+static void sub_81B82D4(u8 taskId)
+{
+ u16 item;
+
+ switch (Menu_ProcessInputNoWrapClearOnChoose())
+ {
+ case 0:
+ item = gUnknown_0203CEC8.unkC;
+ sub_81B83F0(item);
+ if (AddBagItem(gUnknown_0203CEFC, 1) == FALSE)
+ {
+ sub_81B841C(item);
+ pokemon_item_not_removed(gUnknown_0203CEFC);
+ sub_81B1B5C(gStringVar4, 0);
+ gTasks[taskId].func = sub_81B8104;
+ }
+ else if (ItemIsMail(item))
+ {
+ gUnknown_0203CEC4->exitCallback = sub_81B814C;
+ sub_81B12C0(taskId);
+ }
+ else
+ {
+ sub_81B1DB8(&gPlayerParty[gUnknown_0203CEC8.unk9], item);
+ sub_81B1D68(item, gUnknown_0203CEFC, 1);
+ gTasks[taskId].func = sub_81B8104;
+ }
+ break;
+ case MENU_B_PRESSED:
+ PlaySE(SE_SELECT);
+ case 1:
+ gTasks[taskId].func = sub_81B8104;
+ break;
+ }
+}
+
+static void sub_81B83B8(u8 taskId)
+{
+ sub_81B1B5C(gText_RemoveMailBeforeItem, 1);
+ schedule_bg_copy_tilemap_to_vram(2);
+ gTasks[taskId].func = sub_81B8104;
+}
+
+static void sub_81B83F0(u16 item)
+{
+ if (gUnknown_0203CEC8.unkB == 6)
+ RemovePCItem(item, 1);
+ else
+ RemoveBagItem(item, 1);
+}
+
+static bool8 sub_81B841C(u16 item)
+{
+ if (gUnknown_0203CEC8.unkB == 5)
+ return AddBagItem(item, 1);
+ else
+ return AddPCItem(item, 1);
+}
+
+void sub_81B8448(void)
+{
+ InitPartyMenu(0, 0, 7, 0, 6, sub_81B1370, Mailbox_ReturnToMailListAfterDeposit);
+}
+
+static void sub_81B8474(u8 taskId)
+{
+ struct Pokemon *mon = &gPlayerParty[gUnknown_0203CEC8.unk9];
+ struct MailStruct *mail;
+
+ gUnknown_0203CEE8 = 0;
+ mail = &gSaveBlock1Ptr->mail[playerPCItemPageInfo.itemsAbove + 6 + playerPCItemPageInfo.cursorPos];
+ if (GetMonData(mon, MON_DATA_HELD_ITEM) != ITEM_NONE)
+ {
+ sub_81B1B5C(gText_PkmnHoldingItemCantHoldMail, 1);
+ }
+ else
+ {
+ GiveMailToMon2(mon, mail);
+ ClearMailStruct(mail);
+ sub_81B1B5C(gText_MailTransferredFromMailbox, 1);
+ }
+ schedule_bg_copy_tilemap_to_vram(2);
+ gTasks[taskId].func = sub_81B8104;
+}
+
+void sub_81B8518(u8 unused)
+{
+ sub_81B8558();
+ InitPartyMenu(4, 0, 0, 0, 0, sub_81B1370, gMain.savedCallback);
+ gUnknown_0203CEC8.unk4 = sub_81B879C;
+}
+
+void sub_81B8558(void)
+{
+ memset(gSelectedOrderFromParty, 0, sizeof(gSelectedOrderFromParty));
+}
+
+static u8 sub_81B856C(s8 slot)
+{
+ if (GetBattleEntryEligibility(&gPlayerParty[slot]) == FALSE)
+ return 2;
+ if (sub_81B8770(slot + 1) == TRUE)
+ return 1;
+ return 0;
+}
+
+static bool8 GetBattleEntryEligibility(struct Pokemon *mon)
+{
+ u16 i = 0;
+ u16 species;
+
+ if (GetMonData(mon, MON_DATA_IS_EGG)
+ || GetMonData(mon, MON_DATA_LEVEL) > sub_81B8888()
+ || (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))
+ {
+ return FALSE;
+ }
+
+ switch (VarGet(VAR_FRONTIER_FACILITY)) // oddly the specific cases are beyond 6, turns out case 9 is apparently related to link battles
+ {
+ case 9:
+ if (GetMonData(mon, MON_DATA_HP) != 0)
+ return TRUE;
+ return FALSE;
+ case 8:
+ return TRUE;
+ default:
+ species = GetMonData(mon, MON_DATA_SPECIES);
+ for (; gFrontierBannedSpecies[i] != 0xFFFF; i++)
+ {
+ if (gFrontierBannedSpecies[i] == species)
+ return FALSE;
+ }
+ return TRUE;
+ }
+}
+
+static u8 sub_81B865C(void)
+{
+ u8 unk2;
+ u8 i, j;
+ u8 facility;
+ struct Pokemon *party = gPlayerParty;
+ u8 unk = sub_81B885C();
+ u8 *order = gSelectedOrderFromParty;
+
+ if (order[unk - 1] == 0)
+ {
+ if (unk == 1)
+ return 14;
+ ConvertIntToDecimalStringN(gStringVar1, unk, 0, 1);
+ return 17;
+ }
+
+ facility = VarGet(VAR_FRONTIER_FACILITY);
+ if (facility == 8 || facility == 9)
+ return 0xFF;
+
+ unk2 = sub_81B8830();
+ for (i = 0; i < unk2 - 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++)
+ {
+ if (species == GetMonData(&party[order[j] - 1], MON_DATA_SPECIES))
+ return 18;
+ if (item != ITEM_NONE && item == GetMonData(&party[order[j] - 1], MON_DATA_HELD_ITEM))
+ return 19;
+ }
+ }
+
+ return 0xFF;
+}
+
+static bool8 sub_81B8770(u8 slot)
+{
+ u8 i;
+
+ for (i = 0; i < 4; i++)
+ {
+ if (gSelectedOrderFromParty[i] == slot)
+ return TRUE;
+ }
+ return FALSE;
+}
+
+static void sub_81B879C(u8 taskId)
+{
+ u8 msgId = sub_81B865C();
+
+ if (msgId != 0xFF)
+ {
+ PlaySE(SE_HAZURE);
+ display_pokemon_menu_message(msgId);
+ gTasks[taskId].func = sub_81B87E8;
+ }
+ else
+ {
+ PlaySE(SE_SELECT);
+ sub_81B12C0(taskId);
+ }
+}
+
+static void sub_81B87E8(u8 taskId)
+{
+ if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON))
+ {
+ PlaySE(SE_SELECT);
+ display_pokemon_menu_message(0);
+ gTasks[taskId].func = sub_81B1370;
+ }
+}
+
+static u8 sub_81B8830(void)
+{
+ switch (VarGet(VAR_FRONTIER_FACILITY))
+ {
+ case 9:
+ return 3;
+ case 8:
+ return 2;
+ default:
+ return gSpecialVar_0x8005;
+ }
+}
+
+static u8 sub_81B885C(void)
+{
+ switch (VarGet(VAR_FRONTIER_FACILITY))
+ {
+ case 9:
+ return 1;
+ case 8:
+ return 2;
+ default:
+ return gSpecialVar_0x8005;
+ }
+}
+
+static u8 sub_81B8888(void)
+{
+ switch (VarGet(VAR_FRONTIER_FACILITY))
+ {
+ case 9:
+ return 100;
+ case 8:
+ return 30;
+ default:
+ if (gSpecialVar_0x8004 == 0)
+ return 50;
+ return 100;
+ }
+}
+
+static const u8* sub_81B88BC(void)
+{
+ u8 facilityNum = VarGet(VAR_FRONTIER_FACILITY);
+
+ if (!(facilityNum != 8 && facilityNum != 9))
+ return gText_CancelBattle;
+ else if (facilityNum == FRONTIER_FACILITY_DOME && gSpecialVar_0x8005 == 2)
+ return gText_ReturnToWaitingRoom;
+ else
+ return gText_CancelChallenge;
+}
+
+void sub_81B8904(u8 initArg, MainCallback callback)
+{
+ InitPartyMenu(initArg, 0, 0, 0, 0, sub_81B1370, callback);
+}
+
+void sub_81B892C(void)
+{
+ InitPartyMenu(0, 0, 12, 0, 4, sub_81B1370, CB2_ReturnToFieldContinueScriptPlayMapMusic);
+}
+
+void sub_81B8958(void)
+{
+ InitPartyMenu(11, 0, 13, 0, 1, sub_81B1370, CB2_ReturnToFieldContinueScriptPlayMapMusic);
+}
+
+static u8 sub_81B8984(void)
+{
+ if (IsDoubleBattle() == FALSE)
+ return 0;
+ if (IsMultiBattle() == TRUE)
+ return 2;
+ return 1;
+}
+
+void OpenPartyMenuInBattle(u8 arg)
+{
+ InitPartyMenu(1, sub_81B8984(), arg, 0, 0, sub_81B1370, SetCB2ToReshowScreenAfterMenu);
+ nullsub_35();
+ pokemon_change_order();
+}
+
+void sub_81B89F0(void)
+{
+ InitPartyMenu(1, sub_81B8984(), 3, 0, 5, sub_81B1370, c2_815ABFC);
+ nullsub_35();
+ pokemon_change_order();
+}
+
+static u8 sub_81B8A2C(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 (!(gBattleTypeFlags & BATTLE_TYPE_ARENA))
+ return 2;
+ }
+ return 7;
+}
+
+static bool8 sub_81B8A7C(void)
+{
+ u8 slot = GetCursorSelectionMonId();
+ u8 newSlot;
+ u8 i;
+
+ if (IsMultiBattle() == TRUE && (slot == 1 || slot == 4 || slot == 5))
+ {
+ StringCopy(gStringVar1, GetTrainerPartnerName());
+ StringExpandPlaceholders(gStringVar4, gText_CantSwitchWithAlly);
+ return FALSE;
+ }
+ if (GetMonData(&gPlayerParty[slot], MON_DATA_HP) == 0)
+ {
+ GetMonNickname(&gPlayerParty[slot], gStringVar1);
+ StringExpandPlaceholders(gStringVar4, gText_PkmnHasNoEnergy);
+ return FALSE;
+ }
+ for (i = 0; i < gBattlersCount; i++)
+ {
+ if (GetBattlerSide(i) == B_SIDE_PLAYER && sub_81B8F38(slot) == gBattlerPartyIndexes[i])
+ {
+ GetMonNickname(&gPlayerParty[slot], gStringVar1);
+ StringExpandPlaceholders(gStringVar4, gText_PkmnAlreadyInBattle);
+ return FALSE;
+ }
+ }
+ if (GetMonData(&gPlayerParty[slot], MON_DATA_IS_EGG))
+ {
+ StringExpandPlaceholders(gStringVar4, gText_EggCantBattle);
+ return FALSE;
+ }
+ if (sub_81B8F38(slot) == gBattleStruct->field_8B)
+ {
+ GetMonNickname(&gPlayerParty[slot], gStringVar1);
+ StringExpandPlaceholders(gStringVar4, gText_PkmnAlreadySelected);
+ return FALSE;
+ }
+ if (gUnknown_0203CEC8.unkB == 4)
+ {
+ SetMonPreventsSwitchingString();
+ return FALSE;
+ }
+ if (gUnknown_0203CEC8.unkB == 2)
+ {
+ u8 currBattler = gBattlerInMenuId;
+ GetMonNickname(&gPlayerParty[pokemon_order_func(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]);
+ return TRUE;
+}
+
+void sub_81B8C68(void)
+{
+ sub_81B8C88(gUnknown_0203CF00, sub_806D7EC());
+}
+
+static void sub_81B8C88(u8 *ptr, bool8 multiplayerFlag)
+{
+ u8 partyIndexes[6];
+ int i, j;
+
+ if (IsMultiBattle() == TRUE)
+ {
+ if (multiplayerFlag)
+ {
+ ptr[0] = 0 | (3 << 4);
+ ptr[1] = 5 | (4 << 4);
+ ptr[2] = 2 | (1 << 4);
+ }
+ else
+ {
+ ptr[0] = 3 | (0 << 4);
+ ptr[1] = 2 | (1 << 4);
+ ptr[2] = 5 | (4 << 4);
+ }
+ return;
+ }
+ else if (IsDoubleBattle() == FALSE)
+ {
+ j = 1;
+ partyIndexes[0] = gBattlerPartyIndexes[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)];
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ if (i != partyIndexes[0])
+ {
+ partyIndexes[j] = i;
+ j++;
+ }
+ }
+ }
+ else
+ {
+ j = 2;
+ partyIndexes[0] = gBattlerPartyIndexes[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)];
+ partyIndexes[1] = gBattlerPartyIndexes[GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT)];
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ if (i != partyIndexes[0] && i != partyIndexes[1])
+ {
+ partyIndexes[j] = i;
+ j++;
+ }
+ }
+ }
+ for (i = 0; i < 3; i++)
+ ptr[i] = (partyIndexes[0 + (i * 2)] << 4) | partyIndexes[1 + (i * 2)];
+}
+
+void sub_81B8D64(u8 battlerId, u8 multiplayerFlag)
+{
+ sub_81B8D88(gBattleStruct->field_60[battlerId], multiplayerFlag, battlerId);
+}
+
+static void sub_81B8D88(u8 *ptr, bool8 multiplayerFlag, u8 battlerId)
+{
+ u8 partyIndexes[6];
+ int i, j;
+ u8 leftBattler;
+ u8 rightBattler;
+
+ if (GetBattlerSide(battlerId) == B_SIDE_PLAYER)
+ {
+ leftBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT);
+ rightBattler = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT);
+ }
+ else
+ {
+ leftBattler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
+ rightBattler = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT);
+ }
+
+ if (IsMultiBattle() == TRUE)
+ {
+ if (multiplayerFlag)
+ {
+ ptr[0] = 0 | (3 << 4);
+ ptr[1] = 5 | (4 << 4);
+ ptr[2] = 2 | (1 << 4);
+ }
+ else
+ {
+ ptr[0] = 3 | (0 << 4);
+ ptr[1] = 2 | (1 << 4);
+ ptr[2] = 5 | (4 << 4);
+ }
+ return;
+ }
+ else if (IsDoubleBattle() == FALSE)
+ {
+ j = 1;
+ partyIndexes[0] = gBattlerPartyIndexes[leftBattler];
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ if (i != partyIndexes[0])
+ {
+ partyIndexes[j] = i;
+ j++;
+ }
+ }
+ }
+ else
+ {
+ j = 2;
+ partyIndexes[0] = gBattlerPartyIndexes[leftBattler];
+ partyIndexes[1] = gBattlerPartyIndexes[rightBattler];
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ if (i != partyIndexes[0] && i != partyIndexes[1])
+ {
+ partyIndexes[j] = i;
+ j++;
+ }
+ }
+ }
+
+ for (i = 0; i < 3; i++)
+ ptr[i] = (partyIndexes[0 + (i * 2)] << 4) | partyIndexes[1 + (i * 2)];
+}
+
+void sub_81B8E80(u8 battlerId, u8 unk, u8 arrayIndex)
+{
+ u8 possiblePartyIndexes[6];
+ u8 unk2 = 0;
+ int i, j;
+ u8 *battleStructRelated;
+ u8 possiblePartyIndexBuffer;
+
+ if (IsMultiBattle())
+ {
+ battleStructRelated = gBattleStruct->field_60[battlerId];
+ for (i = j = 0; i < 3; j++, i++)
+ {
+ possiblePartyIndexes[j] = battleStructRelated[i] >> 4;
+ j++;
+ possiblePartyIndexes[j] = battleStructRelated[i] & 0xF;
+ }
+ possiblePartyIndexBuffer = possiblePartyIndexes[arrayIndex];
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ if (possiblePartyIndexes[i] == unk)
+ {
+ unk2 = possiblePartyIndexes[i];
+ possiblePartyIndexes[i] = possiblePartyIndexBuffer;
+ 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];
+ }
+ }
+}
+
+static u8 sub_81B8F38(u8 slot)
+{
+ u8 modResult = slot & 1;
+ u8 retVal;
+
+ slot /= 2;
+ if (modResult != 0)
+ retVal = gUnknown_0203CF00[slot] & 0xF;
+ else
+ retVal = gUnknown_0203CF00[slot] >> 4;
+ return retVal;
+}
+
+static void sub_81B8F6C(u8 slot, u8 setVal)
+{
+ bool32 modResult = slot & 1;
+
+ slot /= 2;
+ if (modResult != 0)
+ gUnknown_0203CF00[slot] = (gUnknown_0203CF00[slot] & 0xF0) | setVal;
+ else
+ gUnknown_0203CF00[slot] = (gUnknown_0203CF00[slot] & 0xF) | (setVal << 4);
+}
+
+void sub_81B8FB0(u8 slot, u8 slot2)
+{
+ u8 valBuffer = sub_81B8F38(slot);
+ sub_81B8F6C(slot, sub_81B8F38(slot2));
+ sub_81B8F6C(slot2, valBuffer);
+}
+
+u8 pokemon_order_func(u8 slot)
+{
+ u8 i, j;
+
+ for (j = i = 0; i < 3; j++, i++)
+ {
+ if ((gUnknown_0203CF00[i] >> 4) != slot)
+ {
+ j++;
+ if ((gUnknown_0203CF00[i] & 0xF) == slot)
+ return j;
+ }
+ else
+ {
+ return j;
+ }
+ }
+ return 0;
+}
+
+static void pokemon_change_order(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));
+ Free(partyBuffer);
+}
+
+static void sub_81B9080(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));
+ Free(partyBuffer);
+}
+
+static void sub_81B90D0(void)
+{
+ u8 i;
+ struct Pokemon *mon;
+ u8 leadVal;
+
+ for (i = 1; i < PARTY_SIZE; i++)
+ {
+ mon = &gPlayerParty[sub_81B8F38(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);
+ break;
+ }
+ }
+}
+
+static void sub_81B9140(void)
+{
+ SetMainCallback2(SetCB2ToReshowScreenAfterMenu);
+}
+
+void sub_81B9150(void)
+{
+ InitPartyMenu(5, 3, 0, 0, 0x7F, sub_81B917C, gMain.savedCallback);
+}
+
+static void sub_81B917C(u8 taskId)
+{
+ gTasks[taskId].data[0] = 256;
+ sub_81B9294(taskId);
+ ChangeBgX(2, 0x10000, 0);
+ gTasks[taskId].func = sub_81B91B4;
+}
+
+static void sub_81B91B4(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+ u8 i;
+
+ if (!gPaletteFade.active)
+ {
+ data[0] -= 8;
+ sub_81B9294(taskId);
+ if (data[0] == 0)
+ {
+ for (i = 3; i < PARTY_SIZE; i++)
+ {
+ if (gUnknown_02022FF8[i - 3].species != SPECIES_NONE)
+ AnimateSelectedPartyIcon(gUnknown_0203CEDC[i].unk9, 0);
+ }
+ PlaySE(SE_W231); // Harden SE?
+ gTasks[taskId].func = sub_81B9240;
+ }
+ }
+}
+
+static void sub_81B9240(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+
+ if (++data[0] == 0x100)
+ sub_81B12C0(taskId);
+}
+
+static void sub_81B9270(u8 spriteId, s16 x)
+{
+ if (x >= 0)
+ gSprites[spriteId].pos2.x = x;
+}
+
+static void sub_81B9294(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+ u8 i;
+
+ for (i = 3; i < PARTY_SIZE; i++)
+ {
+ if (gUnknown_02022FF8[i - 3].species != SPECIES_NONE)
+ {
+ sub_81B9270(gUnknown_0203CEDC[i].unk9, data[0] - 8);
+ sub_81B9270(gUnknown_0203CEDC[i].unkA, data[0] - 8);
+ sub_81B9270(gUnknown_0203CEDC[i].unkB, data[0] - 8);
+ sub_81B9270(gUnknown_0203CEDC[i].unkC, data[0] - 8);
+ }
+ }
+ ChangeBgX(2, 0x800, 1);
+}
+
+void sub_81B9328(void)
+{
+ InitPartyMenu(6, 0, 0, 0, 15, sub_81B1370, sub_81B9390);
+}
+
+static void sub_81B9354(u8 arg1)
+{
+ gFieldCallback2 = hm_add_c3_without_phase_2;
+ InitPartyMenu(arg1, 0, 11, 0, 0, sub_81B1370, CB2_ReturnToField);
+}
+
+static void sub_81B9390(void)
+{
+ gSpecialVar_0x8004 = GetCursorSelectionMonId();
+ if (gSpecialVar_0x8004 >= PARTY_SIZE)
+ gSpecialVar_0x8004 = 0xFF;
+ gFieldCallback2 = hm_add_c3_without_phase_2;
+ SetMainCallback2(CB2_ReturnToField);
+}
+
+bool8 hm_add_c3_without_phase_2(void) // might not be bool
+{
+ pal_fill_black();
+ CreateTask(task_hm_without_phase_2, 10);
+ return TRUE;
+}
+
+static void task_hm_without_phase_2(u8 taskId)
+{
+ if (IsWeatherNotFadingIn())
+ {
+ DestroyTask(taskId);
+ ScriptContext2_Disable();
+ EnableBothScriptContexts();
+ }
+}
+
+void sub_81B9404(void)
+{
+ ScriptContext2_Enable();
+ FadeScreen(FADE_TO_BLACK, 0);
+ CreateTask(sub_81B9424, 10);
+}
+
+static void sub_81B9424(u8 taskId)
+{
+ if (!gPaletteFade.active)
+ {
+ overworld_free_bg_tilemaps();
+ InitPartyMenu(2, 0, 11, 0, 0, sub_81B1370, sub_81B9470);
+ DestroyTask(taskId);
+ }
+}
+
+static void sub_81B9470(void)
+{
+ gUnknown_02039F24 = GetCursorSelectionMonId();
+ if (gUnknown_02039F24 >= PARTY_SIZE)
+ gUnknown_02039F24 = 0xFF;
+ gSpecialVar_0x8004 = gUnknown_02039F24;
+ gFieldCallback2 = hm_add_c3_without_phase_2;
+ SetMainCallback2(CB2_ReturnToField);
+}
+
+void sub_81B94B0(void)
+{
+ ScriptContext2_Enable();
+ FadeScreen(FADE_TO_BLACK, 0);
+ CreateTask(sub_81B94D0, 10);
+}
+
+static void sub_81B94D0(u8 taskId)
+{
+ if (!gPaletteFade.active)
+ {
+ overworld_free_bg_tilemaps();
+ InitPartyMenu(3, 0, 11, 0, 0, sub_81B1370, sub_81B9390);
+ DestroyTask(taskId);
+ }
+}
+
+void sub_81B951C(void)
+{
+ ScriptContext2_Enable();
+ FadeScreen(FADE_TO_BLACK, 0);
+ CreateTask(sub_81B953C, 10);
+}
+
+static void sub_81B953C(u8 taskId)
+{
+ if (!gPaletteFade.active)
+ {
+ overworld_free_bg_tilemaps();
+ InitPartyMenu(7, 0, 11, 0, 0, sub_81B1370, sub_81B9588);
+ DestroyTask(taskId);
+ }
+}
+
+static void sub_81B9588(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;
+ SetMainCallback2(CB2_ReturnToField);
+}
+
+void sub_81B95E0(void)
+{
+ u8 i;
+
+ gSpecialVar_Result = FALSE;
+ for (i = 0; i < 3; i++)
+ {
+ if (GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM) != ITEM_NONE)
+ {
+ gSpecialVar_Result = TRUE;
+ break;
+ }
+ }
+}
+
+void sub_81B9620(void)
+{
+ ScriptContext2_Enable();
+ FadeScreen(FADE_TO_BLACK, 0);
+ CreateTask(sub_81B9640, 10);
+}
+
+static void sub_81B9640(u8 taskId)
+{
+ if (!gPaletteFade.active)
+ {
+ overworld_free_bg_tilemaps();
+ InitPartyMenu(12, 0, 0, 0, 0, sub_81B1370, sub_81B9390);
+ DestroyTask(taskId);
+ }
+}
+
+void sub_81B968C(void)
+{
+ ShowPokemonSummaryScreen(PSS_MODE_SELECT_MOVE, gPlayerParty, gSpecialVar_0x8004, gPlayerPartyCount - 1, CB2_ReturnToField);
+ gFieldCallback = sub_80AF168;
+}
+
+void sub_81B96D0(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)
+ gSpecialVar_Result++;
+ }
+}
+
+void sub_81B9718(void)
+{
+ struct Pokemon *mon = &gPlayerParty[gSpecialVar_0x8004];
+ u16 move = GetMonData(mon, MON_DATA_MOVE1 + gSpecialVar_0x8005);
+
+ GetMonNickname(mon, gStringVar1);
+ StringCopy(gStringVar2, gMoveNames[move]);
+}
+
+void sub_81B9770(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);
+}
+
+static void sub_81B97DC(struct Pokemon *mon, u8 slotTo, u8 slotFrom)
+{
+ u16 move1 = GetMonData(mon, MON_DATA_MOVE1 + slotTo);
+ u16 move0 = GetMonData(mon, MON_DATA_MOVE1 + slotFrom);
+ u8 pp1 = GetMonData(mon, MON_DATA_PP1 + slotTo);
+ u8 pp0 = GetMonData(mon, MON_DATA_PP1 + slotFrom);
+ u8 ppBonuses = GetMonData(mon, MON_DATA_PP_BONUSES);
+ u8 ppBonusMask1 = gUnknown_08329D22[slotTo];
+ u8 ppBonusMove1 = (ppBonuses & ppBonusMask1) >> (slotTo * 2);
+ u8 ppBonusMask2 = gUnknown_08329D22[slotFrom];
+ u8 ppBonusMove2 = (ppBonuses & ppBonusMask2) >> (slotFrom * 2);
+ ppBonuses &= ~ppBonusMask1;
+ ppBonuses &= ~ppBonusMask2;
+ ppBonuses |= (ppBonusMove1 << (slotFrom * 2)) + (ppBonusMove2 << (slotTo * 2));
+ SetMonData(mon, MON_DATA_MOVE1 + slotTo, &move0);
+ SetMonData(mon, MON_DATA_MOVE1 + slotFrom, &move1);
+ SetMonData(mon, MON_DATA_PP1 + slotTo, &pp0);
+ SetMonData(mon, MON_DATA_PP1 + slotFrom, &pp1);
+ SetMonData(mon, MON_DATA_PP_BONUSES, &ppBonuses);
+}
+
+void sub_81B98DC(void)
+{
+ if (GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_IS_EGG))
+ gSpecialVar_Result = TRUE;
+ else
+ gSpecialVar_Result = FALSE;
+}
+
+void sub_81B9918(void)
+{
+ u16 move;
+ u32 i, j;
+
+ gSpecialVar_Result = FALSE;
+ move = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_MOVE1 + gSpecialVar_0x8005);
+ if (move == MOVE_SURF)
+ {
+ for (i = 0; i < CalculatePlayerPartyCount(); i++)
+ {
+ if (i != gSpecialVar_0x8004)
+ {
+ for (j = 0; j < MAX_MON_MOVES; j++)
+ {
+ if (GetMonData(&gPlayerParty[i], MON_DATA_MOVE1 + j) == MOVE_SURF)
+ return;
+ }
+ }
+ }
+ if (AnyStorageMonWithMove(move) != TRUE)
+ gSpecialVar_Result = TRUE;
+ }
+}
diff --git a/src/player_pc.c b/src/player_pc.c
index c41dfa380..b7380cee3 100644
--- a/src/player_pc.c
+++ b/src/player_pc.c
@@ -461,9 +461,9 @@ static void ItemStorageMenuProcessInput(u8 taskId)
s8 r2;
s8 inputOptionId;
- r5 = GetMenuCursorPos();
+ r5 = Menu_GetCursorPos();
inputOptionId = Menu_ProcessInput();
- r2 = GetMenuCursorPos();
+ r2 = Menu_GetCursorPos();
switch(inputOptionId)
{
case -2:
diff --git a/src/poison.c b/src/poison.c
index c52299e3a..a72aab111 100644
--- a/src/poison.c
+++ b/src/poison.c
@@ -194,7 +194,7 @@ void sub_810DBAC(struct Sprite *sprite)
if (!gBattleAnimArgs[3])
StartSpriteAnim(sprite, 2);
- InitAnimSpritePos(sprite, 1);
+ InitSpritePosToAnimAttacker(sprite, 1);
sprite->data[0] = gBattleAnimArgs[2];
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
@@ -218,7 +218,7 @@ void sub_810DC2C(struct Sprite *sprite)
if (!gBattleAnimArgs[3])
StartSpriteAnim(sprite, 2);
- InitAnimSpritePos(sprite, 1);
+ InitSpritePosToAnimAttacker(sprite, 1);
SetAverageBattlerPositions(gBattleAnimTarget, 1, &l1, &l2);
if (GetBattlerSide(gBattleAnimAttacker))
@@ -258,7 +258,7 @@ void sub_810DCD0(struct Sprite *sprite)
static void sub_810DD24(struct Sprite *sprite)
{
- TranslateAnimLinearSimple(sprite);
+ AnimTranslateLinearSimple(sprite);
sprite->data[1] -= sprite->data[5];
sprite->data[2] -= sprite->data[6];
@@ -295,7 +295,7 @@ void AnimBubbleEffect(struct Sprite *sprite)
{
if (!gBattleAnimArgs[2])
{
- sub_80A6980(sprite, TRUE);
+ InitSpritePosToAnimTarget(sprite, TRUE);
}
else
{
diff --git a/src/pokeball.c b/src/pokeball.c
index 82d2f2cea..baa165649 100644
--- a/src/pokeball.c
+++ b/src/pokeball.c
@@ -922,7 +922,7 @@ static void SpriteCB_PlayerMonSendOut_2(struct Sprite *sprite)
StartSpriteAffineAnim(sprite, 4);
}
r4 = sprite->data[0];
- TranslateAnimLinear(sprite);
+ AnimTranslateLinear(sprite);
sprite->data[7] += sprite->sBattler / 3;
sprite->pos2.y += Sin(HIBYTE(sprite->data[7]), sprite->data[5]);
sprite->oam.affineParam += 0x100;
@@ -999,8 +999,8 @@ void CreatePokeballSpriteToReleaseMon(u8 monSpriteId, u8 battlerId, u8 x, u8 y,
{
u8 spriteId;
- LoadCompressedObjectPicUsingHeap(&gBallSpriteSheets[0]);
- LoadCompressedObjectPaletteUsingHeap(&gBallSpritePalettes[0]);
+ LoadCompressedSpriteSheetUsingHeap(&gBallSpriteSheets[0]);
+ LoadCompressedSpritePaletteUsingHeap(&gBallSpritePalettes[0]);
spriteId = CreateSprite(&gBallSpriteTemplates[0], x, y, subpriortiy);
gSprites[spriteId].data[0] = monSpriteId;
@@ -1101,8 +1101,8 @@ u8 sub_807671C(u8 a, u8 b, u8 x, u8 y, u8 oamPriority, u8 subPriority, u8 g, u32
{
u8 spriteId;
- LoadCompressedObjectPicUsingHeap(&gBallSpriteSheets[0]);
- LoadCompressedObjectPaletteUsingHeap(&gBallSpritePalettes[0]);
+ LoadCompressedSpriteSheetUsingHeap(&gBallSpriteSheets[0]);
+ LoadCompressedSpritePaletteUsingHeap(&gBallSpritePalettes[0]);
spriteId = CreateSprite(&gBallSpriteTemplates[0], x, y, subPriority);
gSprites[spriteId].data[0] = a;
gSprites[spriteId].data[1] = g;
@@ -1245,8 +1245,8 @@ void LoadBallGfx(u8 ballId)
if (GetSpriteTileStartByTag(gBallSpriteSheets[ballId].tag) == 0xFFFF)
{
- LoadCompressedObjectPicUsingHeap(&gBallSpriteSheets[ballId]);
- LoadCompressedObjectPaletteUsingHeap(&gBallSpritePalettes[ballId]);
+ LoadCompressedSpriteSheetUsingHeap(&gBallSpriteSheets[ballId]);
+ LoadCompressedSpritePaletteUsingHeap(&gBallSpritePalettes[ballId]);
}
switch (ballId)
{
diff --git a/src/pokeblock.c b/src/pokeblock.c
index 1418588b8..7c07f9655 100644
--- a/src/pokeblock.c
+++ b/src/pokeblock.c
@@ -1,4 +1,5 @@
#include "global.h"
+#include "alloc.h"
#include "battle.h"
#include "battle_controllers.h"
#include "battle_message.h"
@@ -6,14 +7,15 @@
#include "bg.h"
#include "decompress.h"
#include "event_data.h"
+#include "field_screen_effect.h"
#include "gpu_regs.h"
#include "graphics.h"
#include "international_string_util.h"
#include "item.h"
+#include "item_menu.h"
#include "lilycove_lady.h"
#include "list_menu.h"
#include "main.h"
-#include "alloc.h"
#include "menu.h"
#include "menu_helpers.h"
#include "overworld.h"
@@ -70,14 +72,9 @@ enum
PKBL_GIVE_TO_LADY
};
-extern u16 gSpecialVar_ItemId;
extern const u16 gUnknown_0860F074[];
-extern void CB2_ReturnToField(void);
-extern bool8 sub_81221EC(void);
-extern void sub_80AF168(void);
-
// this file's functions
static void CB2_InitPokeblockMenu(void);
static bool8 InitPokeblockMenu(void);
@@ -640,11 +637,11 @@ static bool8 LoadPokeblockMenuGfx(void)
sPokeblockMenu->gfxState++;
break;
case 3:
- LoadCompressedObjectPic(&gPokeblockCase_SpriteSheet);
+ LoadCompressedSpriteSheet(&gPokeblockCase_SpriteSheet);
sPokeblockMenu->gfxState++;
break;
case 4:
- LoadCompressedObjectPalette(&gPokeblockCase_SpritePal);
+ LoadCompressedSpritePalette(&gPokeblockCase_SpritePal);
sPokeblockMenu->gfxState++;
break;
case 5:
diff --git a/src/pokeblock_feed.c b/src/pokeblock_feed.c
index 2271d7adf..b1f182b66 100644
--- a/src/pokeblock_feed.c
+++ b/src/pokeblock_feed.c
@@ -656,25 +656,25 @@ static bool8 LoadMonAndSceneGfx(struct Pokemon *mon)
trainerId = GetMonData(mon, MON_DATA_OT_ID);
palette = GetMonSpritePalStructFromOtIdPersonality(species, trainerId, personality);
- LoadCompressedObjectPalette(palette);
+ LoadCompressedSpritePalette(palette);
SetMultiuseSpriteTemplateToPokemon(palette->tag, 1);
sPokeblockFeed->loadGfxState++;
break;
case 2:
- LoadCompressedObjectPic(&gPokeblockCase_SpriteSheet);
+ LoadCompressedSpriteSheet(&gPokeblockCase_SpriteSheet);
sPokeblockFeed->loadGfxState++;
break;
case 3:
- LoadCompressedObjectPalette(&gPokeblockCase_SpritePal);
+ LoadCompressedSpritePalette(&gPokeblockCase_SpritePal);
sPokeblockFeed->loadGfxState++;
break;
case 4:
- LoadCompressedObjectPic(&sPokeblock_SpriteSheet);
+ LoadCompressedSpriteSheet(&sPokeblock_SpriteSheet);
sPokeblockFeed->loadGfxState++;
break;
case 5:
SetPokeblockSpritePal(gSpecialVar_ItemId);
- LoadCompressedObjectPalette(&sPokeblockSpritePal);
+ LoadCompressedSpritePalette(&sPokeblockSpritePal);
sPokeblockFeed->loadGfxState++;
break;
case 6:
diff --git a/src/pokedex.c b/src/pokedex.c
index ef8905bb6..755a46821 100644
--- a/src/pokedex.c
+++ b/src/pokedex.c
@@ -1803,7 +1803,7 @@ bool8 sub_80BC514(u8 a)
ResetSpriteData();
FreeAllSpritePalettes();
gReservedSpritePaletteCount = 8;
- LoadCompressedObjectPic(&sInterfaceSpriteSheet[0]);
+ LoadCompressedSpriteSheet(&sInterfaceSpriteSheet[0]);
LoadSpritePalettes(sInterfaceSpritePalette);
CreateInterfaceSprites(a);
gMain.state++;
@@ -4815,7 +4815,7 @@ void sub_80C12E0(u8 taskId)
}
break;
case 1:
- LoadCompressedObjectPic(sInterfaceSpriteSheet);
+ LoadCompressedSpriteSheet(sInterfaceSpriteSheet);
LoadSpritePalettes(sInterfaceSpritePalette);
sub_80C2594(taskId);
for (i = 0; i < 16; i++)
diff --git a/src/pokemon.c b/src/pokemon.c
index 640d70776..7c4103855 100644
--- a/src/pokemon.c
+++ b/src/pokemon.c
@@ -1,4 +1,5 @@
#include "global.h"
+#include "alloc.h"
#include "apprentice.h"
#include "battle.h"
#include "battle_controllers.h"
@@ -12,12 +13,14 @@
#include "item.h"
#include "link.h"
#include "main.h"
-#include "alloc.h"
+#include "overworld.h"
#include "m4a.h"
+#include "party_menu.h"
#include "pokedex.h"
#include "pokeblock.h"
#include "pokemon.h"
#include "pokemon_animation.h"
+#include "pokemon_summary_screen.h"
#include "pokemon_storage_system.h"
#include "pokenav.h"
#include "random.h"
@@ -45,8 +48,6 @@ struct SpeciesItem
u16 item;
};
-extern const struct OamData gUnknown_0831ACB0;
-extern const struct OamData gUnknown_0831ACA8;
extern const struct SpriteFrameImage gUnknown_082FF3A8[];
extern const struct SpriteFrameImage gUnknown_082FF3C8[];
extern const struct SpriteFrameImage gUnknown_082FF3E8[];
@@ -70,15 +71,10 @@ extern const struct CompressedSpritePalette gMonPaletteTable[];
extern const struct CompressedSpritePalette gMonShinyPaletteTable[];
extern const u8 gTrainerClassNames[][13];
-extern u8 pokemon_order_func(u8);
extern u16 get_unknown_box_id(void);
-extern u8 StorageGetCurrentBox(void);
extern void set_unknown_box_id(u8);
-extern void sub_803FA70(u8 battlerId);
-extern u8 sav1_map_get_name(void);
extern bool8 sub_806F104(void);
extern u8 sub_81D63C8(u16 trainerOpponentId);
-extern void SummaryScreen_SetUnknownTaskId(u8);
// this file's functions
static u16 CalculateBoxMonChecksum(struct BoxPokemon *boxMon);
@@ -2298,7 +2294,7 @@ const struct SpriteTemplate gUnknown_08329D98[MAX_BATTLERS_COUNT] =
{ // B_POSITION_PLAYER_LEFT
.tileTag = 0xFFFF,
.paletteTag = 0,
- .oam = &gUnknown_0831ACB0,
+ .oam = &gOamData_831ACB0,
.anims = NULL,
.images = gUnknown_082FF3A8,
.affineAnims = gUnknown_082FF618,
@@ -2307,16 +2303,16 @@ const struct SpriteTemplate gUnknown_08329D98[MAX_BATTLERS_COUNT] =
{ // B_POSITION_OPPONENT_LEFT
.tileTag = 0xFFFF,
.paletteTag = 0,
- .oam = &gUnknown_0831ACA8,
+ .oam = &gOamData_831ACA8,
.anims = NULL,
.images = gUnknown_082FF3C8,
.affineAnims = gUnknown_082FF694,
- .callback = oac_poke_opponent,
+ .callback = SpriteCb_WildMon,
},
{ // B_POSITION_PLAYER_RIGHT
.tileTag = 0xFFFF,
.paletteTag = 0,
- .oam = &gUnknown_0831ACB0,
+ .oam = &gOamData_831ACB0,
.anims = NULL,
.images = gUnknown_082FF3E8,
.affineAnims = gUnknown_082FF618,
@@ -2325,11 +2321,11 @@ const struct SpriteTemplate gUnknown_08329D98[MAX_BATTLERS_COUNT] =
{ // B_POSITION_OPPONENT_RIGHT
.tileTag = 0xFFFF,
.paletteTag = 0,
- .oam = &gUnknown_0831ACA8,
+ .oam = &gOamData_831ACA8,
.anims = NULL,
.images = gUnknown_082FF408,
.affineAnims = gUnknown_082FF694,
- .callback = oac_poke_opponent
+ .callback = SpriteCb_WildMon
},
};
@@ -2338,7 +2334,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] =
{
.tileTag = 0xFFFF,
.paletteTag = 0,
- .oam = &gUnknown_0831ACB0,
+ .oam = &gOamData_831ACB0,
.anims = NULL,
.images = gUnknown_082FF428,
.affineAnims = gUnknown_082FF618,
@@ -2347,7 +2343,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] =
{
.tileTag = 0xFFFF,
.paletteTag = 0,
- .oam = &gUnknown_0831ACB0,
+ .oam = &gOamData_831ACB0,
.anims = NULL,
.images = gUnknown_082FF448,
.affineAnims = gUnknown_082FF618,
@@ -2356,7 +2352,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] =
{
.tileTag = 0xFFFF,
.paletteTag = 0,
- .oam = &gUnknown_0831ACB0,
+ .oam = &gOamData_831ACB0,
.anims = NULL,
.images = gUnknown_082FF468,
.affineAnims = gUnknown_082FF618,
@@ -2365,7 +2361,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] =
{
.tileTag = 0xFFFF,
.paletteTag = 0,
- .oam = &gUnknown_0831ACB0,
+ .oam = &gOamData_831ACB0,
.anims = NULL,
.images = gUnknown_082FF490,
.affineAnims = gUnknown_082FF618,
@@ -2374,7 +2370,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] =
{
.tileTag = 0xFFFF,
.paletteTag = 0,
- .oam = &gUnknown_0831ACB0,
+ .oam = &gOamData_831ACB0,
.anims = NULL,
.images = gUnknown_082FF4B8,
.affineAnims = gUnknown_082FF618,
@@ -2383,7 +2379,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] =
{
.tileTag = 0xFFFF,
.paletteTag = 0,
- .oam = &gUnknown_0831ACB0,
+ .oam = &gOamData_831ACB0,
.anims = NULL,
.images = gUnknown_082FF4D8,
.affineAnims = gUnknown_082FF618,
@@ -2392,7 +2388,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] =
{
.tileTag = 0xFFFF,
.paletteTag = 0,
- .oam = &gUnknown_0831ACB0,
+ .oam = &gOamData_831ACB0,
.anims = NULL,
.images = gUnknown_082FF4F8,
.affineAnims = gUnknown_082FF618,
@@ -2401,7 +2397,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] =
{
.tileTag = 0xFFFF,
.paletteTag = 0,
- .oam = &gUnknown_0831ACB0,
+ .oam = &gOamData_831ACB0,
.anims = NULL,
.images = gUnknown_082FF518,
.affineAnims = gUnknown_082FF618,
@@ -4091,13 +4087,13 @@ u32 GetBoxMonData(struct BoxPokemon *boxMon, s32 field, u8 *data)
case MON_DATA_LANGUAGE:
retVal = boxMon->language;
break;
- case MON_DATA_SANITY_BIT1:
+ case MON_DATA_SANITY_IS_BAD_EGG:
retVal = boxMon->isBadEgg;
break;
- case MON_DATA_SANITY_BIT2:
+ case MON_DATA_SANITY_HAS_SPECIES:
retVal = boxMon->hasSpecies;
break;
- case MON_DATA_SANITY_BIT3:
+ case MON_DATA_SANITY_IS_EGG:
retVal = boxMon->isEgg;
break;
case MON_DATA_OT_NAME:
@@ -4298,7 +4294,7 @@ u32 GetBoxMonData(struct BoxPokemon *boxMon, s32 field, u8 *data)
u16 *moves = (u16 *)data;
s32 i = 0;
- while (moves[i] != 355)
+ while (moves[i] != MOVES_COUNT)
{
u16 move = moves[i];
if (substruct1->moves[0] == move
@@ -4460,13 +4456,13 @@ void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const void *dataArg)
case MON_DATA_LANGUAGE:
SET8(boxMon->language);
break;
- case MON_DATA_SANITY_BIT1:
+ case MON_DATA_SANITY_IS_BAD_EGG:
SET8(boxMon->isBadEgg);
break;
- case MON_DATA_SANITY_BIT2:
+ case MON_DATA_SANITY_HAS_SPECIES:
SET8(boxMon->hasSpecies);
break;
- case MON_DATA_SANITY_BIT3:
+ case MON_DATA_SANITY_IS_EGG:
SET8(boxMon->isEgg);
break;
case MON_DATA_OT_NAME:
@@ -4722,7 +4718,7 @@ u8 SendMonToPC(struct Pokemon* mon)
do
{
- for (boxPos = 0; boxPos < 30; boxPos++)
+ for (boxPos = 0; boxPos < IN_BOX_COUNT; boxPos++)
{
struct BoxPokemon* checkingMon = GetBoxedMonPtr(boxNo, boxPos);
if (GetBoxMonData(checkingMon, MON_DATA_SPECIES, NULL) == SPECIES_NONE)
@@ -4739,7 +4735,7 @@ u8 SendMonToPC(struct Pokemon* mon)
}
boxNo++;
- if (boxNo == 14)
+ if (boxNo == TOTAL_BOXES_COUNT)
boxNo = 0;
} while (boxNo != StorageGetCurrentBox());
@@ -4889,9 +4885,9 @@ bool8 IsPokemonStorageFull(void)
{
s32 i, j;
- for (i = 0; i < 14; i++)
- for (j = 0; j < 30; j++)
- if (GetBoxMonDataFromAnyBox(i, j, MON_DATA_SPECIES) == SPECIES_NONE)
+ for (i = 0; i < TOTAL_BOXES_COUNT; i++)
+ for (j = 0; j < IN_BOX_COUNT; j++)
+ if (GetBoxMonDataAt(i, j, MON_DATA_SPECIES) == SPECIES_NONE)
return FALSE;
return TRUE;
@@ -6847,7 +6843,7 @@ void SetWildMonHeldItem(void)
u16 species = GetMonData(&gEnemyParty[0], MON_DATA_SPECIES, 0);
u16 var1 = 45;
u16 var2 = 95;
- if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3, 0)
+ if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG, 0)
&& GetMonAbility(&gPlayerParty[0]) == ABILITY_COMPOUND_EYES)
{
var1 = 20;
diff --git a/src/pokemon_animation.c b/src/pokemon_animation.c
index 8c468d9f4..52fa6db51 100644
--- a/src/pokemon_animation.c
+++ b/src/pokemon_animation.c
@@ -1,4 +1,5 @@
#include "global.h"
+#include "battle.h"
#include "pokemon.h"
#include "pokemon_animation.h"
#include "sprite.h"
@@ -18,8 +19,6 @@ struct UnkAnimStruct
s16 field_8;
};
-extern u16 gBattlerPartyIndexes[];
-
// this file's functions
static void pokemonanimfunc_00(struct Sprite *sprite);
static void pokemonanimfunc_01(struct Sprite *sprite);
diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c
index c24c8a898..36a7da0ee 100644
--- a/src/pokemon_icon.c
+++ b/src/pokemon_icon.c
@@ -1076,7 +1076,7 @@ u8 sub_80D2D78(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8
return spriteId;
}
-u16 mon_icon_convert_unown_species_id(u16 species, u32 personality)
+u16 GetIconSpecies(u16 species, u32 personality)
{
u16 result;
@@ -1104,7 +1104,8 @@ u16 GetUnownLetterByPersonality(u32 personality)
{
if (!personality)
return 0;
- return (((personality & 0x3000000) >> 18) | ((personality & 0x30000) >> 12) | ((personality & 0x300) >> 6) | (personality & 0x3)) % 0x1C;
+ else
+ return (((personality & 0x3000000) >> 18) | ((personality & 0x30000) >> 12) | ((personality & 0x300) >> 6) | (personality & 0x3)) % 0x1C;
}
u16 sub_80D2E84(u16 species)
@@ -1121,19 +1122,17 @@ u16 sub_80D2E84(u16 species)
}
else
{
- if(species > (SPECIES_UNOWN_B - 1))
- species = 260;
- return mon_icon_convert_unown_species_id(species, 0);
+ if (species > (SPECIES_UNOWN_B - 1))
+ species = SPECIES_OLD_UNOWN_J; // That's an oddly specific species.
+ return GetIconSpecies(species, 0);
}
}
const u8 *GetMonIconPtr(u16 species, u32 personality, bool32 extra)
{
- return GetMonIconTiles(mon_icon_convert_unown_species_id(species, personality), extra);
+ return GetMonIconTiles(GetIconSpecies(species, personality), extra);
}
-
-
void sub_80D2EF8(struct Sprite *sprite)
{
sub_80D328C(sprite);
@@ -1220,7 +1219,7 @@ void sub_80D304C(u16 offset)
}
}
-u8 sub_80D3080(u16 species)
+u8 GetValidMonIconPalIndex(u16 species)
{
if (species > SPECIES_EGG)
species = 260;
diff --git a/src/pokemon_size_record.c b/src/pokemon_size_record.c
index 2d9a2f08f..b0e14d2b1 100644
--- a/src/pokemon_size_record.c
+++ b/src/pokemon_size_record.c
@@ -210,7 +210,7 @@ void GiveGiftRibbonToParty(u8 index, u8 ribbonId)
{
struct Pokemon *mon = &gPlayerParty[i];
- if (GetMonData(mon, MON_DATA_SPECIES) != 0 && GetMonData(mon, MON_DATA_SANITY_BIT3) == 0)
+ if (GetMonData(mon, MON_DATA_SPECIES) != 0 && GetMonData(mon, MON_DATA_SANITY_IS_EGG) == 0)
{
SetMonData(mon, array[index], &data);
gotRibbon = TRUE;
diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c
index ad56b1678..7b1d8da7c 100644
--- a/src/pokemon_storage_system.c
+++ b/src/pokemon_storage_system.c
@@ -1,55 +1,725 @@
#include "global.h"
+#include "alloc.h"
#include "bg.h"
+#include "data2.h"
+#include "decompress.h"
+#include "dma3.h"
+#include "dynamic_placeholder_text_util.h"
#include "event_data.h"
#include "field_screen_effect.h"
#include "field_weather.h"
+#include "fldeff_misc.h"
#include "gpu_regs.h"
+#include "graphics.h"
#include "international_string_util.h"
+#include "item.h"
+#include "item_icon.h"
+#include "item_menu.h"
+#include "mail.h"
#include "main.h"
#include "menu.h"
+#include "mon_markings.h"
+#include "naming_screen.h"
#include "overworld.h"
#include "palette.h"
+#include "pc_screen_effect.h"
#include "pokemon.h"
+#include "pokemon_icon.h"
+#include "pokemon_summary_screen.h"
#include "pokemon_storage_system.h"
#include "script.h"
#include "sound.h"
#include "string_util.h"
#include "strings.h"
#include "text.h"
+#include "text_window.h"
+#include "trig.h"
#include "walda_phrase.h"
#include "window.h"
+#include "constants/maps.h"
+#include "constants/moves.h"
+#include "constants/rgb.h"
#include "constants/songs.h"
#include "constants/species.h"
-IWRAM_DATA u8 gUnknown_03000F78[0x188];
+struct WallpaperTable
+{
+ const u32 *tiles;
+ const u32 *tileMap;
+ const u16 *palettes;
+};
+
+struct PokemonStorageSystemFunc
+{
+ u8 (*func)(void);
+ s8 unk4;
+};
+
+struct StorageAction
+{
+ const u8 *text;
+ u8 format;
+};
+
+struct StorageMenu
+{
+ const u8 *text;
+ int textId;
+};
+
+struct PSS_MenuStringPtrs
+{
+ const u8 *text;
+ const u8 *desc;
+};
+
+struct UnkStruct_2000028
+{
+ const u8 *unk_00;
+ u8 *unk_04;
+ u16 unk_08;
+ u16 unk_0a;
+ u16 newField;
+ void (*unk_0c)(struct UnkStruct_2000028 *data);
+};
+
+struct UnkStruct_2000020
+{
+ struct UnkStruct_2000028 *unk_00;
+ u8 unk_04;
+ u8 unk_05;
+};
+
+struct UnkPSSStruct_2002370
+{
+ struct Sprite *unk_0000;
+ struct Sprite *unk_0004[4];
+ u32 unk_0014[3];
+ struct Sprite *unk_0020[2];
+ u8 filler_0028[0x214];
+ u32 unk_023c;
+ u16 unk_0240;
+ u16 unk_0242;
+ u8 curBox;
+ u8 unk_0245;
+ u8 unk_0246;
+};
-extern const u8 gText_PartyFull[];
-extern const u8 gText_Box[];
-extern const u8 gText_JustOnePkmn[];
+struct UnkStorageStruct
+{
+ struct Sprite *sprite;
+ u8 *tiles;
+ u16 palIndex;
+ u8 unk8;
+ u8 unk9;
+ u8 unk10;
+};
+
+struct PokemonStorageSystemData
+{
+ u8 state;
+ u8 boxOption;
+ u8 screenChangeType;
+ bool8 isReshowingPSS;
+ u8 taskId;
+ struct UnkStruct_2000020 unk_0020;
+ struct UnkStruct_2000028 unk_0028[8];
+ u16 field_B0[528 / 2];
+ u16 field_2C0;
+ u16 field_2C2;
+ u8 field_2C4;
+ u8 field_2C5;
+ u8 showPartyMenuState;
+ u8 unk_02C7;
+ u8 unk_02C8;
+ bool8 unk_02C9;
+ s16 newCurrBoxId;
+ u16 bg2_X;
+ s16 field_2CE;
+ u16 field_2D0;
+ u8 field_2D2;
+ u8 field_2D3;
+ u8 field_2D4;
+ u16 field_2D6;
+ s16 field_2D8;
+ u16 field_2DA;
+ u16 field_2DC;
+ u16 field_2DE;
+ u16 field_2E0;
+ u8 filler[22];
+ u8 field_2F8[1024];
+ u8 field_6F8;
+ u8 field_6F9;
+ u8 field_6FA;
+ s8 field_6FB;
+ u16 field_6FC[16];
+ u16 field_71C;
+ u16 field_71E;
+ struct Sprite *field_720[2];
+ struct Sprite *field_728[2];
+ struct Sprite *field_730[2];
+ u32 field_738;
+ u8 field_73C[80];
+ u16 field_78C;
+ s16 wallpaperSetId;
+ s16 wallpaperId;
+ u16 field_792[360];
+ u8 wallpaperChangeState;
+ u8 field_A63;
+ u8 field_A64;
+ s8 field_A65;
+ u8 *wallpaperTiles;
+ struct Sprite *movingMonSprite;
+ struct Sprite *partySprites[PARTY_SIZE];
+ struct Sprite *boxMonsSprites[IN_BOX_COUNT];
+ struct Sprite **field_B00;
+ struct Sprite **field_B04;
+ u16 field_B08[40];
+ u16 field_B58[40];
+ u16 boxSpecies[IN_BOX_COUNT];
+ u32 boxPersonalities[IN_BOX_COUNT];
+ u8 field_C5C;
+ u8 field_C5D;
+ u8 field_C5E;
+ u16 field_C60;
+ s16 field_C62;
+ s16 field_C64;
+ u16 field_C66;
+ u8 field_C68;
+ s8 field_C69;
+ u8 field_C6A;
+ u8 field_C6B;
+ struct WindowTemplate menuWindow;
+ struct StorageMenu menuItems[7];
+ u8 menuItemsCount;
+ u8 menuWidth;
+ u8 field_CAE;
+ u16 field_CB0;
+ struct Sprite *field_CB4;
+ struct Sprite *field_CB8;
+ s32 field_CBC;
+ s32 field_CC0;
+ u32 field_CC4;
+ u32 field_CC8;
+ s16 field_CCC;
+ s16 field_CCE;
+ u16 field_CD0;
+ s8 field_CD2;
+ s8 field_CD3;
+ u8 field_CD4;
+ u8 field_CD5;
+ u8 field_CD6;
+ u8 field_CD7;
+ u8 field_CD8[2];
+ const u32 *cursorMonPalette;
+ u32 cursorMonPersonality;
+ u16 cursorMonSpecies;
+ u16 cursorMonItem;
+ u16 field_CE8;
+ bool8 setMosaic;
+ u8 cursorMonMarkings;
+ u8 cursorMonLevel;
+ bool8 cursorMonIsEgg;
+ u8 cursorMonNick[POKEMON_NAME_LENGTH + 1];
+ u8 cursorMonNickText[36];
+ u8 cursorMonSpeciesName[36];
+ u8 cursorMonGenderLvlText[36];
+ u8 cursorMonItemName[36];
+ bool8 (*monPlaceChangeFunc)(void);
+ u8 monPlaceChangeState;
+ u8 field_D91;
+ struct Sprite *field_D94;
+ struct Sprite *field_D98[2];
+ u16 *field_DA0;
+ struct PokemonMarkMenu field_DA4;
+ struct UnkPSSStruct_2002370 field_1E5C;
+ struct Pokemon movingMon;
+ struct Pokemon field_2108;
+ s8 field_216C;
+ u8 field_216D;
+ s8 field_216E;
+ s8 field_216F;
+ s8 field_2170;
+ s8 field_2171;
+ u16 field_2172;
+ u16 field_2174;
+ u16 field_2176[8];
+ u8 field_2186;
+ u8 field_2187;
+ u8 field_2188;
+ union
+ {
+ struct Pokemon *mon;
+ struct BoxPokemon *box;
+ } field_218C;
+ u8 field_2190[40];
+ u8 field_21B8[40];
+ u8 field_21E0[POKEMON_NAME_LENGTH + 1];
+ u8 itemName[20];
+ u8 inBoxMovingMode;
+ u16 field_2200;
+ struct UnkStorageStruct field_2204[3];
+ u16 movingItem;
+ u16 field_2236;
+ u8 field_2238;
+ u16 field_223A;
+ u16 *field_223C;
+ struct Sprite *cursorMonSprite;
+ u16 field_2244[0x40];
+ u8 field_22C4[0x800];
+ u8 field_2AC4[0x1800];
+ u8 field_42C4[0x800];
+ u8 field_4AC4[0x1000];
+ u8 field_5AC4[0x800];
+};
-extern u8 gUnknown_02039D00;
+struct UnkSubStruct_2039D84
+{
+ s16 field_0;
+ s16 field_2;
+ u16 field_4;
+ u16 field_6;
+ s16 field_8;
+ s16 field_A;
+};
+
+struct UnkStruct_2039D84
+{
+ struct UnkSubStruct_2039D84 field_0[2];
+ const void *field_18;
+ const void *field_1C;
+ u16 field_20;
+ u16 field_22;
+ u16 field_24;
+ u16 field_26;
+ u16 field_28;
+ u8 field_2A;
+ u8 field_2B;
+ u8 field_2C;
+ u8 field_2D;
+};
+
+enum
+{
+ BOX_OPTION_WITHDRAW,
+ BOX_OPTION_DEPOSIT,
+ BOX_OPTION_MOVE_MONS,
+ BOX_OPTION_MOVE_ITEMS,
+ BOX_OPTION_EXIT,
+};
+
+enum
+{
+ PC_TEXT_EXIT_BOX,
+ PC_TEXT_WHAT_YOU_DO,
+ PC_TEXT_PICK_A_THEME,
+ PC_TEXT_PICK_A_WALLPAPER,
+ PC_TEXT_IS_SELECTED,
+ PC_TEXT_JUMP_TO_WHICH_BOX,
+ PC_TEXT_DEPOSIT_IN_WHICH_BOX,
+ PC_TEXT_WAS_DEPOSITED,
+ PC_TEXT_BOX_IS_FULL,
+ PC_TEXT_RELEASE_POKE,
+ PC_TEXT_WAS_RELEASED,
+ PC_TEXT_BYE_BYE,
+ PC_TEXT_MARK_POKE,
+ PC_TEXT_LAST_POKE,
+ PC_TEXT_PARTY_FULL,
+ PC_TEXT_HOLDING_POKE,
+ PC_TEXT_WHICH_ONE_WILL_TAKE,
+ PC_TEXT_CANT_RELEASE_EGG,
+ PC_TEXT_CONTINUE_BOX,
+ PC_TEXT_CAME_BACK,
+ PC_TEXT_WORRIED,
+ PC_TEXT_SURPRISE,
+ PC_TEXT_PLEASE_REMOVE_MAIL,
+ PC_TEXT_IS_SELECTED2,
+ PC_TEXT_GIVE_TO_MON,
+ PC_TEXT_PLACED_IN_BAG,
+ PC_TEXT_BAG_FULL,
+ PC_TEXT_PUT_IN_BAG,
+ PC_TEXT_ITEM_IS_HELD,
+ PC_TEXT_CHANGED_TO_ITEM,
+ PC_TEXT_CANT_STORE_MAIL,
+};
+
+enum
+{
+ PC_TEXT_FMT_NORMAL,
+ PC_TEXT_FMT_MON_NAME_1,
+ PC_TEXT_FMT_MON_NAME_2,
+ PC_TEXT_FMT_MON_NAME_3,
+ PC_TEXT_FMT_MON_NAME_4,
+ PC_TEXT_FMT_MON_NAME_5,
+ PC_TEXT_FMT_MON_NAME_6,
+ PC_TEXT_FMT_ITEM_NAME,
+};
+
+enum
+{
+ SCREEN_CHANGE_EXIT_BOX,
+ SCREEN_CHANGE_SUMMARY_SCREEN,
+ SCREEN_CHANGE_NAME_BOX,
+ SCREEN_CHANGE_ITEM_FROM_BAG,
+};
+
+enum
+{
+ MODE_PARTY,
+ MODE_BOX,
+ MODE_2,
+};
+
+enum
+{
+ WALLPAPER_FOREST,
+ WALLPAPER_CITY,
+ WALLPAPER_DESERT,
+ WALLPAPER_SAVANNA,
+ WALLPAPER_CRAG,
+ WALLPAPER_VOLCANO,
+ WALLPAPER_SNOW,
+ WALLPAPER_CAVE,
+ WALLPAPER_BEACH,
+ WALLPAPER_SEAFLOOR,
+ WALLPAPER_RIVER,
+ WALLPAPER_SKY,
+ WALLPAPER_POLKADOT,
+ WALLPAPER_POKECENTER,
+ WALLPAPER_MACHINE,
+ WALLPAPER_PLAIN,
+ WALLPAPER_FRIENDS, // The one received as a gift from Walda's parents.
+ WALLPAPER_COUNT
+};
+
+enum
+{
+ FRIENDS_ZIGZAGOON,
+ FRIENDS_SCREEN,
+ FRIENDS_HORIZONTAL,
+ FRIENDS_DIAGONAL,
+ FRIENDS_BLOCK,
+ FRIENDS_RIBBON,
+ FRIENDS_POKECENTER2,
+ FRIENDS_FRAME,
+ FRIENDS_BLANK,
+ FRIENDS_CIRCLES,
+ FRIENDS_AZUMARILL,
+ FRIENDS_PIKACHU,
+ FRIENDS_LEGENDARY,
+ FRIENDS_DUSCLOPS,
+ FRIENDS_LUDICOLO,
+ FRIENDS_WHISCASH,
+ FRIENDS_WALLPAPERS_COUNT
+};
+
+enum
+{
+ CURSOR_AREA_IN_BOX,
+ CURSOR_AREA_IN_PARTY,
+ CURSOR_AREA_BOX,
+ CURSOR_AREA_BUTTONS, // Party Pokemon and Close Box
+};
+
+#define TAG_PAL_WAVEFORM 0xDACA
+#define TAG_PAL_DAC8 0xDAC8
+#define TAG_PAL_DAC6 0xDAC6
+#define TAG_PAL_DACE 0xDACE
+#define TAG_PAL_DAC7 0xDAC7
+#define TAG_PAL_DAC9 0xDAC9
+#define TAG_PAL_DAC0 0xDAC0
+#define TAG_PAL_DACB 0xDACB
+
+#define TAG_TILE_WAVEFORM 0x5
+#define TAG_TILE_10 0x10
+#define TAG_TILE_2 0x2
+#define TAG_TILE_D 0xD
+#define TAG_TILE_A 0xA
+#define TAG_TILE_3 0x3
+#define TAG_TILE_4 0x4
+#define TAG_TILE_12 0x12
+#define TAG_TILE_7 0x7
+#define TAG_TILE_0 0x0
+#define TAG_TILE_1 0x1
+
+// IWRAM bss
+IWRAM_DATA static u32 gUnknown_03000F78[98];
+
+// EWRAM DATA
+EWRAM_DATA static u8 sPreviousBoxOption = 0;
+EWRAM_DATA static struct UnkPSSStruct_2002370 *gUnknown_02039D04 = NULL;
+EWRAM_DATA static struct PokemonStorageSystemData *sPSSData = NULL;
+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 u16 gUnknown_02039D12 = 0;
+EWRAM_DATA static struct Pokemon gUnknown_02039D14 = {0};
+EWRAM_DATA static s8 sBoxCursorArea = 0;
+EWRAM_DATA static s8 sBoxCursorPosition = 0;
+EWRAM_DATA static bool8 sIsMonBeingMoved = 0;
+EWRAM_DATA static u8 sMovingMonOrigBoxId = 0;
+EWRAM_DATA static u8 sMovingMonOrigBoxPos = 0;
+EWRAM_DATA static bool8 sCanOnlyMove = 0;
+
+extern void sub_80C6D80(u8 *arg0, void *arg1, u8 arg2, u8 arg3, s32 arg4);
+
+extern const struct CompressedSpriteSheet gMonFrontPicTable[];
// This file's functions.
-void StorageSystemCreatePrimaryMenu(u8 whichMenu, s16 *windowIdPtr);
-void sub_80C7D74(u8);
-u8 sub_80CAEA0(void);
-void SetBoxWallpaper(u8 boxId, u8 wallpaperId);
-void SetCurrentBox(u8 boxId);
-void ClearMonInBox(u8 boxId, u8 boxPos);
-void ResetWaldaWallpaper(void);
-void sub_80C7958(u8 curBox);
-void sub_80C7B14(void);
-void sub_80C7BB4(void);
-void sub_80CA028(void);
-void sub_80C7B80(void);
-void sub_80D2AA4(void);
-void sub_80C7BE4(void);
-void sub_80CAA14(void);
-void sub_80C7CF4(struct Sprite *sprite);
-struct Sprite *sub_80CD2E8(u16 x, u16 y, u8 animId, u8 priority, u8 subpriority);
-
-// const rom data
-const struct PSS_MenuStringPtrs gUnknown_085716C0[] =
+static void CreatePCMenu(u8 whichMenu, s16 *windowIdPtr);
+static void Cb2_EnterPSS(u8 boxOption);
+static u8 GetCurrentBoxOption(void);
+static u8 HandleInput(void);
+static u8 sub_80CDC2C(void);
+static u8 sub_80CB9BC(void);
+static void LoadWallpaperGfx(u8 boxId, s8 direction);
+static void sub_80CCCFC(u8 boxId, s8 direction);
+static void sub_80CD0B8(s8 direction);
+static void SetCurrentBox(u8 boxId);
+static void sub_80CC32C(u8 boxId);
+static void sub_80C7958(u8 curBox);
+static void sub_80CCAE0(void *arg0);
+static void sub_80C7B14(void);
+static void sub_80C7BB4(void);
+static void ScrollBackground(void);
+static void sub_80C7B80(void);
+static void sub_80C7BE4(void);
+static void sub_80CAA14(void);
+static void sub_80CFDC4(void);
+static void sub_80CE790(void);
+static void sub_80CE8E4(void);
+static void GiveChosenBagItem(void);
+static void SetUpHidePartyMenu(void);
+static void DestroyAllPartyMonIcons(void);
+static void sub_80D11CC(void);
+static void LoadPSSMenuGfx(void);
+static void LoadWaveformSpritePalette(void);
+static void sub_80CDC18(void);
+static void sub_80CD36C(void);
+static void sub_80CD3EC(void);
+static void sub_80CAC1C(void);
+static void sub_80CEBDC(void);
+static void SetScrollingBackground(void);
+static void sub_80CABE0(void);
+static void sub_80CAEAC(void);
+static void sub_80D0C60(void);
+static void sub_80CFEA8(void);
+static void sub_80CDC0C(void);
+static void sub_80CAF04(void);
+static void sub_80CA0D8(void);
+static void AddMenu(void);
+static void sub_80CE250(void);
+static void InitCanRelaseMonVars(void);
+static void sub_80D01B8(void);
+static void ReleaseMon(void);
+static void RefreshCursorMonData(void);
+static void LoadCursorMonSprite(void);
+static void sub_80CA154(void);
+static void sub_80CA1C4(void);
+static void sub_80CC064(void);
+static void sub_80CE324(void);
+static void ClearBottomWindow(void);
+static void sub_80CA704(void);
+static void sub_80D013C(void);
+static void sub_80CE00C(void);
+static void sub_80D1194(void);
+static void PrintCursorMonInfo(void);
+static void sub_80CA65C(void);
+static void AddWallpaperSetsMenu(void);
+static void sub_80CD02C(void);
+static void InitMenu(void);
+static void sub_80CD158(void);
+static void sub_80CFC14(void);
+static void sub_80CEB40(void);
+static void sub_80CCEE0(void);
+static void sub_80D1818(void);
+static void sub_80D19B4(u32 arg0);
+static void sub_80CAA74(void);
+static void PrintItemDescription(void);
+static void sub_80CE760(void);
+static void sub_80CDBA0(void);
+static void sub_80CE7E8(void);
+static void sub_80CFECC(void);
+static void sub_80CA9EC(void);
+static void FreePSSData(void);
+static void AddBoxMenu(void);
+static void sub_80CCF9C(void);
+static void MoveMon(void);
+static void PlaceMon(void);
+static void sub_80CAB20(void);
+static void sub_80CE22C(void);
+static void sub_80CDA68(void);
+static void sub_80CB950(void);
+static void sub_80CA9C0(void);
+static void SetUpDoShowPartyMenu(void);
+static void BoxSetMosaic(void);
+static void sub_80C7CF4(struct Sprite *sprite);
+static void sub_80CC100(struct Sprite *sprite);
+static void sub_80CB278(struct Sprite *sprite);
+static void sub_80CD210(struct Sprite *sprite);
+static bool32 WaitForWallpaperGfxLoad(void);
+static bool8 InitPSSWindows(void);
+static bool8 sub_80CC0A0(void);
+static bool8 sub_80CE2A8(void);
+static bool8 sub_80D0164(void);
+static bool8 sub_80CC35C(void);
+static bool8 sub_80D01E4(void);
+static bool8 sub_80CDED4(void);
+static bool8 sub_80CDF08(void);
+static bool8 sub_80D184C(void);
+static bool8 sub_80D18E4(void);
+static bool8 DoShowPartyMenu(void);
+static bool8 sub_80D1218(void);
+static bool8 ScrollToBox(void);
+static bool8 sub_80CD554(void);
+static bool8 HidePartyMenu(void);
+static bool8 IsActiveItemMoving(void);
+static bool8 sub_80D0580(u8 arg0);
+static bool8 sub_80D0BC0(void);
+static bool8 sub_80CA2B8(void);
+static bool8 DoWallpaperGfxChange(void);
+static bool8 DoMonPlaceChange(void);
+static bool8 sub_80D00A8(void);
+static bool8 CanMovePartyMon(void);
+static bool8 CanShiftMon(void);
+static bool8 IsCursorOnCloseBox(void);
+static bool8 IsCursorOnBox(void);
+static bool8 IsCursorInBox(void);
+static bool8 IsMonBeingMoved(void);
+static bool8 TryStorePartyMonInBox(u8 boxId);
+static void Cb_InitPSS(u8 taskId);
+static void Cb_PlaceMon(u8 taskId);
+static void Cb_ChangeScreen(u8 taskId);
+static void Cb_ShowPSS(u8 taskId);
+static void Cb_OnBPressed(u8 taskId);
+static void Cb_HandleBoxOptions(u8 taskId);
+static void Cb_OnSelectedMon(u8 taskId);
+static void Cb_OnCloseBoxPressed(u8 taskId);
+static void Cb_HidePartyPokemon(u8 taskId);
+static void Cb_DepositMenu(u8 taskId);
+static void Cb_MoveMon(u8 taskId);
+static void Cb_GiveMovingItemToMon(u8 taskId);
+static void Cb_SwitchSelectedItem(u8 taskId);
+static void Cb_TakeItemForMoving(u8 taskId);
+static void Cb_WithdrawMon(u8 taskId);
+static void Cb_ShiftMon(u8 taskId);
+static void Cb_ShowPartyPokemon(u8 taskId);
+static void Cb_ShowItemInfo(u8 taskId);
+static void Cb_GiveItemFromBag(u8 taskId);
+static void Cb_ItemToBag(u8 taskId);
+static void Cb_TakeItemForMoving(u8 taskId);
+static void Cb_ShowMarkMenu(u8 taskId);
+static void Cb_ShowMonSummary(u8 taskId);
+static void Cb_ReleaseMon(u8 taskId);
+static void Cb_ReshowPSS(u8 taskId);
+static void Cb_MainPSS(u8 taskId);
+static void Cb_JumpBox(u8 taskId);
+static void Cb_HandleWallpapers(u8 taskId);
+static void Cb_NameBox(u8 taskId);
+static void Cb_PrintCantStoreMail(u8 taskId);
+static void Cb_HandleMovingMonFromParty(u8 taskId);
+static void SetUpScrollToBox(u8 boxId);
+static void sub_80CFE54(u8 animNum);
+static void SetMovingMonPriority(u8 priority);
+static void InitMonPlaceChange(u8 arg0);
+static void SetMonMarkings(u8 markings);
+static void ShowYesNoWindow(s8 cursorPos);
+static void sub_80CDBF8(u8 cursorBoxPosition);
+static void sub_80D01D0(u8 arg0);
+static void sub_80CD1A8(bool8 arg0);
+static void sub_80CA984(bool8 arg0);
+static void CreatePartyMonsSprites(bool8 arg0);
+static void PrintStorageActionText(u8 id);
+static s16 sub_80D00AC(void);
+static s8 RunCanReleaseMon(void);
+static u8 GetBoxCursorPosition(void);
+static void Item_FromMonToMoving(u8 cursorArea, u8 cursorPos);
+static void Item_GiveMovingToMon(u8 cursorArea, u8 cursorPos);
+static void Item_TakeMons(u8 cursorArea, u8 cursorPos);
+static void Item_SwitchMonsWithMoving(u8 cursorArea, u8 cursorPos);
+static struct Sprite *sub_80CD2E8(u16 x, u16 y, u8 animId, u8 priority, u8 subpriority);
+static void SetWallpaperForCurrentBox(u8 wallpaperId);
+static void AddWallpapersMenu(u8 wallpaperSet);
+static u16 GetMovingItem(void);
+static void LoadCursorMonGfx(u16 species, u32 pid);
+static void sub_80CA2D0(struct Sprite *sprite);
+static void sub_80CCF64(struct Sprite *sprite);
+static void sub_80CBA3C(struct Sprite *sprite);
+static void sub_80CCF30(struct Sprite *sprite);
+static void sub_80CBAF0(s16 yDelta);
+static void sub_80CAAA8(u8 arg0, bool8 isPartyMon);
+static const u8 *GetMovingItemName(void);
+static void SetMenuText(u8 textId);
+static void sub_80D0D8C(u8 cursorArea, u8 cursorPos);
+static void sub_80D0E50(u8 cursorArea, u8 cursorPos);
+static void sub_80D0F38(u16 item);
+static struct Sprite *CreateMonIconSprite(u16 species, u32 personality, s16 x, s16 y, u8 oamPriority, u8 subpriority);
+static void DestroyBoxMonIcon(struct Sprite *sprite);
+static void SetBoxSpeciesAndPersonalities(u8 boxId);
+static void sub_80CB9D0(struct Sprite *sprite, u16 partyId);
+static void sub_80CC370(u8 taskId);
+static void sub_80CCB50(u8 boxId);
+static s8 sub_80CC644(u8 boxId);
+static void sub_80CCA3C(const void *tilemap, s8 direction, u8 arg2);
+static s16 sub_80CD00C(const u8 *string);
+static bool8 MonPlaceChange_Shift(void);
+static bool8 MonPlaceChange_Move(void);
+static bool8 MonPlaceChange_Place(void);
+static bool8 sub_80CDEC4(void);
+static bool8 sub_80CDEB4(void);
+static void sub_80CD444(u8 cursorArea, u8 cursorPosition, u16 *x, u16 *y);
+static void SetShiftedMonData(u8 boxId, u8 position);
+static void SetMovedMonData(u8 boxId, u8 position);
+static void SetPlacedMonData(u8 boxId, u8 position);
+static void PurgeMonOrBoxMon(u8 boxId, u8 position);
+static void SetCursorMonData(void *pokemon, u8 mode);
+static bool32 AtLeastThreeUsableMons(void);
+static u8 InBoxInput_Normal(void);
+static u8 InBoxInput_MovingMultiple(void);
+static u8 InBoxInput_GrabbingMultiple(void);
+static s8 sub_80CFF98(u8 arg0);
+static u8 sub_80CFA5C(void);
+static u8 sub_80D0BA4(void);
+static bool8 sub_80CFA84(void);
+static bool8 sub_80CFB44(void);
+static bool8 sub_80D024C(void);
+static bool8 sub_80D0344(void);
+static bool8 sub_80D03B0(void);
+static bool8 sub_80D0420(void);
+static bool8 sub_80D04A0(void);
+static bool8 sub_80D04C8(void);
+static void sub_80D07B0(u8 arg0, u8 arg1);
+static void sub_80D0834(u8 arg0, u8 arg1);
+static void sub_80D0B5C(void);
+static void sub_80D062C(void);
+static void sub_80D0884(u16 arg0, u16 arg1, u16 arg2);
+static void sub_80D08CC(void);
+static void sub_80D09A4(void);
+static void sub_80D0A1C(void);
+static void sub_80D0AAC(void);
+static u8 sub_80D0894(void);
+static void sub_80D0778(u8 arg0, u8 arg1, u8 arg2);
+static void sub_80D0708(u8 arg0, u8 arg1, u8 arg2);
+static void sub_80D06D0(u8 arg0, u8 arg1, u8 arg2);
+static void sub_80D0740(u8 arg0, u8 arg1, u8 arg2);
+static void sub_80D27AC(u8 id, u16 arg1, u16 arg2, u16 arg3, u16 arg4);
+static void sub_80D27F4(u8 id, u8 arg1, s8 arg2);
+static void sub_80D2644(u8 id, u8 bg, const void *arg2, u16 arg3, u16 arg4);
+static void sub_80D2770(u8 id, u16 arg1, u16 arg2);
+static void sub_80D259C(u8 count);
+static void sub_80D25F0(void);
+static void sub_80D2918(u8 id);
+static void sub_80D2960(u8 id);
+static void sub_80D29F8(u8 id);
+static void sub_80D2A90(struct UnkStruct_2000020 *arg0, struct UnkStruct_2000028 *arg1, u32 arg2);
+static void sub_80D2AA4(void);
+static void sub_80D2B88(struct UnkStruct_2000028 *unkStruct);
+static void sub_80D2C1C(struct UnkStruct_2000028 *unkStruct);
+
+// static const rom data
+static const struct PSS_MenuStringPtrs gUnknown_085716C0[] =
{
{gText_WithdrawPokemon, gText_WithdrawMonDescription},
{gText_DepositPokemon, gText_DepositMonDescription},
@@ -58,7 +728,16 @@ const struct PSS_MenuStringPtrs gUnknown_085716C0[] =
{gText_SeeYa, gText_SeeYaDescription}
};
-const struct WindowTemplate gUnknown_085716E8 = {0, 1, 1, 0x11, 0xA, 0xF, 1};
+static const struct WindowTemplate gUnknown_085716E8 =
+{
+ .bg = 0,
+ .tilemapLeft = 1,
+ .tilemapTop = 1,
+ .width = 17,
+ .height = 10,
+ .paletteNum = 15,
+ .baseBlock = 0x1,
+};
static const union AnimCmd sSpriteAnim_85716F0[] =
{
@@ -84,7 +763,7 @@ static const union AnimCmd sSpriteAnim_8571708[] =
ANIMCMD_END
};
-const union AnimCmd *const sSpriteAnimTable_8571710[] =
+static const union AnimCmd *const sSpriteAnimTable_8571710[] =
{
sSpriteAnim_85716F0,
sSpriteAnim_85716F8,
@@ -103,12 +782,765 @@ static const union AffineAnimCmd *const sSpriteAffineAnimTable_8571730[] =
sSpriteAffineAnim_8571720
};
-const u8 gUnknown_08571734[] = {4, 0xF, 0xE};
-const u8 gUnknown_08571737[] = _("/30");
+static const u8 gUnknown_08571734[] = {4, 0xF, 0xE};
+static const u8 gUnknown_08571737[] = _("/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");
+static const u8 gBoxSelectionPopupSidesTiles[] = INCBIN_U8("graphics/pokemon_storage/box_selection_popup_sides.4bpp");
+static const u32 gPokemonStorageScrollingBGTileset[] = INCBIN_U32("graphics/pokemon_storage/scrolling_bg.4bpp.lz");
+static const u32 gPokemonStorageScrollingBGTilemap[] = INCBIN_U32("graphics/pokemon_storage/scrolling_bg.bin.lz");
+static const u32 gUnknown_08572280[] = INCBIN_U32("graphics/unknown/unknown_572280.gbapal");
+static const u32 gUnknown_085722A0[] = INCBIN_U32("graphics/unknown/unknown_5722A0.bin.lz");
+
+static const u16 gUnknown_0857239C[] =
+{
+ 0x0101, 0x0102, 0x0103, 0x0104, 0x0105, 0x0106, 0x0107, 0x0108, 0x0111, 0x0112, 0x0113, 0x0114, 0x0115, 0x0116, 0x0117, 0x0118,
+ 0x2101, 0x2102, 0x2103, 0x2104, 0x2105, 0x2106, 0x2107, 0x2108, 0x2111, 0x2112, 0x2113, 0x2114, 0x2115, 0x2116, 0x2117, 0x2118,
+};
+
+static const u16 gUnknown_085723DC[] = INCBIN_U16("graphics/unknown/unknown_5723DC.gbapal"); // Left-most part and Close Box.
+static const u16 gUnknown_085723FC[] = INCBIN_U16("graphics/unknown/unknown_5723FC.gbapal");
+static const u16 gUnknown_0857241C[] = INCBIN_U16("graphics/unknown/unknown_57241C.gbapal");
+static const u16 gUnknown_0857243C[] = INCBIN_U16("graphics/unknown/unknown_57243C.gbapal");
+
+static const u16 gUnknown_0857245C[] =
+{
+ 0x014c, 0x014d, 0x014e, 0x014f, 0x0170, 0x0171, 0x0172, 0x0173, 0x0174, 0x015c, 0x015d, 0x015e, 0x015f, 0x0180, 0x0181, 0x0182,
+ 0x0183, 0x0184, 0x0175, 0x0176, 0x0177, 0x0178, 0x0179, 0x017a, 0x017b, 0x017c, 0x017d, 0x0185, 0x0186, 0x0187, 0x0188, 0x0189,
+ 0x018a, 0x018b, 0x018c, 0x018d
+};
+static const u16 gUnknown_085724A4[] =
+{
+ 0x1140, 0x1141, 0x1141, 0x1142, 0x1150, 0x1151, 0x1151, 0x1152, 0x1160, 0x1161, 0x1161, 0x1162,
+};
+static const u16 gUnknown_085724BC[] =
+{
+ 0x1143, 0x1144, 0x1144, 0x1145, 0x1153, 0x1154, 0x1154, 0x1155, 0x1163, 0x1164, 0x1164, 0x1165,
+};
+
+static const u16 gWaveformPalette[] = INCBIN_U16("graphics/pokemon_storage/waveform.gbapal");
+static const u32 gWaveformTiles[] = INCBIN_U32("graphics/pokemon_storage/waveform.4bpp");
+static const u32 gUnknown_085726B4[] = INCBIN_U32("graphics/unused/unknown_5726B4.gbapal");
+static const u32 gUnknown_085726F4[] = INCBIN_U32("graphics/unknown/unknown_5726F4.gbapal");
+
+static const struct WindowTemplate gUnknown_08572714[] =
+{
+ { // 0
+ .bg = 1,
+ .tilemapLeft = 0,
+ .tilemapTop = 11,
+ .width = 9,
+ .height = 7,
+ .paletteNum = 3,
+ .baseBlock = 0xC0,
+ },
+ { // 1
+ .bg = 0,
+ .tilemapLeft = 11,
+ .tilemapTop = 17,
+ .width = 18,
+ .height = 2,
+ .paletteNum = 15,
+ .baseBlock = 0x14,
+ },
+ { // 2
+ .bg = 0,
+ .tilemapLeft = 0,
+ .tilemapTop = 13,
+ .width = 21,
+ .height = 7,
+ .paletteNum = 15,
+ .baseBlock = 0x14,
+ },
+ DUMMY_WIN_TEMPLATE
+};
+
+static const struct BgTemplate gUnknown_08572734[] =
+{
+ {
+ .bg = 0,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 29,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 0,
+ .baseTile = 0
+ },
+ {
+ .bg = 1,
+ .charBaseIndex = 1,
+ .mapBaseIndex = 30,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 1,
+ .baseTile = 0x100
+ },
+ {
+ .bg = 2,
+ .charBaseIndex = 2,
+ .mapBaseIndex = 27,
+ .screenSize = 1,
+ .paletteMode = 0,
+ .priority = 2,
+ .baseTile = 0
+ },
+ {
+ .bg = 3,
+ .charBaseIndex = 3,
+ .mapBaseIndex = 31,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 3,
+ .baseTile = 0
+ },
+};
+
+static const struct SpritePalette gWaveformSpritePalette =
+{
+ gWaveformPalette, TAG_PAL_WAVEFORM
+};
+
+static const struct SpriteSheet gWaveformSpriteSheet =
+{
+ gWaveformTiles, sizeof(gWaveformTiles), TAG_TILE_WAVEFORM
+};
+
+static const struct OamData sOamData_857286C;
+static const struct SpriteTemplate sSpriteTemplate_CursorMon =
+{
+ .tileTag = TAG_TILE_2,
+ .paletteTag = TAG_PAL_DAC6,
+ .oam = &sOamData_857286C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+static const struct StorageAction gPCStorageActionTexts[] =
+{
+ [PC_TEXT_EXIT_BOX] = {gText_ExitFromBox, PC_TEXT_FMT_NORMAL},
+ [PC_TEXT_WHAT_YOU_DO] = {gText_WhatDoYouWantToDo, PC_TEXT_FMT_NORMAL},
+ [PC_TEXT_PICK_A_THEME] = {gText_PleasePickATheme, PC_TEXT_FMT_NORMAL},
+ [PC_TEXT_PICK_A_WALLPAPER] = {gText_PickTheWallpaper, PC_TEXT_FMT_NORMAL},
+ [PC_TEXT_IS_SELECTED] = {gText_PkmnIsSelected, PC_TEXT_FMT_MON_NAME_1},
+ [PC_TEXT_JUMP_TO_WHICH_BOX] = {gText_JumpToWhichBox, PC_TEXT_FMT_NORMAL},
+ [PC_TEXT_DEPOSIT_IN_WHICH_BOX] = {gText_DepositInWhichBox, PC_TEXT_FMT_NORMAL},
+ [PC_TEXT_WAS_DEPOSITED] = {gText_PkmnWasDeposited, PC_TEXT_FMT_MON_NAME_1},
+ [PC_TEXT_BOX_IS_FULL] = {gText_BoxIsFull2, PC_TEXT_FMT_NORMAL},
+ [PC_TEXT_RELEASE_POKE] = {gText_ReleaseThisPokemon, PC_TEXT_FMT_NORMAL},
+ [PC_TEXT_WAS_RELEASED] = {gText_PkmnWasReleased, PC_TEXT_FMT_MON_NAME_4},
+ [PC_TEXT_BYE_BYE] = {gText_ByeByePkmn, PC_TEXT_FMT_MON_NAME_6},
+ [PC_TEXT_MARK_POKE] = {gText_MarkYourPkmn, PC_TEXT_FMT_NORMAL},
+ [PC_TEXT_LAST_POKE] = {gText_ThatsYourLastPkmn, PC_TEXT_FMT_NORMAL},
+ [PC_TEXT_PARTY_FULL] = {gText_YourPartysFull, PC_TEXT_FMT_NORMAL},
+ [PC_TEXT_HOLDING_POKE] = {gText_YoureHoldingAPkmn, PC_TEXT_FMT_NORMAL},
+ [PC_TEXT_WHICH_ONE_WILL_TAKE] = {gText_WhichOneWillYouTake, PC_TEXT_FMT_NORMAL},
+ [PC_TEXT_CANT_RELEASE_EGG] = {gText_YouCantReleaseAnEgg, PC_TEXT_FMT_NORMAL},
+ [PC_TEXT_CONTINUE_BOX] = {gText_ContinueBoxOperations, PC_TEXT_FMT_NORMAL},
+ [PC_TEXT_CAME_BACK] = {gText_PkmnCameBack, PC_TEXT_FMT_MON_NAME_1},
+ [PC_TEXT_WORRIED] = {gText_WasItWorriedAboutYou, PC_TEXT_FMT_NORMAL},
+ [PC_TEXT_SURPRISE] = {gText_FourEllipsesExclamation, PC_TEXT_FMT_NORMAL},
+ [PC_TEXT_PLEASE_REMOVE_MAIL] = {gText_PleaseRemoveTheMail, PC_TEXT_FMT_NORMAL},
+ [PC_TEXT_IS_SELECTED2] = {gText_PkmnIsSelected, PC_TEXT_FMT_ITEM_NAME},
+ [PC_TEXT_GIVE_TO_MON] = {gText_GiveToAPkmn, PC_TEXT_FMT_NORMAL},
+ [PC_TEXT_PLACED_IN_BAG] = {gText_PlacedItemInBag, PC_TEXT_FMT_ITEM_NAME},
+ [PC_TEXT_BAG_FULL] = {gText_BagIsFull2, PC_TEXT_FMT_NORMAL},
+ [PC_TEXT_PUT_IN_BAG] = {gText_PutItemInBag, PC_TEXT_FMT_NORMAL},
+ [PC_TEXT_ITEM_IS_HELD] = {gText_ItemIsNowHeld, PC_TEXT_FMT_ITEM_NAME},
+ [PC_TEXT_CHANGED_TO_ITEM] = {gText_ChangedToNewItem, PC_TEXT_FMT_ITEM_NAME},
+ [PC_TEXT_CANT_STORE_MAIL] = {gText_MailCantBeStored, PC_TEXT_FMT_NORMAL},
+};
+
+static const struct WindowTemplate sYesNoWindowTemplate =
+{
+ .bg = 0,
+ .tilemapLeft = 24,
+ .tilemapTop = 11,
+ .width = 5,
+ .height = 4,
+ .paletteNum = 15,
+ .baseBlock = 0x5C,
+};
+
+static const struct OamData sOamData_857286C =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 3,
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+ .affineParam = 0
+};
+
+static const struct OamData sOamData_8572874 =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 1,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 0,
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+ .affineParam = 0
+};
+
+static const union AnimCmd sSpriteAnim_857287C[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_8572884[] =
+{
+ ANIMCMD_FRAME(2, 8),
+ ANIMCMD_FRAME(4, 8),
+ ANIMCMD_FRAME(6, 8),
+ ANIMCMD_JUMP(0)
+};
+
+static const union AnimCmd sSpriteAnim_8572894[] =
+{
+ ANIMCMD_FRAME(8, 5),
+ ANIMCMD_END
+};
+
+static const union AnimCmd sSpriteAnim_857289C[] =
+{
+ ANIMCMD_FRAME(10, 8),
+ ANIMCMD_FRAME(4, 8),
+ ANIMCMD_FRAME(12, 8),
+ ANIMCMD_JUMP(0)
+};
+
+static const union AnimCmd *const sSpriteAnimTable_85728AC[] =
+{
+ sSpriteAnim_857287C,
+ sSpriteAnim_8572884,
+ sSpriteAnim_8572894,
+ sSpriteAnim_857289C
+};
+
+static const struct SpriteTemplate sSpriteTemplate_Waveform =
+{
+ .tileTag = TAG_TILE_WAVEFORM,
+ .paletteTag = TAG_PAL_WAVEFORM,
+ .oam = &sOamData_8572874,
+ .anims = sSpriteAnimTable_85728AC,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+static const struct OamData sOamData_85728EC;
+static const struct SpriteTemplate gUnknown_085728D4 =
+{
+ .tileTag = TAG_TILE_12,
+ .paletteTag = TAG_PAL_DAC0,
+ .oam = &sOamData_85728EC,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+static const struct OamData sOamData_85728EC =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 2,
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+ .affineParam = 0
+};
+
+static const union AffineAnimCmd gSpriteAffineAnim_85728F4[] =
+{
+ AFFINEANIMCMD_FRAME(-2, -2, 0, 120),
+ AFFINEANIMCMD_END
+};
+
+static const union AffineAnimCmd gSpriteAffineAnim_8572904[] =
+{
+ AFFINEANIMCMD_FRAME(16, 16, 0, 0),
+ AFFINEANIMCMD_FRAME(16, 16, 0, 15),
+ AFFINEANIMCMD_END
+};
+
+static const union AffineAnimCmd *const gSpriteAffineAnimTable_857291C[] =
+{
+ gSpriteAffineAnim_85728F4,
+ gSpriteAffineAnim_8572904
+};
+
+static const u16 gWallpaperPalettes_Forest[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/forest_frame.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/forest_bg.gbapal"),
+};
+static const u32 gWallpaperTiles_Forest[] = INCBIN_U32("graphics/pokemon_storage/forest.4bpp.lz");
+static const u32 gWallpaperTilemap_Forest[] = INCBIN_U32("graphics/pokemon_storage/forest.bin.lz");
+
+static const u16 gWallpaperPalettes_City[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/city_frame.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/city_bg.gbapal"),
+};
+static const u32 gWallpaperTiles_City[] = INCBIN_U32("graphics/pokemon_storage/city.4bpp.lz");
+static const u32 gWallpaperTilemap_City[] = INCBIN_U32("graphics/pokemon_storage/city.bin.lz");
+
+static const u16 gWallpaperPalettes_Desert[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/desert_frame.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/desert_bg.gbapal"),
+};
+static const u32 gWallpaperTiles_Desert[] = INCBIN_U32("graphics/pokemon_storage/desert.4bpp.lz");
+static const u32 gWallpaperTilemap_Desert[] = INCBIN_U32("graphics/pokemon_storage/desert.bin.lz");
+
+static const u16 gWallpaperPalettes_Savanna[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/savanna_frame.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/savanna_bg.gbapal"),
+};
+static const u32 gWallpaperTiles_Savanna[] = INCBIN_U32("graphics/pokemon_storage/savanna.4bpp.lz");
+static const u32 gWallpaperTilemap_Savanna[] = INCBIN_U32("graphics/pokemon_storage/savanna.bin.lz");
+
+static const u16 gWallpaperPalettes_Crag[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/crag_frame.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/crag_bg.gbapal"),
+};
+static const u32 gWallpaperTiles_Crag[] = INCBIN_U32("graphics/pokemon_storage/crag.4bpp.lz");
+static const u32 gWallpaperTilemap_Crag[] = INCBIN_U32("graphics/pokemon_storage/crag.bin.lz");
+
+static const u16 gWallpaperPalettes_Volcano[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/volcano_frame.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/volcano_bg.gbapal"),
+};
+static const u32 gWallpaperTiles_Volcano[] = INCBIN_U32("graphics/pokemon_storage/volcano.4bpp.lz");
+static const u32 gWallpaperTilemap_Volcano[] = INCBIN_U32("graphics/pokemon_storage/volcano.bin.lz");
+
+static const u16 gWallpaperPalettes_Snow[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/snow_frame.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/snow_bg.gbapal"),
+};
+static const u32 gWallpaperTiles_Snow[] = INCBIN_U32("graphics/pokemon_storage/snow.4bpp.lz");
+static const u32 gWallpaperTilemap_Snow[] = INCBIN_U32("graphics/pokemon_storage/snow.bin.lz");
+
+static const u16 gWallpaperPalettes_Cave[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/cave_frame.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/cave_bg.gbapal"),
+};
+static const u32 gWallpaperTiles_Cave[] = INCBIN_U32("graphics/pokemon_storage/cave.4bpp.lz");
+static const u32 gWallpaperTilemap_Cave[] = INCBIN_U32("graphics/pokemon_storage/cave.bin.lz");
+
+static const u16 gWallpaperPalettes_Beach[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/beach_frame.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/beach_bg.gbapal"),
+};
+static const u32 gWallpaperTiles_Beach[] = INCBIN_U32("graphics/pokemon_storage/beach.4bpp.lz");
+static const u32 gWallpaperTilemap_Beach[] = INCBIN_U32("graphics/pokemon_storage/beach.bin.lz");
+
+static const u16 gWallpaperPalettes_Seafloor[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/seafloor_frame.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/seafloor_bg.gbapal"),
+};
+static const u32 gWallpaperTiles_Seafloor[] = INCBIN_U32("graphics/pokemon_storage/seafloor.4bpp.lz");
+static const u32 gWallpaperTilemap_Seafloor[] = INCBIN_U32("graphics/pokemon_storage/seafloor.bin.lz");
+
+static const u16 gWallpaperPalettes_River[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/river_frame.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/river_bg.gbapal"),
+};
+static const u32 gWallpaperTiles_River[] = INCBIN_U32("graphics/pokemon_storage/river.4bpp.lz");
+static const u32 gWallpaperTilemap_River[] = INCBIN_U32("graphics/pokemon_storage/river.bin.lz");
+static const u16 gWallpaperPalettes_Sky[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/sky_frame.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/sky_bg.gbapal"),
+};
+static const u32 gWallpaperTiles_Sky[] = INCBIN_U32("graphics/pokemon_storage/sky.4bpp.lz");
+static const u32 gWallpaperTilemap_Sky[] = INCBIN_U32("graphics/pokemon_storage/sky.bin.lz");
+
+static const u16 gWallpaperPalettes_PolkaDot[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/polkadot_frame.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/polkadot_bg.gbapal"),
+};
+static const u32 gWallpaperTiles_PolkaDot[] = INCBIN_U32("graphics/pokemon_storage/polkadot.4bpp.lz");
+static const u32 gWallpaperTilemap_PolkaDot[] = INCBIN_U32("graphics/pokemon_storage/polkadot.bin.lz");
+
+static const u16 gWallpaperPalettes_Pokecenter[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/pokecenter_frame.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/pokecenter_bg.gbapal"),
+};
+static const u32 gWallpaperTiles_Pokecenter[] = INCBIN_U32("graphics/pokemon_storage/pokecenter.4bpp.lz");
+static const u32 gWallpaperTilemap_Pokecenter[] = INCBIN_U32("graphics/pokemon_storage/pokecenter.bin.lz");
+
+static const u16 gWallpaperPalettes_Machine[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/machine_frame.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/machine_bg.gbapal"),
+};
+static const u32 gWallpaperTiles_Machine[] = INCBIN_U32("graphics/pokemon_storage/machine.4bpp.lz");
+static const u32 gWallpaperTilemap_Machine[] = INCBIN_U32("graphics/pokemon_storage/machine.bin.lz");
+
+static const u16 gWallpaperPalettes_Plain[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/plain_frame.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/plain_bg.gbapal"),
+};
+static const u32 gWallpaperTiles_Plain[] = INCBIN_U32("graphics/pokemon_storage/plain.4bpp.lz");
+static const u32 gWallpaperTilemap_Plain[] = INCBIN_U32("graphics/pokemon_storage/plain.bin.lz");
+
+// 12×18 tilemap
+static const u32 gUnknown_085773C4[] = INCBIN_U32("graphics/unused/tilemap_5773C4.bin");
+
+static const u16 gUnknown_08577574[][2] =
+{
+ {0x1CE7, 0x7FFF},
+ {0x1CE7, 0x7FFF},
+ {0x1CE7, 0x7FFF},
+ {0x1CE7, 0x7FFF},
+ {0x1CE7, 0x7FFF},
+ {0x1CE7, 0x7FFF},
+ {0x1CE7, 0x7FFF},
+ {0x1CE7, 0x7FFF},
+ {0x1CE7, 0x7FFF},
+ {0x1CE7, 0x7FFF},
+ {0x1CE7, 0x7FFF},
+ {0x1CE7, 0x7FFF},
+ {0x1CE7, 0x7FFF},
+ {0x1CE7, 0x7FFF},
+ {0x1CE7, 0x7FFF},
+ {0x1CE7, 0x7FFF},
+ {0x1CE7, 0x7FFF}
+};
+
+#define WALLPAPER_ENTRY(name) {gWallpaperTiles_##name, gWallpaperTilemap_##name, gWallpaperPalettes_##name[0]}
+
+static const struct WallpaperTable gWallpaperTable[] =
+{
+ [WALLPAPER_FOREST] = WALLPAPER_ENTRY(Forest),
+ [WALLPAPER_CITY] = WALLPAPER_ENTRY(City),
+ [WALLPAPER_DESERT] = WALLPAPER_ENTRY(Desert),
+ [WALLPAPER_SAVANNA] = WALLPAPER_ENTRY(Savanna),
+ [WALLPAPER_CRAG] = WALLPAPER_ENTRY(Crag),
+ [WALLPAPER_VOLCANO] = WALLPAPER_ENTRY(Volcano),
+ [WALLPAPER_SNOW] = WALLPAPER_ENTRY(Snow),
+ [WALLPAPER_CAVE] = WALLPAPER_ENTRY(Cave),
+ [WALLPAPER_BEACH] = WALLPAPER_ENTRY(Beach),
+ [WALLPAPER_SEAFLOOR] = WALLPAPER_ENTRY(Seafloor),
+ [WALLPAPER_RIVER] = WALLPAPER_ENTRY(River),
+ [WALLPAPER_SKY] = WALLPAPER_ENTRY(Sky),
+ [WALLPAPER_POLKADOT] = WALLPAPER_ENTRY(PolkaDot),
+ [WALLPAPER_POKECENTER] = WALLPAPER_ENTRY(Pokecenter),
+ [WALLPAPER_MACHINE] = WALLPAPER_ENTRY(Machine),
+ [WALLPAPER_PLAIN] = WALLPAPER_ENTRY(Plain),
+};
+
+static const u8 gPCGfx_Arrow[] = INCBIN_U8("graphics/pokemon_storage/arrow.4bpp");
+
+static const u16 gWallpaperPalettes_Zigzagoon[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/friends_frame1.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/zigzagoon_bg.gbapal"),
+};
+static const u32 gWallpaperTiles_Zigzagoon[] = INCBIN_U32("graphics/pokemon_storage/zigzagoon.4bpp.lz");
+static const u32 gWallpaperTilemap_Zigzagoon[] = INCBIN_U32("graphics/pokemon_storage/zigzagoon.bin.lz");
+
+static const u16 gWallpaperPalettes_Screen[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/friends_frame1.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/screen_bg.gbapal"),
+};
+static const u32 gWallpaperTiles_Screen[] = INCBIN_U32("graphics/pokemon_storage/screen.4bpp.lz");
+static const u32 gWallpaperTilemap_Screen[] = INCBIN_U32("graphics/pokemon_storage/screen.bin.lz");
+
+static const u16 gWallpaperPalettes_Diagonal[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/friends_frame1.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/diagonal_bg.gbapal"),
+};
+static const u32 gWallpaperTiles_Diagonal[] = INCBIN_U32("graphics/pokemon_storage/diagonal.4bpp.lz");
+static const u32 gWallpaperTilemap_Diagonal[] = INCBIN_U32("graphics/pokemon_storage/diagonal.bin.lz");
+
+static const u16 gWallpaperPalettes_Block[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/block_bg.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/block_bg.gbapal"),
+};
+static const u32 gWallpaperTiles_Block[] = INCBIN_U32("graphics/pokemon_storage/block.4bpp.lz");
+static const u32 gWallpaperTilemap_Block[] = INCBIN_U32("graphics/pokemon_storage/block.bin.lz");
+
+static const u16 gWallpaperPalettes_Pokecenter2[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/pokecenter2_bg.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/pokecenter2_bg.gbapal"),
+};
+static const u32 gWallpaperTiles_Pokecenter2[] = INCBIN_U32("graphics/pokemon_storage/pokecenter2.4bpp.lz");
+static const u32 gWallpaperTilemap_Pokecenter2[] = INCBIN_U32("graphics/pokemon_storage/pokecenter2.bin.lz");
+
+static const u16 gWallpaperPalettes_Frame[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/frame_bg.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/frame_bg.gbapal"),
+};
+static const u32 gWallpaperTiles_Frame[] = INCBIN_U32("graphics/pokemon_storage/frame.4bpp.lz");
+static const u32 gWallpaperTilemap_Frame[] = INCBIN_U32("graphics/pokemon_storage/frame.bin.lz");
+
+static const u16 gWallpaperPalettes_Blank[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/friends_frame1.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/zigzagoon_bg.gbapal"),
+};
+static const u32 gWallpaperTiles_Blank[] = INCBIN_U32("graphics/pokemon_storage/blank.4bpp.lz");
+static const u32 gWallpaperTilemap_Blank[] = INCBIN_U32("graphics/pokemon_storage/blank.bin.lz");
+
+static const u16 gWallpaperPalettes_Circles[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/friends_frame2.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/circles_bg.gbapal"),
+};
+static const u32 gWallpaperTiles_Circles[] = INCBIN_U32("graphics/pokemon_storage/circles.4bpp.lz");
+static const u32 gWallpaperTilemap_Circles[] = INCBIN_U32("graphics/pokemon_storage/circles.bin.lz");
+
+static const u16 gWallpaperPalettes_Azumarill[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/friends_frame2.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/azumarill_bg.gbapal"),
+};
+static const u32 gWallpaperTiles_Azumarill[] = INCBIN_U32("graphics/pokemon_storage/azumarill.4bpp.lz");
+static const u32 gWallpaperTilemap_Azumarill[] = INCBIN_U32("graphics/pokemon_storage/azumarill.bin.lz");
+
+static const u16 gWallpaperPalettes_Pikachu[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/friends_frame2.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/pikachu_bg.gbapal"),
+};
+static const u32 gWallpaperTiles_Pikachu[] = INCBIN_U32("graphics/pokemon_storage/pikachu.4bpp.lz");
+static const u32 gWallpaperTilemap_Pikachu[] = INCBIN_U32("graphics/pokemon_storage/pikachu.bin.lz");
+
+static const u16 gWallpaperPalettes_Legendary[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/friends_frame2.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/legendary_bg.gbapal"),
+};
+static const u32 gWallpaperTiles_Legendary[] = INCBIN_U32("graphics/pokemon_storage/legendary.4bpp.lz");
+static const u32 gWallpaperTilemap_Legendary[] = INCBIN_U32("graphics/pokemon_storage/legendary.bin.lz");
+
+static const u16 gWallpaperPalettes_Dusclops[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/friends_frame2.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/dusclops_bg.gbapal"),
+};
+static const u32 gWallpaperTiles_Dusclops[] = INCBIN_U32("graphics/pokemon_storage/dusclops.4bpp.lz");
+static const u32 gWallpaperTilemap_Dusclops[] = INCBIN_U32("graphics/pokemon_storage/dusclops.bin.lz");
+
+static const u16 gWallpaperPalettes_Ludicolo[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/friends_frame2.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/ludicolo_bg.gbapal"),
+};
+static const u32 gWallpaperTiles_Ludicolo[] = INCBIN_U32("graphics/pokemon_storage/ludicolo.4bpp.lz");
+static const u32 gWallpaperTilemap_Ludicolo[] = INCBIN_U32("graphics/pokemon_storage/ludicolo.bin.lz");
+
+static const u16 gWallpaperPalettes_Whiscash[][16] =
+{
+ INCBIN_U16("graphics/pokemon_storage/friends_frame2.gbapal"),
+ INCBIN_U16("graphics/pokemon_storage/whiscash_bg.gbapal"),
+};
+static const u32 gWallpaperTiles_Whiscash[] = INCBIN_U32("graphics/pokemon_storage/whiscash.4bpp.lz");
+static const u32 gWallpaperTilemap_Whiscash[] = INCBIN_U32("graphics/pokemon_storage/whiscash.bin.lz");
+
+static const u32 gWallpaperIcon_Aqua[] = INCBIN_U32("graphics/pokemon_storage/aqua_icon.4bpp.lz");
+static const u32 gWallpaperIcon_Heart[] = INCBIN_U32("graphics/pokemon_storage/heart_icon.4bpp.lz");
+static const u32 gWallpaperIcon_FiveStar[] = INCBIN_U32("graphics/pokemon_storage/five_star_icon.4bpp.lz");
+static const u32 gWallpaperIcon_Brick[] = INCBIN_U32("graphics/pokemon_storage/brick_icon.4bpp.lz");
+static const u32 gWallpaperIcon_FourStar[] = INCBIN_U32("graphics/pokemon_storage/four_star_icon.4bpp.lz");
+static const u32 gWallpaperIcon_Asterisk[] = INCBIN_U32("graphics/pokemon_storage/asterisk_icon.4bpp.lz");
+static const u32 gWallpaperIcon_Dot[] = INCBIN_U32("graphics/pokemon_storage/dot_icon.4bpp.lz");
+static const u32 gWallpaperIcon_LineCircle[] = INCBIN_U32("graphics/pokemon_storage/line_circle_icon.4bpp.lz");
+static const u32 gWallpaperIcon_PokeBall[] = INCBIN_U32("graphics/pokemon_storage/pokeball_icon.4bpp.lz");
+static const u32 gWallpaperIcon_Maze[] = INCBIN_U32("graphics/pokemon_storage/maze_icon.4bpp.lz");
+static const u32 gWallpaperIcon_Footprint[] = INCBIN_U32("graphics/pokemon_storage/footprint_icon.4bpp.lz");
+static const u32 gWallpaperIcon_BigAsterisk[] = INCBIN_U32("graphics/pokemon_storage/big_asterisk_icon.4bpp.lz");
+static const u32 gWallpaperIcon_Circle[] = INCBIN_U32("graphics/pokemon_storage/circle_icon.4bpp.lz");
+static const u32 gWallpaperIcon_Koffing[] = INCBIN_U32("graphics/pokemon_storage/koffing_icon.4bpp.lz");
+static const u32 gWallpaperIcon_Ribbon[] = INCBIN_U32("graphics/pokemon_storage/ribbon_icon.4bpp.lz");
+static const u32 gWallpaperIcon_FourCircles[] = INCBIN_U32("graphics/pokemon_storage/four_circles_icon.4bpp.lz");
+static const u32 gWallpaperIcon_Lotad[] = INCBIN_U32("graphics/pokemon_storage/lotad_icon.4bpp.lz");
+static const u32 gWallpaperIcon_Crystal[] = INCBIN_U32("graphics/pokemon_storage/crystal_icon.4bpp.lz");
+static const u32 gWallpaperIcon_Pichu[] = INCBIN_U32("graphics/pokemon_storage/pichu_icon.4bpp.lz");
+static const u32 gWallpaperIcon_Diglett[] = INCBIN_U32("graphics/pokemon_storage/diglett_icon.4bpp.lz");
+static const u32 gWallpaperIcon_Luvdisc[] = INCBIN_U32("graphics/pokemon_storage/luvdisc_icon.4bpp.lz");
+static const u32 gWallpaperIcon_StarInCircle[] = INCBIN_U32("graphics/pokemon_storage/star_in_circle_icon.4bpp.lz");
+static const u32 gWallpaperIcon_Spinda[] = INCBIN_U32("graphics/pokemon_storage/spinda_icon.4bpp.lz");
+static const u32 gWallpaperIcon_Latis[] = INCBIN_U32("graphics/pokemon_storage/latis_icon.4bpp.lz");
+static const u32 gWallpaperIcon_Minun[] = INCBIN_U32("graphics/pokemon_storage/minun_icon.4bpp.lz");
+static const u32 gWallpaperIcon_Togepi[] = INCBIN_U32("graphics/pokemon_storage/togepi_icon.4bpp.lz");
+static const u32 gWallpaperIcon_Magma[] = INCBIN_U32("graphics/pokemon_storage/magma_icon.4bpp.lz");
+
+static const struct WallpaperTable gFriendsWallpaperTable[] =
+{
+ WALLPAPER_ENTRY(Zigzagoon),
+ WALLPAPER_ENTRY(Screen),
+ WALLPAPER_ENTRY(Horizontal),
+ WALLPAPER_ENTRY(Diagonal),
+ WALLPAPER_ENTRY(Block),
+ WALLPAPER_ENTRY(Ribbon),
+ WALLPAPER_ENTRY(Pokecenter2),
+ WALLPAPER_ENTRY(Frame),
+ WALLPAPER_ENTRY(Blank),
+ WALLPAPER_ENTRY(Circles),
+ WALLPAPER_ENTRY(Azumarill),
+ WALLPAPER_ENTRY(Pikachu),
+ WALLPAPER_ENTRY(Legendary),
+ WALLPAPER_ENTRY(Dusclops),
+ WALLPAPER_ENTRY(Ludicolo),
+ WALLPAPER_ENTRY(Whiscash),
+};
+
+static const u32 *const gFriendsIcons[] =
+{
+ gWallpaperIcon_Aqua,
+ gWallpaperIcon_Heart,
+ gWallpaperIcon_FiveStar,
+ gWallpaperIcon_Brick,
+ gWallpaperIcon_FourStar,
+ gWallpaperIcon_Asterisk,
+ gWallpaperIcon_Dot,
+ gWallpaperIcon_Cross,
+ gWallpaperIcon_LineCircle,
+ gWallpaperIcon_PokeBall,
+ gWallpaperIcon_Maze,
+ gWallpaperIcon_Footprint,
+ gWallpaperIcon_BigAsterisk,
+ gWallpaperIcon_Circle,
+ gWallpaperIcon_Koffing,
+ gWallpaperIcon_Ribbon,
+ gWallpaperIcon_Bolt,
+ gWallpaperIcon_FourCircles,
+ gWallpaperIcon_Lotad,
+ gWallpaperIcon_Crystal,
+ gWallpaperIcon_Pichu,
+ gWallpaperIcon_Diglett,
+ gWallpaperIcon_Luvdisc,
+ gWallpaperIcon_StarInCircle,
+ gWallpaperIcon_Spinda,
+ gWallpaperIcon_Latis,
+ gWallpaperIcon_Plusle,
+ gWallpaperIcon_Minun,
+ gWallpaperIcon_Togepi,
+ gWallpaperIcon_Magma,
+};
+
+// Unknown Unused data.
+static const u16 gUnknown_0857B07C = 0x23BA;
-const u16 gBoxSelectionPopupPalette[] = INCBIN_U16("graphics/unknown/unknown_57173C.gbapal");
-const u8 gBoxSelectionPopupCenterTiles[] = INCBIN_U8("graphics/pokemon_storage/box_selection_popup_center.4bpp");
-const u8 gBoxSelectionPopupSidesTiles[] = INCBIN_U8("graphics/pokemon_storage/box_selection_popup_sides.4bpp");
+static const struct SpriteSheet gUnknown_0857B080 = {gPCGfx_Arrow, 0x80, 6};
+
+static const struct OamData gOamData_83BB298 =
+{
+ .shape = ST_OAM_H_RECTANGLE,
+ .size = 2,
+ .priority = 2
+};
+
+static const union AnimCmd gSpriteAnim_83BB2A0[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END
+};
+
+static const union AnimCmd gSpriteAnim_83BB2A8[] =
+{
+ ANIMCMD_FRAME(8, 5),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const gSpriteAnimTable_83BB2B0[] =
+{
+ gSpriteAnim_83BB2A0,
+ gSpriteAnim_83BB2A8
+};
+
+static const struct SpriteTemplate gSpriteTemplate_857B0A8 =
+{
+ TAG_TILE_3,
+ TAG_PAL_DAC9,
+ &gOamData_83BB298,
+ gSpriteAnimTable_83BB2B0,
+ NULL,
+ gDummySpriteAffineAnimTable,
+ SpriteCallbackDummy
+};
+
+static const struct OamData gOamData_83BB2D0 =
+{
+ .shape = ST_OAM_V_RECTANGLE,
+ .priority = 2
+};
+
+static const union AnimCmd gSpriteAnim_83BB2D8[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END
+};
+
+static const union AnimCmd gSpriteAnim_83BB2E0[] =
+{
+ ANIMCMD_FRAME(2, 5),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const gSpriteAnimTable_83BB2E8[] =
+{
+ gSpriteAnim_83BB2D8,
+ gSpriteAnim_83BB2E0
+};
+
+static const struct SpriteTemplate gUnknown_0857B0E0 =
+{
+ 6,
+ TAG_PAL_WAVEFORM,
+ &gOamData_83BB2D0,
+ gSpriteAnimTable_83BB2E8,
+ NULL,
+ gDummySpriteAffineAnimTable,
+ sub_80CD210
+};
+
+static const u16 gHandCursorPalette[] = INCBIN_U16("graphics/pokemon_storage/hand_cursor.gbapal");
+static const u8 gHandCursorTiles[] = INCBIN_U8("graphics/pokemon_storage/hand_cursor.4bpp");
+static const u8 gHandCursorShadowTiles[] = INCBIN_U8("graphics/pokemon_storage/hand_cursor_shadow.4bpp");
// code
u8 CountMonsInBox(u8 boxId)
@@ -117,7 +1549,7 @@ u8 CountMonsInBox(u8 boxId)
for (i = 0, count = 0; i < IN_BOX_COUNT; i++)
{
- if (GetBoxMonDataFromAnyBox(boxId, i, MON_DATA_SPECIES) != SPECIES_NONE)
+ if (GetBoxMonDataAt(boxId, i, MON_DATA_SPECIES) != SPECIES_NONE)
count++;
}
@@ -130,7 +1562,7 @@ s16 GetFirstFreeBoxSpot(u8 boxId)
for (i = 0; i < IN_BOX_COUNT; i++)
{
- if (GetBoxMonDataFromAnyBox(boxId, i, MON_DATA_SPECIES) == SPECIES_NONE)
+ if (GetBoxMonDataAt(boxId, i, MON_DATA_SPECIES) == SPECIES_NONE)
return i;
}
@@ -191,7 +1623,7 @@ u8 CountPartyMons(void)
return count;
}
-static u8 *StringCopyAndFillWithSpaces(u8 *dst, const u8 *src, u16 n)
+u8 *StringCopyAndFillWithSpaces(u8 *dst, const u8 *src, u16 n)
{
u8 *str;
@@ -217,28 +1649,7 @@ static void sub_80C7128(u16 *dest, u16 dest_left, u16 dest_top, const u16 *src,
}
}
-#define MAX_DMA_BLOCK_SIZE 0x1000
-#define Dma3FillLarge_(value, dest, size, bit) \
-{ \
- void *_dest = dest; \
- u32 _size = size; \
- while (1) \
- { \
- if (_size <= MAX_DMA_BLOCK_SIZE) \
- { \
- DmaFill##bit(3, value, _dest, _size); \
- break; \
- } \
- DmaFill##bit(3, value, _dest, MAX_DMA_BLOCK_SIZE); \
- _dest += MAX_DMA_BLOCK_SIZE; \
- _size -= MAX_DMA_BLOCK_SIZE; \
- } \
-}
-
-#define Dma3FillLarge16_(value, dest, size) Dma3FillLarge_(value, dest, size, 16)
-#define Dma3FillLarge32_(value, dest, size) Dma3FillLarge_(value, dest, size, 32)
-
-void sub_80C71A4(u16 *dest, u16 dest_left, u16 dest_top, u16 width, u16 height)
+static void sub_80C71A4(u16 *dest, u16 dest_left, u16 dest_top, u16 width, u16 height)
{
u16 i;
@@ -248,13 +1659,14 @@ void sub_80C71A4(u16 *dest, u16 dest_left, u16 dest_top, u16 width, u16 height)
Dma3FillLarge16_(0, dest, width);
}
-void Task_PokemonStorageSystem(u8 taskId)
+static void Task_PokemonStorageSystemPC(u8 taskId)
{
- struct Task *task = gTasks + taskId;
+ struct Task *task = &gTasks[taskId];
+
switch (task->data[0])
{
case 0:
- StorageSystemCreatePrimaryMenu(task->data[1], &task->data[15]);
+ CreatePCMenu(task->data[1], &task->data[15]);
sub_81973A4();
NewMenuHelpers_DrawDialogueFrame(0, 0);
FillWindowPixelBuffer(0, 0x11);
@@ -327,8 +1739,8 @@ void Task_PokemonStorageSystem(u8 taskId)
{
if (--task->data[1] < 0)
task->data[1] = 4;
- MoveMenuCursor(-1);
- task->data[1] = GetMenuCursorPos();
+ Menu_MoveCursor(-1);
+ task->data[1] = Menu_GetCursorPos();
FillWindowPixelBuffer(0, 0x11);
AddTextPrinterParameterized2(0, 1, gUnknown_085716C0[task->data[1]].desc, 0, NULL, 2, 1, 3);
task->data[0] = 2;
@@ -337,8 +1749,8 @@ void Task_PokemonStorageSystem(u8 taskId)
{
if (++task->data[1] > 3)
task->data[1] = 0;
- MoveMenuCursor(1);
- task->data[1] = GetMenuCursorPos();
+ Menu_MoveCursor(1);
+ task->data[1] = Menu_GetCursorPos();
FillWindowPixelBuffer(0, 0x11);
AddTextPrinterParameterized2(0, 1, gUnknown_085716C0[task->data[1]].desc, 0, NULL, 2, 1, 3);
task->data[0] = 2;
@@ -348,7 +1760,7 @@ void Task_PokemonStorageSystem(u8 taskId)
if (!gPaletteFade.active)
{
overworld_free_bg_tilemaps();
- sub_80C7D74(task->data[2]);
+ Cb2_EnterPSS(task->data[2]);
RemoveWindow(task->data[15]);
DestroyTask(taskId);
}
@@ -356,29 +1768,29 @@ void Task_PokemonStorageSystem(u8 taskId)
}
}
-void ShowPokemonStorageSystem(void)
+void ShowPokemonStorageSystemPC(void)
{
- u8 taskId = CreateTask(Task_PokemonStorageSystem, 80);
+ u8 taskId = CreateTask(Task_PokemonStorageSystemPC, 80);
gTasks[taskId].data[0] = 0;
gTasks[taskId].data[1] = 0;
ScriptContext2_Enable();
}
-void mapldr_0808C6D8(void)
+static void FieldCb_ReturnToPcMenu(void)
{
u8 taskId;
MainCallback vblankCb = gMain.vblankCallback;
SetVBlankCallback(NULL);
- taskId = CreateTask(Task_PokemonStorageSystem, 80);
+ taskId = CreateTask(Task_PokemonStorageSystemPC, 80);
gTasks[taskId].data[0] = 0;
- gTasks[taskId].data[1] = gUnknown_02039D00;
- Task_PokemonStorageSystem(taskId);
+ gTasks[taskId].data[1] = sPreviousBoxOption;
+ Task_PokemonStorageSystemPC(taskId);
SetVBlankCallback(vblankCb);
pal_fill_black();
}
-void StorageSystemCreatePrimaryMenu(u8 whichMenu, s16 *windowIdPtr)
+static void CreatePCMenu(u8 whichMenu, s16 *windowIdPtr)
{
s16 windowId;
struct WindowTemplate winTemplate = gUnknown_085716E8;
@@ -391,14 +1803,14 @@ void StorageSystemCreatePrimaryMenu(u8 whichMenu, s16 *windowIdPtr)
*windowIdPtr = windowId;
}
-void sub_80C7678(void)
+static void Cb2_ExitPSS(void)
{
- gUnknown_02039D00 = sub_80CAEA0();
- gFieldCallback = mapldr_0808C6D8;
+ sPreviousBoxOption = GetCurrentBoxOption();
+ gFieldCallback = FieldCb_ReturnToPcMenu;
SetMainCallback2(CB2_ReturnToField);
}
-s16 StorageSystemGetNextMonIndex(struct BoxPokemon *box, s8 startIdx, u8 stopIdx, u8 mode)
+static s16 StorageSystemGetNextMonIndex(struct BoxPokemon *box, s8 startIdx, u8 stopIdx, u8 mode)
{
s16 i;
s16 direction;
@@ -431,14 +1843,13 @@ s16 StorageSystemGetNextMonIndex(struct BoxPokemon *box, s8 startIdx, u8 stopIdx
void ResetPokemonStorageSystem(void)
{
- u16 boxId;
- u16 boxMon;
+ u16 boxId, boxPosition;
SetCurrentBox(0);
for (boxId = 0; boxId < TOTAL_BOXES_COUNT; boxId++)
{
- for (boxMon = 0; boxMon < IN_BOX_COUNT; boxMon++)
- ClearMonInBox(boxId, boxMon);
+ for (boxPosition = 0; boxPosition < IN_BOX_COUNT; boxPosition++)
+ ZeroBoxMonAt(boxId, boxPosition);
}
for (boxId = 0; boxId < TOTAL_BOXES_COUNT; boxId++)
{
@@ -452,7 +1863,7 @@ void ResetPokemonStorageSystem(void)
ResetWaldaWallpaper();
}
-void sub_80C77E8(struct UnkPSSStruct_2002370 *a0, u16 tileTag, u16 palTag, u8 a3, bool32 loadPal)
+static void sub_80C77E8(struct UnkPSSStruct_2002370 *a0, u16 tileTag, u16 palTag, u8 a3, bool32 loadPal)
{
struct SpritePalette palette =
{
@@ -476,7 +1887,7 @@ void sub_80C77E8(struct UnkPSSStruct_2002370 *a0, u16 tileTag, u16 palTag, u8 a3
a0->unk_023c = loadPal;
}
-void sub_80C7890(void)
+static void sub_80C7890(void)
{
if (gUnknown_02039D04->unk_023c)
FreeSpritePaletteByTag(gUnknown_02039D04->unk_0242);
@@ -484,17 +1895,17 @@ void sub_80C7890(void)
FreeSpriteTilesByTag(gUnknown_02039D04->unk_0240 + 1);
}
-void sub_80C78D4(u8 curBox)
+static void sub_80C78D4(u8 curBox)
{
sub_80C7958(curBox);
}
-void sub_80C78E4(void)
+static void sub_80C78E4(void)
{
sub_80C7B14();
}
-u8 sub_80C78F0(void)
+static u8 HandleBoxChooseSelectionInput(void)
{
if (gMain.newKeys & B_BUTTON)
{
@@ -519,7 +1930,7 @@ u8 sub_80C78F0(void)
return 200;
}
-void sub_80C7958(u8 curBox)
+static void sub_80C7958(u8 curBox)
{
u16 i;
u8 spriteId;
@@ -535,7 +1946,7 @@ void sub_80C7958(u8 curBox)
template.tileTag = gUnknown_02039D04->unk_0240;
template.paletteTag = gUnknown_02039D04->unk_0242;
- spriteId = CreateSprite(&template, 0xA0, 0x60, 0);
+ spriteId = CreateSprite(&template, 160, 96, 0);
gUnknown_02039D04->unk_0000 = gSprites + spriteId;
oamData.shape = ST_OAM_V_RECTANGLE;
@@ -545,17 +1956,17 @@ void sub_80C7958(u8 curBox)
for (i = 0; i < 4; i++)
{
u16 r5;
- spriteId = CreateSprite(&template, 0x7c, 0x50, gUnknown_02039D04->unk_0246);
+ spriteId = CreateSprite(&template, 124, 80, gUnknown_02039D04->unk_0246);
gUnknown_02039D04->unk_0004[i] = gSprites + spriteId;
r5 = 0;
if (i & 2)
{
- gUnknown_02039D04->unk_0004[i]->pos1.x = 0xc4;
+ gUnknown_02039D04->unk_0004[i]->pos1.x = 196;
r5 = 2;
}
if (i & 1)
{
- gUnknown_02039D04->unk_0004[i]->pos1.y = 0x70;
+ gUnknown_02039D04->unk_0004[i]->pos1.y = 112;
gUnknown_02039D04->unk_0004[i]->oam.size = 0;
r5++;
}
@@ -573,7 +1984,7 @@ void sub_80C7958(u8 curBox)
sub_80C7BE4();
}
-void sub_80C7B14(void)
+static void sub_80C7B14(void)
{
u16 i;
if (gUnknown_02039D04->unk_0000)
@@ -596,20 +2007,20 @@ void sub_80C7B14(void)
}
}
-void sub_80C7B80(void)
+static void sub_80C7B80(void)
{
if (++gUnknown_02039D04->curBox >= TOTAL_BOXES_COUNT)
gUnknown_02039D04->curBox = 0;
sub_80C7BE4();
}
-void sub_80C7BB4(void)
+static void sub_80C7BB4(void)
{
gUnknown_02039D04->curBox = (gUnknown_02039D04->curBox == 0 ? TOTAL_BOXES_COUNT - 1 : gUnknown_02039D04->curBox - 1);
sub_80C7BE4();
}
-void sub_80C7BE4(void)
+static void sub_80C7BE4(void)
{
u8 text[16];
struct WindowTemplate winTemplate;
@@ -626,13 +2037,13 @@ void sub_80C7BE4(void)
windowId = AddWindow(&winTemplate);
FillWindowPixelBuffer(windowId, 0x44);
- center = GetStringCenterAlignXOffset(1, boxName, 0x40);
+ center = GetStringCenterAlignXOffset(1, boxName, 64);
AddTextPrinterParameterized3(windowId, 1, center, 1, gUnknown_08571734, TEXT_SPEED_FF, boxName);
ConvertIntToDecimalStringN(text, nPokemonInBox, 1, 2);
StringAppend(text, gUnknown_08571737);
- center = GetStringCenterAlignXOffset(1, text, 0x40);
- AddTextPrinterParameterized3(windowId, 1, center, 0x11, gUnknown_08571734, TEXT_SPEED_FF, text);
+ center = GetStringCenterAlignXOffset(1, text, 64);
+ AddTextPrinterParameterized3(windowId, 1, center, 17, gUnknown_08571734, TEXT_SPEED_FF, text);
winTileData = GetWindowAttribute(windowId, WINDOW_TILE_DATA);
CpuCopy32((void *)winTileData, (void *)OBJ_VRAM0 + 0x100 + (GetSpriteTileStartByTag(gUnknown_02039D04->unk_0240) * 32), 0x400);
@@ -640,7 +2051,7 @@ void sub_80C7BE4(void)
RemoveWindow(windowId);
}
-void sub_80C7CF4(struct Sprite *sprite)
+static void sub_80C7CF4(struct Sprite *sprite)
{
if (++sprite->data[1] > 3)
{
@@ -654,21 +2065,8587 @@ void sub_80C7CF4(struct Sprite *sprite)
}
}
-void sub_80C7D28(void)
+static void VblankCb_PSS(void)
{
LoadOam();
ProcessSpriteCopyRequests();
sub_80D2AA4();
TransferPlttBuffer();
- SetGpuReg(REG_OFFSET_BG2HOFS, gUnknown_02039D08->bg2_X);
+ SetGpuReg(REG_OFFSET_BG2HOFS, sPSSData->bg2_X);
}
-void c2_Box(void)
+static void Cb2_PSS(void)
{
RunTasks();
do_scheduled_bg_tilemap_copies_to_vram();
- sub_80CA028();
+ ScrollBackground();
sub_80CAA14();
AnimateSprites();
BuildOamBuffer();
}
+
+static void Cb2_EnterPSS(u8 boxOption)
+{
+ ResetTasks();
+ sCurrentBoxOption = boxOption;
+ sPSSData = Alloc(sizeof(*sPSSData));
+ if (sPSSData == NULL)
+ {
+ SetMainCallback2(Cb2_ExitPSS);
+ }
+ else
+ {
+ sPSSData->boxOption = boxOption;
+ sPSSData->isReshowingPSS = FALSE;
+ gUnknown_02039D12 = 0;
+ sPSSData->state = 0;
+ sPSSData->taskId = CreateTask(Cb_InitPSS, 3);
+ gUnknown_02039D10 = StorageGetCurrentBox();
+ SetMainCallback2(Cb2_PSS);
+ }
+}
+
+static void Cb2_ReturnToPSS(void)
+{
+ ResetTasks();
+ sPSSData = Alloc(sizeof(*sPSSData));
+ if (sPSSData == NULL)
+ {
+ SetMainCallback2(Cb2_ExitPSS);
+ }
+ else
+ {
+ sPSSData->boxOption = sCurrentBoxOption;
+ sPSSData->isReshowingPSS = TRUE;
+ sPSSData->state = 0;
+ sPSSData->taskId = CreateTask(Cb_InitPSS, 3);
+ SetMainCallback2(Cb2_PSS);
+ }
+}
+
+static void ResetAllBgCoords(void)
+{
+ SetGpuReg(REG_OFFSET_BG0HOFS, 0);
+ SetGpuReg(REG_OFFSET_BG0VOFS, 0);
+ SetGpuReg(REG_OFFSET_BG1HOFS, 0);
+ SetGpuReg(REG_OFFSET_BG1VOFS, 0);
+ SetGpuReg(REG_OFFSET_BG2HOFS, 0);
+ SetGpuReg(REG_OFFSET_BG2VOFS, 0);
+ SetGpuReg(REG_OFFSET_BG3HOFS, 0);
+ SetGpuReg(REG_OFFSET_BG3VOFS, 0);
+}
+
+static void sub_80C7E98(void)
+{
+ ResetPaletteFade();
+ ResetSpriteData();
+ FreeSpriteTileRanges();
+ FreeAllSpritePalettes();
+ ClearDma3Requests();
+ gReservedSpriteTileCount = 0x280;
+ sub_80D2A90(&sPSSData->unk_0020, sPSSData->unk_0028, 8);
+ gKeyRepeatStartDelay = 20;
+ clear_scheduled_bg_copies_to_vram();
+ sub_80D259C(3);
+ sub_80D2644(0, 1, gUnknown_0857239C, 8, 4);
+ sub_80D2770(0, 1, 0);
+ sPSSData->unk_02C7 = 0;
+}
+
+static void sub_80C7F1C(void)
+{
+ sub_80CDC0C();
+ sInPartyMenu = (sPSSData->boxOption == BOX_OPTION_DEPOSIT);
+ gUnknown_02039D0E = 0;
+}
+
+static void sub_80C7F4C(void)
+{
+ if (sPSSData->boxOption == BOX_OPTION_MOVE_ITEMS)
+ {
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(7, 11));
+ }
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_1D_MAP);
+}
+
+static void SetPSSCallback(TaskFunc newFunc)
+{
+ gTasks[sPSSData->taskId].func = newFunc;
+ sPSSData->state = 0;
+}
+
+static void Cb_InitPSS(u8 taskId)
+{
+ switch (sPSSData->state)
+ {
+ case 0:
+ SetVBlankCallback(NULL);
+ SetGpuReg(REG_OFFSET_DISPCNT, 0);
+ sub_80C7E98();
+ if (sPSSData->isReshowingPSS)
+ {
+ switch (sWhichToReshow)
+ {
+ case 1:
+ sub_80CE790();
+ break;
+ case 0:
+ sub_80CE8E4();
+ break;
+ case 2:
+ GiveChosenBagItem();
+ break;
+ }
+ }
+ LoadPSSMenuGfx();
+ LoadWaveformSpritePalette();
+ break;
+ case 1:
+ if (!InitPSSWindows())
+ {
+ SetPSSCallback(Cb_ChangeScreen);
+ return;
+ }
+ break;
+ case 2:
+ PutWindowTilemap(0);
+ ClearWindowTilemap(1);
+ CpuFill32(0, (void *)VRAM, 0x200);
+ LoadUserWindowBorderGfx(1, 0xB, 0xE0);
+ break;
+ case 3:
+ ResetAllBgCoords();
+ if (!sPSSData->isReshowingPSS)
+ sub_80C7F1C();
+ break;
+ case 4:
+ sub_80CAF04();
+ if (!sPSSData->isReshowingPSS)
+ sub_80CD36C();
+ else
+ sub_80CD3EC();
+ break;
+ case 5:
+ if (!sub_80D0164())
+ {
+ SetPSSCallback(Cb_ChangeScreen);
+ return;
+ }
+ else
+ {
+ SetScrollingBackground();
+ sub_80CAC1C();
+ }
+ break;
+ case 6:
+ sub_80CA0D8();
+ break;
+ case 7:
+ sub_80CA704();
+ break;
+ case 8:
+ sub_80CC32C(StorageGetCurrentBox());
+ break;
+ case 9:
+ if (sub_80CC35C())
+ return;
+
+ if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
+ {
+ sPSSData->field_DA4.baseTileTag = TAG_TILE_D;
+ sPSSData->field_DA4.basePaletteTag = TAG_PAL_DACE;
+ sub_811F90C(&sPSSData->field_DA4);
+ sub_811FA90();
+ }
+ else
+ {
+ sub_80D0C60();
+ sub_80CAEAC();
+ }
+ break;
+ case 10:
+ sub_80C7F4C();
+ if (!sPSSData->isReshowingPSS)
+ {
+ BlendPalettes(0xFFFFFFFF, 0x10, RGB_BLACK);
+ SetPSSCallback(Cb_ShowPSS);
+ }
+ else
+ {
+ BlendPalettes(0xFFFFFFFF, 0x10, RGB_BLACK);
+ SetPSSCallback(Cb_ReshowPSS);
+ }
+ SetVBlankCallback(VblankCb_PSS);
+ return;
+ default:
+ return;
+ }
+
+ sPSSData->state++;
+}
+
+static void Cb_ShowPSS(u8 taskId)
+{
+ switch (sPSSData->state)
+ {
+ case 0:
+ PlaySE(SE_PC_LOGIN);
+ sub_80F9BCC(0x14, 0, 1);
+ sPSSData->state++;
+ break;
+ case 1:
+ if (!sub_80F9C1C())
+ SetPSSCallback(Cb_MainPSS);
+ break;
+ }
+}
+
+static void Cb_ReshowPSS(u8 taskId)
+{
+ switch (sPSSData->state)
+ {
+ case 0:
+ BeginNormalPaletteFade(0xFFFFFFFF, -1, 0x10, 0, RGB_BLACK);
+ sPSSData->state++;
+ break;
+ case 1:
+ if (!UpdatePaletteFade())
+ {
+ if (sWhichToReshow == 2 && gSpecialVar_ItemId != 0)
+ {
+ PrintStorageActionText(PC_TEXT_ITEM_IS_HELD);
+ sPSSData->state++;
+ }
+ else
+ {
+ SetPSSCallback(Cb_MainPSS);
+ }
+ }
+ break;
+ case 2:
+ if (!IsDma3ManagerBusyWithBgCopy() && gMain.newKeys & (A_BUTTON | B_BUTTON))
+ {
+ ClearBottomWindow();
+ sPSSData->state++;
+ }
+ break;
+ case 3:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ SetPSSCallback(Cb_MainPSS);
+ break;
+ }
+}
+
+static void Cb_MainPSS(u8 taskId)
+{
+ switch (sPSSData->state)
+ {
+ case 0:
+ switch (HandleInput())
+ {
+ case 1:
+ PlaySE(SE_SELECT);
+ sPSSData->state = 1;
+ break;
+ case 5:
+ if (sPSSData->boxOption != BOX_OPTION_MOVE_MONS && sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
+ {
+ PrintStorageActionText(PC_TEXT_WHICH_ONE_WILL_TAKE);
+ sPSSData->state = 3;
+ }
+ else
+ {
+ sub_80CDC0C();
+ SetPSSCallback(Cb_ShowPartyPokemon);
+ }
+ break;
+ case 6:
+ if (sPSSData->boxOption == BOX_OPTION_MOVE_MONS)
+ {
+ if (IsMonBeingMoved() && ItemIsMail(sPSSData->cursorMonItem))
+ sPSSData->state = 5;
+ else
+ SetPSSCallback(Cb_HidePartyPokemon);
+ }
+ else if (sPSSData->boxOption == BOX_OPTION_MOVE_ITEMS)
+ {
+ SetPSSCallback(Cb_HidePartyPokemon);
+ }
+ break;
+ case 4:
+ SetPSSCallback(Cb_OnCloseBoxPressed);
+ break;
+ case 19:
+ SetPSSCallback(Cb_OnBPressed);
+ break;
+ case 7:
+ PlaySE(SE_SELECT);
+ SetPSSCallback(Cb_HandleBoxOptions);
+ break;
+ case 8:
+ SetPSSCallback(Cb_OnSelectedMon);
+ break;
+ case 9:
+ PlaySE(SE_SELECT);
+ sPSSData->newCurrBoxId = StorageGetCurrentBox() + 1;
+ if (sPSSData->newCurrBoxId >= TOTAL_BOXES_COUNT)
+ sPSSData->newCurrBoxId = 0;
+ if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
+ {
+ SetUpScrollToBox(sPSSData->newCurrBoxId);
+ sPSSData->state = 2;
+ }
+ else
+ {
+ sub_80CFEA8();
+ sPSSData->state = 10;
+ }
+ break;
+ case 10:
+ PlaySE(SE_SELECT);
+ sPSSData->newCurrBoxId = StorageGetCurrentBox() - 1;
+ if (sPSSData->newCurrBoxId < 0)
+ sPSSData->newCurrBoxId = TOTAL_BOXES_COUNT - 1;
+ if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
+ {
+ SetUpScrollToBox(sPSSData->newCurrBoxId);
+ sPSSData->state = 2;
+ }
+ else
+ {
+ sub_80CFEA8();
+ sPSSData->state = 10;
+ }
+ break;
+ case 11:
+ if (!CanMovePartyMon())
+ {
+ if (ItemIsMail(sPSSData->cursorMonItem))
+ {
+ sPSSData->state = 5;
+ }
+ else
+ {
+ PlaySE(SE_SELECT);
+ SetPSSCallback(Cb_DepositMenu);
+ }
+ }
+ else
+ {
+ sPSSData->state = 4;
+ }
+ break;
+ case 13:
+ if (CanMovePartyMon())
+ {
+ sPSSData->state = 4;
+ }
+ else
+ {
+ PlaySE(SE_SELECT);
+ SetPSSCallback(Cb_MoveMon);
+ }
+ break;
+ case 14:
+ if (!CanShiftMon())
+ {
+ sPSSData->state = 4;
+ }
+ else
+ {
+ PlaySE(SE_SELECT);
+ SetPSSCallback(Cb_ShiftMon);
+ }
+ break;
+ case 12:
+ PlaySE(SE_SELECT);
+ SetPSSCallback(Cb_WithdrawMon);
+ break;
+ case 15:
+ PlaySE(SE_SELECT);
+ SetPSSCallback(Cb_PlaceMon);
+ break;
+ case 16:
+ PlaySE(SE_SELECT);
+ SetPSSCallback(Cb_TakeItemForMoving);
+ break;
+ case 17:
+ PlaySE(SE_SELECT);
+ SetPSSCallback(Cb_GiveMovingItemToMon);
+ break;
+ case 18:
+ PlaySE(SE_SELECT);
+ SetPSSCallback(Cb_SwitchSelectedItem);
+ break;
+ case 20:
+ PlaySE(SE_SELECT);
+ sub_80D01D0(0);
+ sPSSData->state = 7;
+ break;
+ case 22:
+ sub_80D01D0(1);
+ sPSSData->state = 8;
+ break;
+ case 21:
+ PlaySE(SE_SELECT);
+ sub_80D01D0(2);
+ sPSSData->state = 9;
+ break;
+ case 23:
+ sub_80D01D0(3);
+ sPSSData->state = 7;
+ break;
+ case 25:
+ PlaySE(SE_SELECT);
+ sub_80D01D0(4);
+ sPSSData->state = 9;
+ break;
+ case 26:
+ PlaySE(SE_SELECT);
+ sub_80D01D0(5);
+ sPSSData->state = 7;
+ break;
+ case 24:
+ PlaySE(SE_HAZURE);
+ break;
+ }
+ break;
+ case 1:
+ if (!sub_80CD554())
+ {
+ if (IsCursorOnCloseBox())
+ sub_80CA9C0();
+ else
+ sub_80CA9EC();
+
+ if (sPSSData->setMosaic)
+ BoxSetMosaic();
+ sPSSData->state = 0;
+ }
+ break;
+ case 2:
+ if (!ScrollToBox())
+ {
+ SetCurrentBox(sPSSData->newCurrBoxId);
+ if (!sInPartyMenu && !IsMonBeingMoved())
+ {
+ sub_80CE00C();
+ BoxSetMosaic();
+ }
+
+ if (sPSSData->boxOption == BOX_OPTION_MOVE_ITEMS)
+ {
+ sub_80CFECC();
+ sPSSData->state = 11;
+ }
+ else
+ {
+ sPSSData->state = 0;
+ }
+ }
+ break;
+ case 3:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY))
+ {
+ ClearBottomWindow();
+ sPSSData->state = 0;
+ }
+ break;
+ case 4:
+ PlaySE(SE_HAZURE);
+ PrintStorageActionText(PC_TEXT_LAST_POKE);
+ sPSSData->state = 6;
+ break;
+ case 5:
+ PlaySE(SE_HAZURE);
+ PrintStorageActionText(PC_TEXT_PLEASE_REMOVE_MAIL);
+ sPSSData->state = 6;
+ break;
+ case 6:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY))
+ {
+ ClearBottomWindow();
+ SetPSSCallback(Cb_MainPSS);
+ }
+ break;
+ case 7:
+ if (!sub_80D01E4())
+ sPSSData->state = 0;
+ break;
+ case 8:
+ if (!sub_80D01E4())
+ SetPSSCallback(Cb_MoveMon);
+ break;
+ case 9:
+ if (!sub_80D01E4())
+ {
+ if (sPSSData->setMosaic)
+ BoxSetMosaic();
+ sPSSData->state = 0;
+ }
+ break;
+ case 10:
+ if (!sub_80D1218())
+ {
+ SetUpScrollToBox(sPSSData->newCurrBoxId);
+ sPSSData->state = 2;
+ }
+ break;
+ case 11:
+ if (!sub_80D1218())
+ sPSSData->state = 0;
+ break;
+ }
+}
+
+static void Cb_ShowPartyPokemon(u8 taskId)
+{
+ switch (sPSSData->state)
+ {
+ case 0:
+ SetUpDoShowPartyMenu();
+ sPSSData->state++;
+ break;
+ case 1:
+ if (!DoShowPartyMenu())
+ SetPSSCallback(Cb_MainPSS);
+ break;
+ }
+}
+
+static void Cb_HidePartyPokemon(u8 taskId)
+{
+ switch (sPSSData->state)
+ {
+ case 0:
+ PlaySE(SE_SELECT);
+ SetUpHidePartyMenu();
+ sPSSData->state++;
+ break;
+ case 1:
+ if (!HidePartyMenu())
+ {
+ sub_80CDBF8(sub_80CDC2C());
+ sPSSData->state++;
+ }
+ break;
+ case 2:
+ if (!sub_80CD554())
+ {
+ if (sPSSData->setMosaic)
+ BoxSetMosaic();
+ SetPSSCallback(Cb_MainPSS);
+ }
+ break;
+ }
+}
+
+static void Cb_OnSelectedMon(u8 taskId)
+{
+ switch (sPSSData->state)
+ {
+ case 0:
+ if (!sub_80CA2B8())
+ {
+ PlaySE(SE_SELECT);
+ if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
+ PrintStorageActionText(PC_TEXT_IS_SELECTED);
+ else if (IsActiveItemMoving() || sPSSData->cursorMonItem != 0)
+ PrintStorageActionText(PC_TEXT_IS_SELECTED2);
+ else
+ PrintStorageActionText(PC_TEXT_GIVE_TO_MON);
+
+ AddMenu();
+ sPSSData->state = 1;
+ }
+ break;
+ case 1: // debug?
+ if (!sub_80D00A8())
+ sPSSData->state = 2;
+ break;
+ case 2:
+ switch (sub_80D00AC())
+ {
+ case -1:
+ case 0:
+ ClearBottomWindow();
+ SetPSSCallback(Cb_MainPSS);
+ break;
+ case 3:
+ if (CanMovePartyMon())
+ {
+ sPSSData->state = 3;
+ }
+ else
+ {
+ PlaySE(SE_SELECT);
+ ClearBottomWindow();
+ SetPSSCallback(Cb_MoveMon);
+ }
+ break;
+ case 5:
+ PlaySE(SE_SELECT);
+ ClearBottomWindow();
+ SetPSSCallback(Cb_PlaceMon);
+ break;
+ case 4:
+ if (!CanShiftMon())
+ {
+ sPSSData->state = 3;
+ }
+ else
+ {
+ PlaySE(SE_SELECT);
+ ClearBottomWindow();
+ SetPSSCallback(Cb_ShiftMon);
+ }
+ break;
+ case 2:
+ PlaySE(SE_SELECT);
+ ClearBottomWindow();
+ SetPSSCallback(Cb_WithdrawMon);
+ break;
+ case 1:
+ if (CanMovePartyMon())
+ {
+ sPSSData->state = 3;
+ }
+ else if (ItemIsMail(sPSSData->cursorMonItem))
+ {
+ sPSSData->state = 4;
+ }
+ else
+ {
+ PlaySE(SE_SELECT);
+ ClearBottomWindow();
+ SetPSSCallback(Cb_DepositMenu);
+ }
+ break;
+ case 7:
+ if (CanMovePartyMon())
+ {
+ sPSSData->state = 3;
+ }
+ else if (sPSSData->cursorMonIsEgg)
+ {
+ sPSSData->state = 5; // Cannot release an Egg.
+ }
+ else if (ItemIsMail(sPSSData->cursorMonItem))
+ {
+ sPSSData->state = 4;
+ }
+ else
+ {
+ PlaySE(SE_SELECT);
+ SetPSSCallback(Cb_ReleaseMon);
+ }
+ break;
+ case 6:
+ PlaySE(SE_SELECT);
+ SetPSSCallback(Cb_ShowMonSummary);
+ break;
+ case 8:
+ PlaySE(SE_SELECT);
+ SetPSSCallback(Cb_ShowMarkMenu);
+ break;
+ case 12:
+ PlaySE(SE_SELECT);
+ SetPSSCallback(Cb_TakeItemForMoving);
+ break;
+ case 13:
+ PlaySE(SE_SELECT);
+ SetPSSCallback(Cb_GiveMovingItemToMon);
+ break;
+ case 16:
+ SetPSSCallback(Cb_ItemToBag);
+ break;
+ case 15:
+ PlaySE(SE_SELECT);
+ SetPSSCallback(Cb_SwitchSelectedItem);
+ break;
+ case 14:
+ PlaySE(SE_SELECT);
+ SetPSSCallback(Cb_GiveItemFromBag);
+ break;
+ case 17:
+ SetPSSCallback(Cb_ShowItemInfo);
+ break;
+ }
+ break;
+ case 3:
+ PlaySE(SE_HAZURE);
+ PrintStorageActionText(PC_TEXT_LAST_POKE);
+ sPSSData->state = 6;
+ break;
+ case 5:
+ PlaySE(SE_HAZURE);
+ PrintStorageActionText(PC_TEXT_CANT_RELEASE_EGG);
+ sPSSData->state = 6;
+ break;
+ case 4:
+ PlaySE(SE_HAZURE);
+ PrintStorageActionText(PC_TEXT_PLEASE_REMOVE_MAIL);
+ sPSSData->state = 6;
+ break;
+ case 6:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY))
+ {
+ ClearBottomWindow();
+ SetPSSCallback(Cb_MainPSS);
+ }
+ break;
+ }
+}
+
+static void Cb_MoveMon(u8 taskId)
+{
+ switch (sPSSData->state)
+ {
+ case 0:
+ InitMonPlaceChange(0);
+ sPSSData->state++;
+ break;
+ case 1:
+ if (!DoMonPlaceChange())
+ {
+ if (sInPartyMenu)
+ SetPSSCallback(Cb_HandleMovingMonFromParty);
+ else
+ SetPSSCallback(Cb_MainPSS);
+ }
+ break;
+ }
+}
+
+static void Cb_PlaceMon(u8 taskId)
+{
+ switch (sPSSData->state)
+ {
+ case 0:
+ InitMonPlaceChange(1);
+ sPSSData->state++;
+ break;
+ case 1:
+ if (!DoMonPlaceChange())
+ {
+ if (sInPartyMenu)
+ SetPSSCallback(Cb_HandleMovingMonFromParty);
+ else
+ SetPSSCallback(Cb_MainPSS);
+ }
+ break;
+ }
+}
+
+static void Cb_ShiftMon(u8 taskId)
+{
+ switch (sPSSData->state)
+ {
+ case 0:
+ InitMonPlaceChange(2);
+ sPSSData->state++;
+ break;
+ case 1:
+ if (!DoMonPlaceChange())
+ {
+ BoxSetMosaic();
+ SetPSSCallback(Cb_MainPSS);
+ }
+ break;
+ }
+}
+
+static void Cb_WithdrawMon(u8 taskId)
+{
+ switch (sPSSData->state)
+ {
+ case 0:
+ if (CalculatePlayerPartyCount() == PARTY_SIZE)
+ {
+ PrintStorageActionText(PC_TEXT_PARTY_FULL);
+ sPSSData->state = 1;
+ }
+ else
+ {
+ sub_80CDC18();
+ InitMonPlaceChange(0);
+ sPSSData->state = 2;
+ }
+ break;
+ case 1:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY))
+ {
+ ClearBottomWindow();
+ SetPSSCallback(Cb_MainPSS);
+ }
+ break;
+ case 2:
+ if (!DoMonPlaceChange())
+ {
+ SetMovingMonPriority(1);
+ SetUpDoShowPartyMenu();
+ sPSSData->state++;
+ }
+ break;
+ case 3:
+ if (!DoShowPartyMenu())
+ {
+ InitMonPlaceChange(1);
+ sPSSData->state++;
+ }
+ break;
+ case 4:
+ if (!DoMonPlaceChange())
+ {
+ sub_80CAB20();
+ sPSSData->state++;
+ }
+ break;
+ case 5:
+ SetPSSCallback(Cb_HidePartyPokemon);
+ break;
+ }
+}
+
+static void Cb_DepositMenu(u8 taskId)
+{
+ u8 boxId;
+
+ switch (sPSSData->state)
+ {
+ case 0:
+ PrintStorageActionText(PC_TEXT_DEPOSIT_IN_WHICH_BOX);
+ sub_80C77E8(&sPSSData->field_1E5C, TAG_TILE_A, TAG_PAL_DAC7, 3, FALSE);
+ sub_80C78D4(gUnknown_02039D0E);
+ sPSSData->state++;
+ break;
+ case 1:
+ boxId = HandleBoxChooseSelectionInput();
+ if (boxId == 200)
+ {
+ // no box chosen yet
+ }
+ else if (boxId == 201)
+ {
+ ClearBottomWindow();
+ sub_80C78E4();
+ sub_80C7890();
+ SetPSSCallback(Cb_MainPSS);
+ }
+ else
+ {
+ if (TryStorePartyMonInBox(boxId))
+ {
+ gUnknown_02039D0E = boxId;
+ ClearBottomWindow();
+ sub_80C78E4();
+ sub_80C7890();
+ sPSSData->state = 2;
+ }
+ else
+ {
+ PrintStorageActionText(PC_TEXT_BOX_IS_FULL);
+ sPSSData->state = 4;
+ }
+ }
+ break;
+ case 2:
+ CompactPartySlots();
+ sub_80CB950();
+ sPSSData->state++;
+ break;
+ case 3:
+ if (!sub_80CB9BC())
+ {
+ sub_80CE22C();
+ BoxSetMosaic();
+ sub_80CAB20();
+ SetPSSCallback(Cb_MainPSS);
+ }
+ break;
+ case 4:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY))
+ {
+ PrintStorageActionText(PC_TEXT_DEPOSIT_IN_WHICH_BOX);
+ sPSSData->state = 1;
+ }
+ break;
+ }
+}
+
+static void Cb_ReleaseMon(u8 taskId)
+{
+ switch (sPSSData->state)
+ {
+ case 0:
+ PrintStorageActionText(PC_TEXT_RELEASE_POKE);
+ ShowYesNoWindow(1);
+ sPSSData->state++;
+ // fallthrough
+ case 1:
+ switch (Menu_ProcessInputNoWrapClearOnChoose())
+ {
+ case MENU_B_PRESSED:
+ case 1:
+ ClearBottomWindow();
+ SetPSSCallback(Cb_MainPSS);
+ break;
+ case 0:
+ ClearBottomWindow();
+ InitCanRelaseMonVars();
+ sub_80CE250();
+ sPSSData->state++;
+ break;
+ }
+ break;
+ case 2:
+ RunCanReleaseMon();
+ if (!sub_80CE2A8())
+ {
+ while (1)
+ {
+ s8 r0 = RunCanReleaseMon();
+ if (r0 == 1)
+ {
+ sPSSData->state++;
+ break;
+ }
+ else if (r0 == 0)
+ {
+ sPSSData->state = 8; // Can't release the mon.
+ break;
+ }
+ }
+ }
+ break;
+ case 3:
+ ReleaseMon();
+ RefreshCursorMonData();
+ PrintStorageActionText(PC_TEXT_WAS_RELEASED);
+ sPSSData->state++;
+ break;
+ case 4:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY))
+ {
+ PrintStorageActionText(PC_TEXT_BYE_BYE);
+ sPSSData->state++;
+ }
+ break;
+ case 5:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY))
+ {
+ ClearBottomWindow();
+ if (sInPartyMenu)
+ {
+ CompactPartySlots();
+ sub_80CB950();
+ sPSSData->state++;
+ }
+ else
+ {
+ sPSSData->state = 7;
+ }
+ }
+ break;
+ case 6:
+ if (!sub_80CB9BC())
+ {
+ sub_80CE00C();
+ BoxSetMosaic();
+ sub_80CAB20();
+ sPSSData->state++;
+ }
+ break;
+ case 7:
+ SetPSSCallback(Cb_MainPSS);
+ break;
+ case 8:
+ PrintStorageActionText(PC_TEXT_WAS_RELEASED);
+ sPSSData->state++;
+ break;
+ case 9:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY))
+ {
+ PrintStorageActionText(PC_TEXT_SURPRISE);
+ sPSSData->state++;
+ }
+ break;
+ case 10:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY))
+ {
+ ClearBottomWindow();
+ sub_80CC064();
+ sPSSData->state++;
+ }
+ break;
+ case 11:
+ if (!sub_80CC0A0())
+ {
+ sub_80CE324();
+ PrintStorageActionText(PC_TEXT_CAME_BACK);
+ sPSSData->state++;
+ }
+ break;
+ case 12:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY))
+ {
+ PrintStorageActionText(PC_TEXT_WORRIED);
+ sPSSData->state++;
+ }
+ break;
+ case 13:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY))
+ {
+ ClearBottomWindow();
+ SetPSSCallback(Cb_MainPSS);
+ }
+ break;
+ }
+}
+
+static void Cb_ShowMarkMenu(u8 taskId)
+{
+ switch (sPSSData->state)
+ {
+ case 0:
+ PrintStorageActionText(PC_TEXT_MARK_POKE);
+ sPSSData->field_DA4.markings = sPSSData->cursorMonMarkings;
+ sub_811FAA4(sPSSData->cursorMonMarkings, 0xb0, 0x10);
+ sPSSData->state++;
+ break;
+ case 1:
+ if (!sub_811FBA4())
+ {
+ sub_811FAF8();
+ ClearBottomWindow();
+ SetMonMarkings(sPSSData->field_DA4.markings);
+ RefreshCursorMonData();
+ SetPSSCallback(Cb_MainPSS);
+ }
+ break;
+ }
+}
+
+static void Cb_TakeItemForMoving(u8 taskId)
+{
+ switch (sPSSData->state)
+ {
+ case 0:
+ if (!ItemIsMail(sPSSData->cursorMonItem))
+ {
+ ClearBottomWindow();
+ sPSSData->state++;
+ }
+ else
+ {
+ SetPSSCallback(Cb_PrintCantStoreMail);
+ }
+ break;
+ case 1:
+ sub_80CFE54(2);
+ Item_FromMonToMoving((sInPartyMenu != FALSE) ? CURSOR_AREA_IN_PARTY : CURSOR_AREA_IN_BOX, GetBoxCursorPosition());
+ sPSSData->state++;
+ break;
+ case 2:
+ if (!sub_80D1218())
+ {
+ sub_80CFE54(3);
+ ClearBottomWindow();
+ sub_80CE00C();
+ PrintCursorMonInfo();
+ sPSSData->state++;
+ }
+ break;
+ case 3:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ SetPSSCallback(Cb_MainPSS);
+ break;
+ }
+}
+
+static void Cb_GiveMovingItemToMon(u8 taskId)
+{
+ switch (sPSSData->state)
+ {
+ case 0:
+ ClearBottomWindow();
+ sPSSData->state++;
+ break;
+ case 1:
+ sub_80CFE54(2);
+ Item_GiveMovingToMon((sInPartyMenu != FALSE) ? CURSOR_AREA_IN_PARTY : CURSOR_AREA_IN_BOX, GetBoxCursorPosition());
+ sPSSData->state++;
+ break;
+ case 2:
+ if (!sub_80D1218())
+ {
+ sub_80CFE54(0);
+ sub_80CE00C();
+ PrintCursorMonInfo();
+ PrintStorageActionText(PC_TEXT_ITEM_IS_HELD);
+ sPSSData->state++;
+ }
+ break;
+ case 3:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY))
+ {
+ ClearBottomWindow();
+ sPSSData->state++;
+ }
+ break;
+ case 4:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ SetPSSCallback(Cb_MainPSS);
+ break;
+ }
+}
+
+static void Cb_ItemToBag(u8 taskId)
+{
+ switch (sPSSData->state)
+ {
+ case 0:
+ if (!AddBagItem(sPSSData->cursorMonItem, 1))
+ {
+ PlaySE(SE_HAZURE);
+ PrintStorageActionText(PC_TEXT_BAG_FULL);
+ sPSSData->state = 3;
+ }
+ else
+ {
+ PlaySE(SE_SELECT);
+ Item_TakeMons((sInPartyMenu != FALSE) ? CURSOR_AREA_IN_PARTY : CURSOR_AREA_IN_BOX, GetBoxCursorPosition());
+ sPSSData->state = 1;
+ }
+ break;
+ case 1:
+ if (!sub_80D1218())
+ {
+ PrintStorageActionText(PC_TEXT_PLACED_IN_BAG);
+ sPSSData->state = 2;
+ }
+ break;
+ case 2:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY))
+ {
+ ClearBottomWindow();
+ sub_80CE00C();
+ PrintCursorMonInfo();
+ sPSSData->state = 4;
+ }
+ break;
+ case 4:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ SetPSSCallback(Cb_MainPSS);
+ break;
+ case 3:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY))
+ {
+ ClearBottomWindow();
+ SetPSSCallback(Cb_MainPSS);
+ }
+ break;
+ }
+}
+
+static void Cb_SwitchSelectedItem(u8 taskId)
+{
+ switch (sPSSData->state)
+ {
+ case 0:
+ if (!ItemIsMail(sPSSData->cursorMonItem))
+ {
+ ClearBottomWindow();
+ sPSSData->state++;
+ }
+ else
+ {
+ SetPSSCallback(Cb_PrintCantStoreMail);
+ }
+ break;
+ case 1:
+ sub_80CFE54(2);
+ Item_SwitchMonsWithMoving((sInPartyMenu != FALSE) ? CURSOR_AREA_IN_PARTY : CURSOR_AREA_IN_BOX, GetBoxCursorPosition());
+ sPSSData->state++;
+ break;
+ case 2:
+ if (!sub_80D1218())
+ {
+ sub_80CFE54(3);
+ sub_80CE00C();
+ PrintCursorMonInfo();
+ PrintStorageActionText(PC_TEXT_CHANGED_TO_ITEM);
+ sPSSData->state++;
+ }
+ break;
+ case 3:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY))
+ {
+ ClearBottomWindow();
+ sPSSData->state++;
+ }
+ break;
+ case 4:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ SetPSSCallback(Cb_MainPSS);
+ break;
+ }
+}
+
+static void Cb_ShowItemInfo(u8 taskId)
+{
+ switch (sPSSData->state)
+ {
+ case 0:
+ ClearBottomWindow();
+ sPSSData->state++;
+ break;
+ case 1:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ PlaySE(SE_WIN_OPEN);
+ PrintItemDescription();
+ sub_80D1818();
+ sPSSData->state++;
+ }
+ break;
+ case 2:
+ if (!sub_80D184C())
+ sPSSData->state++;
+ break;
+ case 3:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ sPSSData->state++;
+ break;
+ case 4:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY))
+ {
+ PlaySE(SE_WIN_OPEN);
+ sPSSData->state++;
+ }
+ break;
+ case 5:
+ if (!sub_80D18E4())
+ sPSSData->state++;
+ break;
+ case 6:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ SetPSSCallback(Cb_MainPSS);
+ break;
+ }
+}
+
+static void Cb_CloseBoxWhileHoldingItem(u8 taskId)
+{
+ switch (sPSSData->state)
+ {
+ case 0:
+ PlaySE(SE_SELECT);
+ PrintStorageActionText(PC_TEXT_PUT_IN_BAG);
+ ShowYesNoWindow(0);
+ sPSSData->state = 1;
+ break;
+ case 1:
+ switch (Menu_ProcessInputNoWrapClearOnChoose())
+ {
+ case MENU_B_PRESSED:
+ case 1:
+ ClearBottomWindow();
+ SetPSSCallback(Cb_MainPSS);
+ break;
+ case 0:
+ if (AddBagItem(sPSSData->movingItem, 1) == TRUE)
+ {
+ ClearBottomWindow();
+ sPSSData->state = 3;
+ }
+ else
+ {
+ PrintStorageActionText(PC_TEXT_BAG_FULL);
+ sPSSData->state = 2;
+ }
+ break;
+ }
+ break;
+ case 2:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY))
+ {
+ ClearBottomWindow();
+ sPSSData->state = 5;
+ }
+ break;
+ case 3:
+ sub_80D1194();
+ sPSSData->state = 4;
+ break;
+ case 4:
+ if (!sub_80D1218())
+ {
+ sub_80CFE54(0);
+ SetPSSCallback(Cb_MainPSS);
+ }
+ break;
+ case 5:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ SetPSSCallback(Cb_MainPSS);
+ break;
+ }
+}
+
+static void Cb_HandleMovingMonFromParty(u8 taskId)
+{
+ switch (sPSSData->state)
+ {
+ case 0:
+ CompactPartySlots();
+ sub_80CB950();
+ sPSSData->state++;
+ break;
+ case 1:
+ if (!sub_80CB9BC())
+ {
+ sub_80CAB20();
+ SetPSSCallback(Cb_MainPSS);
+ }
+ break;
+ }
+}
+
+static void Cb_PrintCantStoreMail(u8 taskId)
+{
+ switch (sPSSData->state)
+ {
+ case 0:
+ PrintStorageActionText(PC_TEXT_CANT_STORE_MAIL);
+ sPSSData->state++;
+ break;
+ case 1:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ sPSSData->state++;
+ break;
+ case 2:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY))
+ {
+ ClearBottomWindow();
+ sPSSData->state++;
+ }
+ break;
+ case 3:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ SetPSSCallback(Cb_MainPSS);
+ break;
+ }
+}
+
+static void Cb_HandleBoxOptions(u8 taskId)
+{
+ switch (sPSSData->state)
+ {
+ case 0:
+ PrintStorageActionText(PC_TEXT_WHAT_YOU_DO);
+ AddMenu();
+ sPSSData->state++;
+ break;
+ case 1:
+ if (sub_80D00A8())
+ return;
+ sPSSData->state++;
+ case 2:
+ switch (sub_80D00AC())
+ {
+ case -1:
+ case 0:
+ sub_80CD1A8(TRUE);
+ ClearBottomWindow();
+ SetPSSCallback(Cb_MainPSS);
+ break;
+ case 11:
+ PlaySE(SE_SELECT);
+ SetPSSCallback(Cb_NameBox);
+ break;
+ case 10:
+ PlaySE(SE_SELECT);
+ ClearBottomWindow();
+ SetPSSCallback(Cb_HandleWallpapers);
+ break;
+ case 9:
+ PlaySE(SE_SELECT);
+ ClearBottomWindow();
+ SetPSSCallback(Cb_JumpBox);
+ break;
+ }
+ break;
+ }
+}
+
+static void Cb_HandleWallpapers(u8 taskId)
+{
+ switch (sPSSData->state)
+ {
+ case 0:
+ AddWallpaperSetsMenu();
+ PrintStorageActionText(PC_TEXT_PICK_A_THEME);
+ sPSSData->state++;
+ break;
+ case 1:
+ if (!sub_80D00A8())
+ sPSSData->state++;
+ break;
+ case 2:
+ sPSSData->wallpaperSetId = sub_80D00AC();
+ switch (sPSSData->wallpaperSetId)
+ {
+ case -1:
+ sub_80CD1A8(TRUE);
+ ClearBottomWindow();
+ SetPSSCallback(Cb_MainPSS);
+ break;
+ case 18 ... 21:
+ PlaySE(SE_SELECT);
+ sub_80D013C();
+ sPSSData->wallpaperSetId -= 18;
+ sPSSData->state++;
+ break;
+ // New wallpaper from Walda.
+ case 22:
+ PlaySE(SE_SELECT);
+ sPSSData->wallpaperId = 16;
+ sub_80D013C();
+ ClearBottomWindow();
+ sPSSData->state = 6;
+ break;
+ }
+ break;
+ case 3:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ AddWallpapersMenu(sPSSData->wallpaperSetId);
+ PrintStorageActionText(PC_TEXT_PICK_A_WALLPAPER);
+ sPSSData->state++;
+ }
+ break;
+ case 4:
+ sPSSData->wallpaperId = sub_80D00AC();
+ switch (sPSSData->wallpaperId)
+ {
+ case -2:
+ break;
+ case -1:
+ ClearBottomWindow();
+ sPSSData->state = 0;
+ break;
+ default:
+ PlaySE(SE_SELECT);
+ ClearBottomWindow();
+ sPSSData->wallpaperId -= 23;
+ SetWallpaperForCurrentBox(sPSSData->wallpaperId);
+ sPSSData->state++;
+ break;
+ }
+ break;
+ case 5:
+ if (!DoWallpaperGfxChange())
+ {
+ sub_80CD1A8(TRUE);
+ SetPSSCallback(Cb_MainPSS);
+ }
+ break;
+ case 6:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ SetWallpaperForCurrentBox(sPSSData->wallpaperId);
+ sPSSData->state = 5;
+ }
+ break;
+ }
+}
+
+static void Cb_JumpBox(u8 taskId)
+{
+ switch (sPSSData->state)
+ {
+ case 0:
+ PrintStorageActionText(PC_TEXT_JUMP_TO_WHICH_BOX);
+ sub_80C77E8(&sPSSData->field_1E5C, TAG_TILE_A, TAG_PAL_DAC7, 3, FALSE);
+ sub_80C78D4(StorageGetCurrentBox());
+ sPSSData->state++;
+ break;
+ case 1:
+ sPSSData->newCurrBoxId = HandleBoxChooseSelectionInput();
+ switch (sPSSData->newCurrBoxId)
+ {
+ case 200:
+ break;
+ default:
+ ClearBottomWindow();
+ sub_80C78E4();
+ sub_80C7890();
+ if (sPSSData->newCurrBoxId == 201 || sPSSData->newCurrBoxId == StorageGetCurrentBox())
+ {
+ sub_80CD1A8(TRUE);
+ SetPSSCallback(Cb_MainPSS);
+ }
+ else
+ {
+ sPSSData->state++;
+ }
+ break;
+ }
+ break;
+ case 2:
+ SetUpScrollToBox(sPSSData->newCurrBoxId);
+ sPSSData->state++;
+ break;
+ case 3:
+ if (!ScrollToBox())
+ {
+ SetCurrentBox(sPSSData->newCurrBoxId);
+ SetPSSCallback(Cb_MainPSS);
+ }
+ break;
+ }
+}
+
+static void Cb_NameBox(u8 taskId)
+{
+ switch (sPSSData->state)
+ {
+ case 0:
+ sub_80CE760();
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
+ sPSSData->state++;
+ break;
+ case 1:
+ if (!UpdatePaletteFade())
+ {
+ sWhichToReshow = 1;
+ sPSSData->screenChangeType = SCREEN_CHANGE_NAME_BOX;
+ SetPSSCallback(Cb_ChangeScreen);
+ }
+ break;
+ }
+}
+
+static void Cb_ShowMonSummary(u8 taskId)
+{
+ switch (sPSSData->state)
+ {
+ case 0:
+ sub_80CE7E8();
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
+ sPSSData->state++;
+ break;
+ case 1:
+ if (!UpdatePaletteFade())
+ {
+ sWhichToReshow = 0;
+ sPSSData->screenChangeType = SCREEN_CHANGE_SUMMARY_SCREEN;
+ SetPSSCallback(Cb_ChangeScreen);
+ }
+ break;
+ }
+}
+
+static void Cb_GiveItemFromBag(u8 taskId)
+{
+ switch (sPSSData->state)
+ {
+ case 0:
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
+ sPSSData->state++;
+ break;
+ case 1:
+ if (!UpdatePaletteFade())
+ {
+ sWhichToReshow = 2;
+ sPSSData->screenChangeType = SCREEN_CHANGE_ITEM_FROM_BAG;
+ SetPSSCallback(Cb_ChangeScreen);
+ }
+ break;
+ }
+}
+
+static void Cb_OnCloseBoxPressed(u8 taskId)
+{
+ switch (sPSSData->state)
+ {
+ case 0:
+ if (IsMonBeingMoved())
+ {
+ PlaySE(SE_HAZURE);
+ PrintStorageActionText(PC_TEXT_HOLDING_POKE);
+ sPSSData->state = 1;
+ }
+ else if (IsActiveItemMoving())
+ {
+ SetPSSCallback(Cb_CloseBoxWhileHoldingItem);
+ }
+ else
+ {
+ PlaySE(SE_SELECT);
+ PrintStorageActionText(PC_TEXT_EXIT_BOX);
+ ShowYesNoWindow(0);
+ sPSSData->state = 2;
+ }
+ break;
+ case 1:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY))
+ {
+ ClearBottomWindow();
+ SetPSSCallback(Cb_MainPSS);
+ }
+ break;
+ case 2:
+ switch (Menu_ProcessInputNoWrapClearOnChoose())
+ {
+ case MENU_B_PRESSED:
+ case 1:
+ ClearBottomWindow();
+ SetPSSCallback(Cb_MainPSS);
+ break;
+ case 0:
+ PlaySE(SE_PC_OFF);
+ ClearBottomWindow();
+ sPSSData->state++;
+ break;
+ }
+ break;
+ case 3:
+ sub_80F9BF4(0x14, 0, 1);
+ sPSSData->state++;
+ break;
+ case 4:
+ if (!sub_80F9C30())
+ {
+ sub_80CABE0();
+ gPlayerPartyCount = CalculatePlayerPartyCount();
+ sPSSData->screenChangeType = SCREEN_CHANGE_EXIT_BOX;
+ SetPSSCallback(Cb_ChangeScreen);
+ }
+ break;
+ }
+}
+
+static void Cb_OnBPressed(u8 taskId)
+{
+ switch (sPSSData->state)
+ {
+ case 0:
+ if (IsMonBeingMoved())
+ {
+ PlaySE(SE_HAZURE);
+ PrintStorageActionText(PC_TEXT_HOLDING_POKE);
+ sPSSData->state = 1;
+ }
+ else if (IsActiveItemMoving())
+ {
+ SetPSSCallback(Cb_CloseBoxWhileHoldingItem);
+ }
+ else
+ {
+ PlaySE(SE_SELECT);
+ PrintStorageActionText(PC_TEXT_CONTINUE_BOX);
+ ShowYesNoWindow(0);
+ sPSSData->state = 2;
+ }
+ break;
+ case 1:
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON | DPAD_ANY))
+ {
+ ClearBottomWindow();
+ SetPSSCallback(Cb_MainPSS);
+ }
+ break;
+ case 2:
+ switch (Menu_ProcessInputNoWrapClearOnChoose())
+ {
+ case 0:
+ ClearBottomWindow();
+ SetPSSCallback(Cb_MainPSS);
+ break;
+ case 1:
+ case MENU_B_PRESSED:
+ PlaySE(SE_PC_OFF);
+ ClearBottomWindow();
+ sPSSData->state++;
+ break;
+ }
+ break;
+ case 3:
+ sub_80F9BF4(0x14, 0, 0);
+ sPSSData->state++;
+ break;
+ case 4:
+ if (!sub_80F9C30())
+ {
+ sub_80CABE0();
+ gPlayerPartyCount = CalculatePlayerPartyCount();
+ sPSSData->screenChangeType = SCREEN_CHANGE_EXIT_BOX;
+ SetPSSCallback(Cb_ChangeScreen);
+ }
+ break;
+ }
+}
+
+static void Cb_ChangeScreen(u8 taskId)
+{
+ struct BoxPokemon *boxMons;
+ u8 mode, monIndex, maxMonIndex;
+ u8 screenChangeType = sPSSData->screenChangeType;
+
+ if (sPSSData->boxOption == BOX_OPTION_MOVE_ITEMS && IsActiveItemMoving() == TRUE)
+ gUnknown_02039D12 = GetMovingItem();
+ else
+ gUnknown_02039D12 = 0;
+
+ switch (screenChangeType)
+ {
+ case SCREEN_CHANGE_EXIT_BOX:
+ default:
+ FreePSSData();
+ SetMainCallback2(Cb2_ExitPSS);
+ break;
+ case SCREEN_CHANGE_SUMMARY_SCREEN:
+ boxMons = sPSSData->field_218C.box;
+ monIndex = sPSSData->field_2187;
+ maxMonIndex = sPSSData->field_2186;
+ mode = sPSSData->field_2188;
+ FreePSSData();
+ if (mode == PSS_MODE_NORMAL && boxMons == &gUnknown_02039D14.box)
+ ShowPokemonSummaryScreenSet40EF(mode, boxMons, monIndex, maxMonIndex, Cb2_ReturnToPSS);
+ else
+ ShowPokemonSummaryScreen(mode, boxMons, monIndex, maxMonIndex, Cb2_ReturnToPSS);
+ break;
+ case SCREEN_CHANGE_NAME_BOX:
+ FreePSSData();
+ DoNamingScreen(NAMING_SCREEN_BOX, GetBoxNamePtr(StorageGetCurrentBox()), 0, 0, 0, Cb2_ReturnToPSS);
+ break;
+ case SCREEN_CHANGE_ITEM_FROM_BAG:
+ FreePSSData();
+ GoToBagMenu(11, 0, Cb2_ReturnToPSS);
+ break;
+ }
+
+ DestroyTask(taskId);
+}
+
+static void GiveChosenBagItem(void)
+{
+ u16 item = gSpecialVar_ItemId;
+
+ if (item != 0)
+ {
+ u8 id = GetBoxCursorPosition();
+
+ if (sInPartyMenu)
+ SetMonData(&gPlayerParty[id], MON_DATA_HELD_ITEM, &item);
+ else
+ SetCurrentBoxMonData(id, MON_DATA_HELD_ITEM, &item);
+
+ RemoveBagItem(item, 1);
+ }
+}
+
+static void FreePSSData(void)
+{
+ sub_80D25F0();
+ sub_80D01B8();
+ FREE_AND_SET_NULL(sPSSData);
+ FreeAllWindowBuffers();
+}
+
+static void SetScrollingBackground(void)
+{
+ SetGpuReg(REG_OFFSET_BG3CNT, BGCNT_PRIORITY(3) | BGCNT_CHARBASE(3) | BGCNT_16COLOR | BGCNT_SCREENBASE(31));
+ DecompressAndLoadBgGfxUsingHeap(3, gPokemonStorageScrollingBGTileset, 0, 0, 0);
+ LZ77UnCompVram(gPokemonStorageScrollingBGTilemap, (void *)VRAM + 0xF800);
+}
+
+static void ScrollBackground(void)
+{
+ ChangeBgX(3, 128, 1);
+ ChangeBgY(3, 128, 2);
+}
+
+static void LoadPSSMenuGfx(void)
+{
+ InitBgsFromTemplates(0, gUnknown_08572734, ARRAY_COUNT(gUnknown_08572734));
+ DecompressAndLoadBgGfxUsingHeap(1, gPSSMenu_Gfx, 0, 0, 0);
+ LZ77UnCompWram(gUnknown_085722A0, sPSSData->field_5AC4);
+ SetBgTilemapBuffer(1, sPSSData->field_5AC4);
+ ShowBg(1);
+ schedule_bg_copy_tilemap_to_vram(1);
+}
+
+static bool8 InitPSSWindows(void)
+{
+ if (!InitWindows(gUnknown_08572714))
+ {
+ return FALSE;
+ }
+ else
+ {
+ DeactivateAllTextPrinters();
+ return TRUE;
+ }
+}
+
+static void LoadWaveformSpritePalette(void)
+{
+ LoadSpritePalette(&gWaveformSpritePalette);
+}
+
+static void sub_80CA0D8(void)
+{
+ LoadPalette(gUnknown_085723DC, 0, 0x20);
+ LoadPalette(gUnknown_085723FC, 0x20, 0x20);
+ LoadPalette(gUnknown_085726F4, 0xF0, 0x20);
+ if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
+ LoadPalette(gUnknown_0857241C, 0x30, 0x20);
+ else
+ LoadPalette(gUnknown_0857243C, 0x30, 0x20);
+
+ SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(1) | BGCNT_CHARBASE(1) | BGCNT_16COLOR | BGCNT_SCREENBASE(30));
+ LoadCursorMonSprite();
+ sub_80CA154();
+ sub_80CA1C4();
+ RefreshCursorMonData();
+}
+
+static void sub_80CA154(void)
+{
+ sPSSData->field_D94 = sub_811FFB4(TAG_TILE_10, TAG_PAL_DAC8, NULL);
+ sPSSData->field_D94->oam.priority = 1;
+ sPSSData->field_D94->subpriority = 1;
+ sPSSData->field_D94->pos1.x = 40;
+ sPSSData->field_D94->pos1.y = 150;
+ sPSSData->field_DA0 = (void*) OBJ_VRAM0 + 32 * GetSpriteTileStartByTag(TAG_TILE_10);
+}
+
+static void sub_80CA1C4(void)
+{
+ u16 i;
+ struct SpriteSheet sheet = gWaveformSpriteSheet;
+
+ LoadSpriteSheet(&sheet);
+ for (i = 0; i < 2; i++)
+ {
+ u8 spriteId = CreateSprite(&sSpriteTemplate_Waveform, i * 63 + 8, 9, 2);
+ sPSSData->field_D98[i] = &gSprites[spriteId];
+ }
+}
+
+static void RefreshCursorMonData(void)
+{
+ LoadCursorMonGfx(sPSSData->cursorMonSpecies, sPSSData->cursorMonPersonality);
+ PrintCursorMonInfo();
+ sub_80CA65C();
+ schedule_bg_copy_tilemap_to_vram(0);
+}
+
+static void BoxSetMosaic(void)
+{
+ RefreshCursorMonData();
+ if (sPSSData->cursorMonSprite)
+ {
+ sPSSData->cursorMonSprite->oam.mosaic = TRUE;
+ sPSSData->cursorMonSprite->data[0] = 10;
+ sPSSData->cursorMonSprite->data[1] = 1;
+ sPSSData->cursorMonSprite->callback = sub_80CA2D0;
+ SetGpuReg(REG_OFFSET_MOSAIC, (sPSSData->cursorMonSprite->data[0] << 12) | (sPSSData->cursorMonSprite->data[0] << 8));
+ }
+}
+
+static u8 sub_80CA2B8(void)
+{
+ return sPSSData->cursorMonSprite->oam.mosaic;
+}
+
+static void sub_80CA2D0(struct Sprite *sprite)
+{
+ sprite->data[0] -= sprite->data[1];
+ if (sprite->data[0] < 0)
+ sprite->data[0] = 0;
+ SetGpuReg(REG_OFFSET_MOSAIC, (sprite->data[0] << 12) | (sprite->data[0] << 8));
+ if (sprite->data[0] == 0)
+ {
+ sprite->oam.mosaic = FALSE;
+ sprite->callback = SpriteCallbackDummy;
+ }
+}
+
+static void LoadCursorMonSprite(void)
+{
+ u16 i;
+ u16 tileStart;
+ u8 palSlot;
+ u8 spriteId;
+ struct SpriteSheet sheet = {sPSSData->field_22C4, 0x800, TAG_TILE_2};
+ struct SpritePalette palette = {sPSSData->field_2244, TAG_PAL_DAC6};
+ struct SpriteTemplate template = sSpriteTemplate_CursorMon;
+
+ for (i = 0; i < 0x800; i++)
+ sPSSData->field_22C4[i] = 0;
+ for (i = 0; i < 0x10; i++)
+ sPSSData->field_2244[i] = 0;
+
+ sPSSData->cursorMonSprite = NULL;
+
+ do
+ {
+ tileStart = LoadSpriteSheet(&sheet);
+ if (tileStart == 0)
+ break;
+
+ palSlot = LoadSpritePalette(&palette);
+ if (palSlot == 0xFF)
+ break;
+
+ spriteId = CreateSprite(&template, 40, 48, 0);
+ if (spriteId == MAX_SPRITES)
+ break;
+
+ sPSSData->cursorMonSprite = &gSprites[spriteId];
+ sPSSData->field_223A = palSlot * 16 + 0x100;
+ sPSSData->field_223C = (void*) OBJ_VRAM0 + tileStart * 32;
+ } while (0);
+
+ if (sPSSData->cursorMonSprite == NULL)
+ {
+ FreeSpriteTilesByTag(TAG_TILE_2);
+ FreeSpritePaletteByTag(TAG_PAL_DAC6);
+ }
+}
+
+static void LoadCursorMonGfx(u16 species, u32 pid)
+{
+ if (sPSSData->cursorMonSprite == NULL)
+ return;
+
+ if (species != SPECIES_NONE)
+ {
+ LoadSpecialPokePic(&gMonFrontPicTable[species], sPSSData->field_22C4, species, pid, TRUE);
+ LZ77UnCompWram(sPSSData->cursorMonPalette, sPSSData->field_2244);
+ CpuCopy32(sPSSData->field_22C4, sPSSData->field_223C, 0x800);
+ LoadPalette(sPSSData->field_2244, sPSSData->field_223A, 0x20);
+ sPSSData->cursorMonSprite->invisible = FALSE;
+ }
+ else
+ {
+ sPSSData->cursorMonSprite->invisible = TRUE;
+ }
+}
+
+static void PrintCursorMonInfo(void)
+{
+ FillWindowPixelBuffer(0, 0x11);
+ if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
+ {
+ AddTextPrinterParameterized(0, 1, sPSSData->cursorMonNickText, 6, 0, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(0, 2, sPSSData->cursorMonSpeciesName, 6, 15, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(0, 2, sPSSData->cursorMonGenderLvlText, 10, 29, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(0, 0, sPSSData->cursorMonItemName, 6, 43, TEXT_SPEED_FF, NULL);
+ }
+ else
+ {
+ AddTextPrinterParameterized(0, 0, sPSSData->cursorMonItemName, 6, 0, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(0, 1, sPSSData->cursorMonNickText, 6, 13, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(0, 2, sPSSData->cursorMonSpeciesName, 6, 28, TEXT_SPEED_FF, NULL);
+ AddTextPrinterParameterized(0, 2, sPSSData->cursorMonGenderLvlText, 10, 42, TEXT_SPEED_FF, NULL);
+ }
+
+ CopyWindowToVram(0, 2);
+ if (sPSSData->cursorMonSpecies != SPECIES_NONE)
+ {
+ sub_8120084(sPSSData->cursorMonMarkings, sPSSData->field_DA0);
+ sPSSData->field_D94->invisible = FALSE;
+ }
+ else
+ {
+ sPSSData->field_D94->invisible = TRUE;
+ }
+}
+
+static void sub_80CA65C(void)
+{
+ u16 i;
+
+ if (sPSSData->cursorMonSpecies != SPECIES_NONE)
+ {
+ sub_80D27AC(0, 0, 0, 8, 2);
+ for (i = 0; i < 2; i++)
+ StartSpriteAnimIfDifferent(sPSSData->field_D98[i], i * 2 + 1);
+ }
+ else
+ {
+ sub_80D27AC(0, 0, 2, 8, 2);
+ for (i = 0; i < 2; i++)
+ StartSpriteAnim(sPSSData->field_D98[i], i * 2);
+ }
+
+ sub_80D2918(0);
+ schedule_bg_copy_tilemap_to_vram(1);
+}
+
+static void sub_80CA704(void)
+{
+ LZ77UnCompWram(gUnknown_08DD36C8, sPSSData->field_B0);
+ LoadPalette(gPSSMenu_Pal, 0x10, 0x20);
+ sub_80D2644(1, 1, sPSSData->field_B0, 12, 22);
+ sub_80D2644(2, 1, gUnknown_0857245C, 9, 4);
+ sub_80D2770(1, 10, 0);
+ sub_80D2770(2, 21, 0);
+ sub_80CAA74();
+ if (sInPartyMenu)
+ {
+ sub_80CA984(TRUE);
+ CreatePartyMonsSprites(TRUE);
+ sub_80D2918(2);
+ sub_80D2918(1);
+ }
+ else
+ {
+ sub_80D27AC(1, 0, 20, 12, 2);
+ sub_80CA984(TRUE);
+ sub_80D2918(1);
+ sub_80D2918(2);
+ }
+
+ schedule_bg_copy_tilemap_to_vram(1);
+ sPSSData->unk_02C7 = 0;
+}
+
+static void SetUpShowPartyMenu(void)
+{
+ sPSSData->field_2C0 = 20;
+ sPSSData->field_2C2 = 2;
+ sPSSData->field_2C5 = 0;
+ CreatePartyMonsSprites(FALSE);
+}
+
+static bool8 ShowPartyMenu(void)
+{
+ if (sPSSData->field_2C5 == 20)
+ return FALSE;
+
+ sPSSData->field_2C0--;
+ sPSSData->field_2C2++;
+ sub_80D27F4(1, 3, 1);
+ sub_80D2918(1);
+ schedule_bg_copy_tilemap_to_vram(1);
+ sub_80CBAF0(8);
+ if (++sPSSData->field_2C5 == 20)
+ {
+ sInPartyMenu = TRUE;
+ return FALSE;
+ }
+ else
+ {
+ return TRUE;
+ }
+}
+
+static void SetUpHidePartyMenu(void)
+{
+ sPSSData->field_2C0 = 0;
+ sPSSData->field_2C2 = 22;
+ sPSSData->field_2C5 = 0;
+ if (sPSSData->boxOption == BOX_OPTION_MOVE_ITEMS)
+ sub_80D11CC();
+}
+
+static bool8 HidePartyMenu(void)
+{
+ if (sPSSData->field_2C5 != 20)
+ {
+ sPSSData->field_2C0++;
+ sPSSData->field_2C2--;
+ sub_80D27F4(1, 3, -1);
+ sub_80D2918(1);
+ FillBgTilemapBufferRect_Palette0(1, 0x100, 10, sPSSData->field_2C2, 12, 1);
+ sub_80CBAF0(-8);
+ if (++sPSSData->field_2C5 != 20)
+ {
+ schedule_bg_copy_tilemap_to_vram(1);
+ return TRUE;
+ }
+ else
+ {
+ sInPartyMenu = FALSE;
+ DestroyAllPartyMonIcons();
+ CompactPartySlots();
+ sub_80D27AC(2, 0, 0, 9, 2);
+ sub_80D2918(2);
+ schedule_bg_copy_tilemap_to_vram(1);
+ return FALSE;
+ }
+ }
+
+ return FALSE;
+}
+
+static void sub_80CA984(bool8 arg0)
+{
+ if (arg0)
+ sub_80D27AC(2, 0, 0, 9, 2);
+ else
+ sub_80D27AC(2, 0, 2, 9, 2);
+
+ sub_80D2918(2);
+ schedule_bg_copy_tilemap_to_vram(1);
+}
+
+static void sub_80CA9C0(void)
+{
+ sPSSData->unk_02C7 = 1;
+ sPSSData->unk_02C8 = 30;
+ sPSSData->unk_02C9 = TRUE;
+}
+
+static void sub_80CA9EC(void)
+{
+ if (sPSSData->unk_02C7)
+ {
+ sPSSData->unk_02C7 = 0;
+ sub_80CA984(TRUE);
+ }
+}
+
+static void sub_80CAA14(void)
+{
+ if (sPSSData->unk_02C7 && ++sPSSData->unk_02C8 > 30)
+ {
+ sPSSData->unk_02C8 = 0;
+ sPSSData->unk_02C9 = (sPSSData->unk_02C9 == FALSE);
+ sub_80CA984(sPSSData->unk_02C9);
+ }
+}
+
+static void sub_80CAA74(void)
+{
+ u8 i;
+
+ for (i = 1; i < PARTY_SIZE; i++)
+ {
+ s32 species = GetMonData(gPlayerParty + i, MON_DATA_SPECIES);
+ sub_80CAAA8(i, (species != SPECIES_NONE));
+ }
+}
+
+static void sub_80CAAA8(u8 arg0, bool8 isPartyMon)
+{
+ u16 i, j, index;
+ const u16 *data;
+
+ if (isPartyMon)
+ data = gUnknown_085724A4;
+ else
+ data = gUnknown_085724BC;
+
+ index = 3 * (3 * (arg0 - 1) + 1);
+ index *= 4;
+ index += 7;
+ for (i = 0; i < 3; i++)
+ {
+ for (j = 0; j < 4; j++)
+ {
+ sPSSData->field_B0[index + j] = data[j];
+ }
+ data += 4;
+ index += 12;
+ }
+}
+
+static void sub_80CAB20(void)
+{
+ sub_80CAA74();
+ sub_80D27AC(1, 0, 0, 12, 22);
+ sub_80D2918(1);
+ schedule_bg_copy_tilemap_to_vram(1);
+}
+
+static void SetUpDoShowPartyMenu(void)
+{
+ sPSSData->showPartyMenuState = 0;
+ PlaySE(SE_WIN_OPEN);
+ SetUpShowPartyMenu();
+}
+
+static bool8 DoShowPartyMenu(void)
+{
+ switch (sPSSData->showPartyMenuState)
+ {
+ case 0:
+ if (!ShowPartyMenu())
+ {
+ sub_80CDBA0();
+ sPSSData->showPartyMenuState++;
+ }
+ break;
+ case 1:
+ if (!sub_80CD554())
+ {
+ if (sPSSData->setMosaic)
+ BoxSetMosaic();
+ sPSSData->showPartyMenuState++;
+ }
+ break;
+ case 2:
+ return FALSE;
+ }
+ return TRUE;
+}
+
+static void sub_80CABE0(void)
+{
+ if (gUnknown_02039D10 != StorageGetCurrentBox())
+ {
+ FlagClear(FLAG_SYS_STORAGE_UNKNOWN_FLAG);
+ VarSet(VAR_STORAGE_UNKNOWN, StorageGetCurrentBox());
+ }
+}
+
+static void sub_80CAC1C(void)
+{
+ SetGpuReg(REG_OFFSET_BG0CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(29));
+ LoadUserWindowBorderGfx(1, 2, 208);
+ FillBgTilemapBufferRect(0, 0, 0, 0, 32, 20, 17);
+ CopyBgTilemapBufferToVram(0);
+}
+
+static void PrintStorageActionText(u8 id)
+{
+ u8 *txtPtr;
+
+ DynamicPlaceholderTextUtil_Reset();
+ switch (gPCStorageActionTexts[id].format)
+ {
+ case PC_TEXT_FMT_NORMAL:
+ break;
+ case PC_TEXT_FMT_MON_NAME_1:
+ case PC_TEXT_FMT_MON_NAME_2:
+ case PC_TEXT_FMT_MON_NAME_3:
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, sPSSData->cursorMonNick);
+ break;
+ case PC_TEXT_FMT_MON_NAME_4:
+ case PC_TEXT_FMT_MON_NAME_5:
+ case PC_TEXT_FMT_MON_NAME_6:
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, sPSSData->field_21E0);
+ break;
+ case PC_TEXT_FMT_ITEM_NAME:
+ if (IsActiveItemMoving())
+ txtPtr = StringCopy(sPSSData->itemName, GetMovingItemName());
+ else
+ txtPtr = StringCopy(sPSSData->itemName, sPSSData->cursorMonItemName);
+
+ while (*(txtPtr - 1) == CHAR_SPACE)
+ txtPtr--;
+
+ *txtPtr = EOS;
+ DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, sPSSData->itemName);
+ break;
+ }
+
+ DynamicPlaceholderTextUtil_ExpandPlaceholders(sPSSData->field_2190, gPCStorageActionTexts[id].text);
+ FillWindowPixelBuffer(1, 0x11);
+ AddTextPrinterParameterized(1, 1, sPSSData->field_2190, 0, 1, TEXT_SPEED_FF, NULL);
+ sub_8098858(1, 2, 14);
+ PutWindowTilemap(1);
+ CopyWindowToVram(1, 2);
+ schedule_bg_copy_tilemap_to_vram(0);
+}
+
+static void ShowYesNoWindow(s8 cursorPos)
+{
+ CreateYesNoMenu(&sYesNoWindowTemplate, 11, 14, 0);
+ Menu_MoveCursorNoWrapAround(cursorPos);
+}
+
+static void ClearBottomWindow(void)
+{
+ sub_8198070(1, FALSE);
+ schedule_bg_copy_tilemap_to_vram(0);
+}
+
+static void AddWallpaperSetsMenu(void)
+{
+ InitMenu();
+ SetMenuText(18);
+ SetMenuText(19);
+ SetMenuText(20);
+ SetMenuText(21);
+ if (IsWaldaWallpaperUnlocked())
+ SetMenuText(22);
+ AddMenu();
+}
+
+static void AddWallpapersMenu(u8 wallpaperSet)
+{
+ InitMenu();
+ switch (wallpaperSet)
+ {
+ case 0:
+ SetMenuText(23);
+ SetMenuText(24);
+ SetMenuText(25);
+ SetMenuText(26);
+ break;
+ case 1:
+ SetMenuText(27);
+ SetMenuText(28);
+ SetMenuText(29);
+ SetMenuText(30);
+ break;
+ case 2:
+ SetMenuText(31);
+ SetMenuText(32);
+ SetMenuText(33);
+ SetMenuText(34);
+ break;
+ case 3:
+ SetMenuText(35);
+ SetMenuText(36);
+ SetMenuText(37);
+ SetMenuText(38);
+ break;
+ }
+ AddMenu();
+}
+
+static u8 GetCurrentBoxOption(void)
+{
+ return sCurrentBoxOption;
+}
+
+static void sub_80CAEAC(void)
+{
+ if (!IsCursorOnBox())
+ {
+ if (sInPartyMenu)
+ sub_80D0D8C(CURSOR_AREA_IN_PARTY, GetBoxCursorPosition());
+ else
+ sub_80D0D8C(CURSOR_AREA_IN_BOX, GetBoxCursorPosition());
+ }
+
+ if (gUnknown_02039D12 != 0)
+ {
+ sub_80D0F38(gUnknown_02039D12);
+ sub_80CFE54(3);
+ }
+}
+
+static void sub_80CAF04(void)
+{
+ u16 i;
+
+ LoadMonIconPalettes();
+ for (i = 0; i < 40; i++)
+ sPSSData->field_B08[i] = 0;
+ for (i = 0; i < 40; i++)
+ sPSSData->field_B58[i] = 0;
+ for (i = 0; i < PARTY_SIZE; i++)
+ sPSSData->partySprites[i] = NULL;
+ for (i = 0; i < IN_BOX_COUNT; i++)
+ sPSSData->boxMonsSprites[i] = NULL;
+
+ sPSSData->movingMonSprite = NULL;
+ sPSSData->field_78C = 0;
+}
+
+static u8 sub_80CAFAC(void)
+{
+ return (IsCursorInBox() ? 2 : 1);
+}
+
+static void CreateMovingMonIcon(void)
+{
+ u32 personality = GetMonData(&sPSSData->movingMon, MON_DATA_PERSONALITY);
+ u16 species = GetMonData(&sPSSData->movingMon, MON_DATA_SPECIES2);
+ u8 priority = sub_80CAFAC();
+
+ sPSSData->movingMonSprite = CreateMonIconSprite(species, personality, 0, 0, priority, 7);
+ sPSSData->movingMonSprite->callback = sub_80CC100;
+}
+
+static void sub_80CB028(u8 boxId)
+{
+ u8 boxPosition;
+ u16 i, j, count;
+ u16 species;
+ u32 personality;
+
+ count = 0;
+ boxPosition = 0;
+ for (i = 0; i < IN_BOX_COLUMNS; i++)
+ {
+ for (j = 0; j < IN_BOX_ROWS; j++)
+ {
+ species = GetBoxMonDataAt(boxId, boxPosition, MON_DATA_SPECIES2);
+ if (species != SPECIES_NONE)
+ {
+ personality = GetBoxMonDataAt(boxId, boxPosition, MON_DATA_PERSONALITY);
+ sPSSData->boxMonsSprites[count] = CreateMonIconSprite(species, personality, 8 * (3 * j) + 100, 8 * (3 * i) + 44, 2, 19 - j);
+ }
+ else
+ {
+ sPSSData->boxMonsSprites[count] = NULL;
+ }
+ boxPosition++;
+ count++;
+ }
+ }
+
+ if (sPSSData->boxOption == BOX_OPTION_MOVE_ITEMS)
+ {
+ for (boxPosition = 0; boxPosition < IN_BOX_COUNT; boxPosition++)
+ {
+ if (GetBoxMonDataAt(boxId, boxPosition, MON_DATA_HELD_ITEM) == 0)
+ sPSSData->boxMonsSprites[boxPosition]->oam.objMode = 1;
+ }
+ }
+}
+
+static void sub_80CB140(u8 boxPosition)
+{
+ u16 species = GetCurrentBoxMonData(boxPosition, MON_DATA_SPECIES2);
+
+ if (species != SPECIES_NONE)
+ {
+ s16 x = 8 * (3 * (boxPosition % IN_BOX_ROWS)) + 100;
+ s16 y = 8 * (3 * (boxPosition / IN_BOX_ROWS)) + 44;
+ u32 personality = GetCurrentBoxMonData(boxPosition, MON_DATA_PERSONALITY);
+
+ 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;
+ }
+}
+
+static void sub_80CB1F0(s16 arg0)
+{
+ u16 i;
+
+ for (i = 0; i < IN_BOX_COUNT; i++)
+ {
+ if (sPSSData->boxMonsSprites[i] != NULL)
+ {
+ sPSSData->boxMonsSprites[i]->data[2] = arg0;
+ sPSSData->boxMonsSprites[i]->data[4] = 1;
+ sPSSData->boxMonsSprites[i]->callback = sub_80CB278;
+ }
+ }
+}
+
+static void sub_80CB234(struct Sprite *sprite)
+{
+ if (sprite->data[1] != 0)
+ {
+ sprite->data[1]--;
+ sprite->pos1.x += sprite->data[2];
+ }
+ else
+ {
+ sPSSData->field_C66--;
+ sprite->pos1.x = sprite->data[3];
+ sprite->callback = SpriteCallbackDummy;
+ }
+}
+
+static void sub_80CB278(struct Sprite *sprite)
+{
+ if (sprite->data[4] != 0)
+ {
+ sprite->data[4]--;
+ }
+ else
+ {
+ sprite->pos1.x += sprite->data[2];
+ sprite->data[5] = sprite->pos1.x + sprite->pos2.x;
+ if (sprite->data[5] <= 68 || sprite->data[5] >= 252)
+ sprite->callback = SpriteCallbackDummy;
+ }
+}
+
+static void DestroyAllIconsInRow(u8 row)
+{
+ u16 column;
+ u8 boxPosition = row;
+
+ for (column = 0; column < IN_BOX_COLUMNS; column++)
+ {
+ if (sPSSData->boxMonsSprites[boxPosition] != NULL)
+ {
+ DestroyBoxMonIcon(sPSSData->boxMonsSprites[boxPosition]);
+ sPSSData->boxMonsSprites[boxPosition] = NULL;
+ }
+ boxPosition += IN_BOX_ROWS;
+ }
+}
+
+static u8 sub_80CB2F8(u8 row, u16 times, s16 xDelta)
+{
+ s32 i;
+ u16 y = 44;
+ s16 xDest = 8 * (3 * row) + 100;
+ u16 x = xDest - ((times + 1) * xDelta);
+ u8 subpriority = 19 - row;
+ u8 count = 0;
+ u8 boxPosition = row;
+
+ if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
+ {
+ for (i = 0; i < IN_BOX_COLUMNS; i++)
+ {
+ if (sPSSData->boxSpecies[boxPosition] != SPECIES_NONE)
+ {
+ sPSSData->boxMonsSprites[boxPosition] = CreateMonIconSprite(sPSSData->boxSpecies[boxPosition],
+ sPSSData->boxPersonalities[boxPosition],
+ x, y, 2, subpriority);
+ if (sPSSData->boxMonsSprites[boxPosition] != NULL)
+ {
+ sPSSData->boxMonsSprites[boxPosition]->data[1] = times;
+ sPSSData->boxMonsSprites[boxPosition]->data[2] = xDelta;
+ sPSSData->boxMonsSprites[boxPosition]->data[3] = xDest;
+ sPSSData->boxMonsSprites[boxPosition]->callback = sub_80CB234;
+ count++;
+ }
+ }
+ boxPosition += IN_BOX_ROWS;
+ y += 24;
+ }
+ }
+ else
+ {
+ for (i = 0; i < IN_BOX_COLUMNS; i++)
+ {
+ if (sPSSData->boxSpecies[boxPosition] != SPECIES_NONE)
+ {
+ sPSSData->boxMonsSprites[boxPosition] = CreateMonIconSprite(sPSSData->boxSpecies[boxPosition],
+ sPSSData->boxPersonalities[boxPosition],
+ x, y, 2, subpriority);
+ if (sPSSData->boxMonsSprites[boxPosition] != NULL)
+ {
+ sPSSData->boxMonsSprites[boxPosition]->data[1] = times;
+ sPSSData->boxMonsSprites[boxPosition]->data[2] = 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;
+ count++;
+ }
+ }
+ boxPosition += IN_BOX_ROWS;
+ y += 24;
+ }
+ }
+
+ return count;
+}
+
+static void sub_80CB4CC(u8 boxId, s8 direction)
+{
+ sPSSData->field_C6A = 0;
+ sPSSData->field_C6B = boxId;
+ sPSSData->field_C69 = direction;
+ sPSSData->field_C60 = 32;
+ sPSSData->field_C64 = -(6 * direction);
+ sPSSData->field_C66 = 0;
+ SetBoxSpeciesAndPersonalities(boxId);
+ if (direction > 0)
+ sPSSData->field_C68 = 0;
+ else
+ sPSSData->field_C68 = IN_BOX_ROWS - 1;
+
+ sPSSData->field_C62 = (24 * sPSSData->field_C68) + 100;
+ sub_80CB1F0(sPSSData->field_C64);
+}
+
+static bool8 sub_80CB584(void)
+{
+ if (sPSSData->field_C60 != 0)
+ sPSSData->field_C60--;
+
+ switch (sPSSData->field_C6A)
+ {
+ case 0:
+ sPSSData->field_C62 += sPSSData->field_C64;
+ if (sPSSData->field_C62 <= 64 || sPSSData->field_C62 >= 252)
+ {
+ DestroyAllIconsInRow(sPSSData->field_C68);
+ sPSSData->field_C62 += sPSSData->field_C69 * 24;
+ sPSSData->field_C6A++;
+ }
+ break;
+ case 1:
+ sPSSData->field_C62 += sPSSData->field_C64;
+ sPSSData->field_C66 += sub_80CB2F8(sPSSData->field_C68, sPSSData->field_C60, sPSSData->field_C64);
+ if ((sPSSData->field_C69 > 0 && sPSSData->field_C68 == IN_BOX_ROWS - 1)
+ || (sPSSData->field_C69 < 0 && sPSSData->field_C68 == 0))
+ {
+ sPSSData->field_C6A++;
+ }
+ else
+ {
+ sPSSData->field_C68 += sPSSData->field_C69;
+ sPSSData->field_C6A = 0;
+ }
+ break;
+ case 2:
+ if (sPSSData->field_C66 == 0)
+ {
+ sPSSData->field_C60++;
+ return FALSE;
+ }
+ break;
+ default:
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+static void SetBoxSpeciesAndPersonalities(u8 boxId)
+{
+ s32 i, j, boxPosition;
+
+ boxPosition = 0;
+ for (i = 0; i < IN_BOX_COLUMNS; i++)
+ {
+ for (j = 0; j < IN_BOX_ROWS; j++)
+ {
+ sPSSData->boxSpecies[boxPosition] = GetBoxMonDataAt(boxId, boxPosition, MON_DATA_SPECIES2);
+ if (sPSSData->boxSpecies[boxPosition] != SPECIES_NONE)
+ sPSSData->boxPersonalities[boxPosition] = GetBoxMonDataAt(boxId, boxPosition, MON_DATA_PERSONALITY);
+ boxPosition++;
+ }
+ }
+
+ sPSSData->field_C5C = boxId;
+}
+
+static void DestroyBoxMonIconAtPosition(u8 boxPosition)
+{
+ if (sPSSData->boxMonsSprites[boxPosition] != NULL)
+ {
+ DestroyBoxMonIcon(sPSSData->boxMonsSprites[boxPosition]);
+ sPSSData->boxMonsSprites[boxPosition] = NULL;
+ }
+}
+
+static void SetBoxMonIconObjMode(u8 boxPosition, u8 objMode)
+{
+ if (sPSSData->boxMonsSprites[boxPosition] != NULL)
+ {
+ sPSSData->boxMonsSprites[boxPosition]->oam.objMode = objMode;
+ }
+}
+
+static void CreatePartyMonsSprites(bool8 arg0)
+{
+ u16 i, count;
+ u16 species = GetMonData(&gPlayerParty[0], MON_DATA_SPECIES2);
+ u32 personality = GetMonData(&gPlayerParty[0], MON_DATA_PERSONALITY);
+
+ sPSSData->partySprites[0] = CreateMonIconSprite(species, personality, 104, 64, 1, 12);
+ count = 1;
+ for (i = 1; i < PARTY_SIZE; i++)
+ {
+ species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2);
+ if (species != SPECIES_NONE)
+ {
+ personality = GetMonData(&gPlayerParty[i], MON_DATA_PERSONALITY);
+ sPSSData->partySprites[i] = CreateMonIconSprite(species, personality, 152, 8 * (3 * (i - 1)) + 16, 1, 12);
+ count++;
+ }
+ else
+ {
+ sPSSData->partySprites[i] = NULL;
+ }
+ }
+
+ if (!arg0)
+ {
+ for (i = 0; i < count; i++)
+ {
+ sPSSData->partySprites[i]->pos1.y -= 160;
+ sPSSData->partySprites[i]->invisible = TRUE;
+ }
+ }
+
+ if (sPSSData->boxOption == BOX_OPTION_MOVE_ITEMS)
+ {
+ 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;
+ }
+ }
+}
+
+static void sub_80CB950(void)
+{
+ u16 i, count;
+
+ sPSSData->field_C5E = 0;
+ for (i = 0, count = 0; i < PARTY_SIZE; i++)
+ {
+ if (sPSSData->partySprites[i] != NULL)
+ {
+ if (i != count)
+ {
+ sub_80CB9D0(sPSSData->partySprites[i], count);
+ sPSSData->partySprites[i] = NULL;
+ sPSSData->field_C5E++;
+ }
+ count++;
+ }
+ }
+}
+
+static u8 sub_80CB9BC(void)
+{
+ return sPSSData->field_C5E;
+}
+
+static void sub_80CB9D0(struct Sprite *sprite, u16 partyId)
+{
+ s16 x, y;
+
+ sprite->data[1] = partyId;
+ if (partyId == 0)
+ x = 104, y = 64;
+ else
+ x = 152, y = 8 * (3 * (partyId - 1)) + 16;
+
+ sprite->data[2] = (u16)(sprite->pos1.x) * 8;
+ sprite->data[3] = (u16)(sprite->pos1.y) * 8;
+ sprite->data[4] = ((x * 8) - sprite->data[2]) / 8;
+ sprite->data[5] = ((y * 8) - sprite->data[3]) / 8;
+ sprite->data[6] = 8;
+ sprite->callback = sub_80CBA3C;
+}
+
+static void sub_80CBA3C(struct Sprite *sprite)
+{
+ if (sprite->data[6] != 0)
+ {
+ s16 x = sprite->data[2] += sprite->data[4];
+ s16 y = sprite->data[3] += sprite->data[5];
+ sprite->pos1.x = x / 8u;
+ sprite->pos1.y = y / 8u;
+ sprite->data[6]--;
+ }
+ else
+ {
+ if (sprite->data[1] == 0)
+ {
+ sprite->pos1.x = 104;
+ sprite->pos1.y = 64;
+ }
+ else
+ {
+ sprite->pos1.x = 152;
+ sprite->pos1.y = 8 * (3 * (sprite->data[1] - 1)) + 16;
+ }
+ sprite->callback = SpriteCallbackDummy;
+ sPSSData->partySprites[sprite->data[1]] = sprite;
+ sPSSData->field_C5E--;
+ }
+}
+
+static void DestroyMovingMonIcon(void)
+{
+ if (sPSSData->movingMonSprite != NULL)
+ {
+ DestroyBoxMonIcon(sPSSData->movingMonSprite);
+ sPSSData->movingMonSprite = NULL;
+ }
+}
+
+static void sub_80CBAF0(s16 yDelta)
+{
+ u16 i, posY;
+
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ if (sPSSData->partySprites[i] != NULL)
+ {
+ sPSSData->partySprites[i]->pos1.y += yDelta;
+ posY = sPSSData->partySprites[i]->pos1.y + sPSSData->partySprites[i]->pos2.y + sPSSData->partySprites[i]->centerToCornerVecY;
+ posY += 16;
+ if (posY > 192)
+ sPSSData->partySprites[i]->invisible = TRUE;
+ else
+ sPSSData->partySprites[i]->invisible = FALSE;
+ }
+ }
+}
+
+static void DestroyPartyMonIcon(u8 partyId)
+{
+ if (sPSSData->partySprites[partyId] != NULL)
+ {
+ DestroyBoxMonIcon(sPSSData->partySprites[partyId]);
+ sPSSData->partySprites[partyId] = NULL;
+ }
+}
+
+static void DestroyAllPartyMonIcons(void)
+{
+ u16 i;
+
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ if (sPSSData->partySprites[i] != NULL)
+ {
+ DestroyBoxMonIcon(sPSSData->partySprites[i]);
+ sPSSData->partySprites[i] = NULL;
+ }
+ }
+}
+
+static void SetPartyMonIconObjMode(u8 partyId, u8 objMode)
+{
+ if (sPSSData->partySprites[partyId] != NULL)
+ {
+ sPSSData->partySprites[partyId]->oam.objMode = objMode;
+ }
+}
+
+static void sub_80CBC14(u8 mode, u8 id)
+{
+ if (mode == MODE_PARTY)
+ {
+ sPSSData->movingMonSprite = sPSSData->partySprites[id];
+ sPSSData->partySprites[id] = NULL;
+ }
+ else if (mode == MODE_BOX)
+ {
+ sPSSData->movingMonSprite = sPSSData->boxMonsSprites[id];
+ sPSSData->boxMonsSprites[id] = NULL;
+ }
+ else
+ {
+ return;
+ }
+
+ sPSSData->movingMonSprite->callback = sub_80CC100;
+ sPSSData->movingMonSprite->oam.priority = sub_80CAFAC();
+ sPSSData->movingMonSprite->subpriority = 7;
+}
+
+static void sub_80CBCAC(u8 boxId, u8 position)
+{
+ if (boxId == TOTAL_BOXES_COUNT) // party mon
+ {
+ sPSSData->partySprites[position] = sPSSData->movingMonSprite;
+ sPSSData->partySprites[position]->oam.priority = 1;
+ sPSSData->partySprites[position]->subpriority = 12;
+ }
+ else
+ {
+ sPSSData->boxMonsSprites[position] = sPSSData->movingMonSprite;
+ sPSSData->boxMonsSprites[position]->oam.priority = 2;
+ sPSSData->boxMonsSprites[position]->subpriority = 19 - (position % IN_BOX_ROWS);
+ }
+ sPSSData->movingMonSprite->callback = SpriteCallbackDummy;
+ sPSSData->movingMonSprite = NULL;
+}
+
+static void sub_80CBD5C(u8 boxId, u8 position)
+{
+ if (boxId == TOTAL_BOXES_COUNT) // party mon
+ sPSSData->field_B00 = &sPSSData->partySprites[position];
+ else
+ sPSSData->field_B00 = &sPSSData->boxMonsSprites[position];
+
+ sPSSData->movingMonSprite->callback = SpriteCallbackDummy;
+ sPSSData->field_C5D = 0;
+}
+
+static bool8 sub_80CBDC4(void)
+{
+ if (sPSSData->field_C5D == 16)
+ return FALSE;
+
+ sPSSData->field_C5D++;
+ if (sPSSData->field_C5D & 1)
+ {
+ (*sPSSData->field_B00)->pos1.y--;
+ sPSSData->movingMonSprite->pos1.y++;
+ }
+
+ (*sPSSData->field_B00)->pos2.x = gSineTable[sPSSData->field_C5D * 8] / 16;
+ sPSSData->movingMonSprite->pos2.x = -(gSineTable[sPSSData->field_C5D * 8] / 16);
+ if (sPSSData->field_C5D == 8)
+ {
+ sPSSData->movingMonSprite->oam.priority = (*sPSSData->field_B00)->oam.priority;
+ sPSSData->movingMonSprite->subpriority = (*sPSSData->field_B00)->subpriority;
+ (*sPSSData->field_B00)->oam.priority = sub_80CAFAC();
+ (*sPSSData->field_B00)->subpriority = 7;
+ }
+
+ if (sPSSData->field_C5D == 16)
+ {
+ struct Sprite *sprite = sPSSData->movingMonSprite;
+ sPSSData->movingMonSprite = (*sPSSData->field_B00);
+ *sPSSData->field_B00 = sprite;
+
+ sPSSData->movingMonSprite->callback = sub_80CC100;
+ (*sPSSData->field_B00)->callback = SpriteCallbackDummy;
+ }
+
+ return TRUE;
+}
+
+static void sub_80CBF14(u8 mode, u8 position)
+{
+ switch (mode)
+ {
+ case MODE_PARTY:
+ sPSSData->field_B04 = &sPSSData->partySprites[position];
+ break;
+ case MODE_BOX:
+ sPSSData->field_B04 = &sPSSData->boxMonsSprites[position];
+ break;
+ case MODE_2:
+ sPSSData->field_B04 = &sPSSData->movingMonSprite;
+ break;
+ default:
+ return;
+ }
+
+ if (*sPSSData->field_B04 != NULL)
+ {
+ InitSpriteAffineAnim(*sPSSData->field_B04);
+ (*sPSSData->field_B04)->oam.affineMode = 1;
+ (*sPSSData->field_B04)->affineAnims = gSpriteAffineAnimTable_857291C;
+ StartSpriteAffineAnim(*sPSSData->field_B04, 0);
+ }
+}
+
+static bool8 sub_80CBFD8(void)
+{
+ if (*sPSSData->field_B04 == NULL || (*sPSSData->field_B04)->invisible)
+ return FALSE;
+
+ if ((*sPSSData->field_B04)->affineAnimEnded)
+ (*sPSSData->field_B04)->invisible = TRUE;
+
+ return TRUE;
+}
+
+static void sub_80CC020(void)
+{
+ if (*sPSSData->field_B04 != NULL)
+ {
+ FreeOamMatrix((*sPSSData->field_B04)->oam.matrixNum);
+ DestroyBoxMonIcon(*sPSSData->field_B04);
+ *sPSSData->field_B04 = NULL;
+ }
+}
+
+static void sub_80CC064(void)
+{
+ if (*sPSSData->field_B04 != NULL)
+ {
+ (*sPSSData->field_B04)->invisible = FALSE;
+ StartSpriteAffineAnim(*sPSSData->field_B04, 1);
+ }
+}
+
+static bool8 sub_80CC0A0(void)
+{
+ if (sPSSData->field_B04 == NULL)
+ return FALSE;
+
+ if ((*sPSSData->field_B04)->affineAnimEnded)
+ sPSSData->field_B04 = NULL;
+
+ return TRUE;
+}
+
+static void SetMovingMonPriority(u8 priority)
+{
+ sPSSData->movingMonSprite->oam.priority = priority;
+}
+
+static void sub_80CC100(struct Sprite *sprite)
+{
+ sprite->pos1.x = sPSSData->field_CB4->pos1.x;
+ sprite->pos1.y = sPSSData->field_CB4->pos1.y + sPSSData->field_CB4->pos2.y + 4;
+}
+
+static u16 sub_80CC124(u16 species)
+{
+ u16 i, var;
+
+ for (i = 0; i < 40; i++)
+ {
+ if (sPSSData->field_B58[i] == species)
+ break;
+ }
+
+ if (i == 40)
+ {
+ for (i = 0; i < 40; i++)
+ {
+ if (sPSSData->field_B58[i] == 0)
+ break;
+ }
+ if (i == 40)
+ return 0xFFFF;
+ }
+
+ sPSSData->field_B58[i] = species;
+ sPSSData->field_B08[i]++;
+ var = 16 * i;
+ CpuCopy32(GetMonIconTiles(species, TRUE), (void*)(OBJ_VRAM0) + var * 32, 0x200);
+
+ return var;
+}
+
+static void sub_80CC1E0(u16 species)
+{
+ u16 i;
+
+ for (i = 0; i < 40; i++)
+ {
+ if (sPSSData->field_B58[i] == species)
+ {
+ if (--sPSSData->field_B08[i] == 0)
+ sPSSData->field_B58[i] = 0;
+ break;
+ }
+ }
+}
+
+static struct Sprite *CreateMonIconSprite(u16 species, u32 personality, s16 x, s16 y, u8 oamPriority, u8 subpriority)
+{
+ u16 tileNum;
+ u8 spriteId;
+ struct SpriteTemplate tempalte = gUnknown_085728D4;
+
+ species = GetIconSpecies(species, personality);
+ tempalte.paletteTag = 0xDAC0 + gMonIconPaletteIndices[species];
+ tileNum = sub_80CC124(species);
+ if (tileNum == 0xFFFF)
+ return NULL;
+
+ spriteId = CreateSprite(&tempalte, x, y, subpriority);
+ if (spriteId == MAX_SPRITES)
+ {
+ sub_80CC1E0(species);
+ return NULL;
+ }
+
+ gSprites[spriteId].oam.tileNum = tileNum;
+ gSprites[spriteId].oam.priority = oamPriority;
+ gSprites[spriteId].data[0] = species;
+ return &gSprites[spriteId];
+}
+
+static void DestroyBoxMonIcon(struct Sprite *sprite)
+{
+ sub_80CC1E0(sprite->data[0]);
+ DestroySprite(sprite);
+}
+
+static void sub_80CC32C(u8 boxId)
+{
+ u8 taskId = CreateTask(sub_80CC370, 2);
+
+ gTasks[taskId].data[2] = boxId;
+}
+
+static bool8 sub_80CC35C(void)
+{
+ return FuncIsActiveTask(sub_80CC370);
+}
+
+static void sub_80CC370(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->data[0])
+ {
+ case 0:
+ sPSSData->field_2D2 = 0;
+ sPSSData->bg2_X = 0;
+ task->data[1] = RequestDma3Fill(0, sPSSData->field_4AC4, 0x1000, 1);
+ break;
+ case 1:
+ if (CheckForSpaceForDma3Request(task->data[1]) == -1)
+ return;
+
+ SetBgTilemapBuffer(2, sPSSData->field_4AC4);
+ ShowBg(2);
+ break;
+ case 2:
+ LoadWallpaperGfx(task->data[2], 0);
+ break;
+ case 3:
+ if (!WaitForWallpaperGfxLoad())
+ return;
+
+ sub_80CCB50(task->data[2]);
+ sub_80CD02C();
+ sub_80CB028(task->data[2]);
+ SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) | BGCNT_CHARBASE(2) | BGCNT_SCREENBASE(27) | BGCNT_TXT512x256);
+ break;
+ case 4:
+ DestroyTask(taskId);
+ break;
+ default:
+ task->data[0] = 0;
+ return;
+ }
+
+ task->data[0]++;
+}
+
+static void SetUpScrollToBox(u8 boxId)
+{
+ s8 direction = sub_80CC644(boxId);
+
+ sPSSData->field_2CE = (direction > 0) ? 6 : -6;
+ sPSSData->field_2D3 = (direction > 0) ? 1 : 2;
+ sPSSData->field_2D0 = 32;
+ sPSSData->field_2D4 = boxId;
+ sPSSData->field_2D6 = (direction <= 0) ? 5 : 0;
+ sPSSData->field_2D8 = direction;
+ sPSSData->field_2DA = (direction > 0) ? 264 : 56;
+ sPSSData->field_2DC = (direction <= 0) ? 5 : 0;
+ sPSSData->field_2DE = 0;
+ sPSSData->field_2E0 = 2;
+ sPSSData->field_A64 = boxId;
+ sPSSData->field_A65 = direction;
+ sPSSData->field_A63 = 0;
+}
+
+static bool8 ScrollToBox(void)
+{
+ bool8 var;
+
+ switch (sPSSData->field_A63)
+ {
+ case 0:
+ LoadWallpaperGfx(sPSSData->field_A64, sPSSData->field_A65);
+ sPSSData->field_A63++;
+ case 1:
+ if (!WaitForWallpaperGfxLoad())
+ return TRUE;
+
+ sub_80CB4CC(sPSSData->field_A64, sPSSData->field_A65);
+ sub_80CCCFC(sPSSData->field_A64, sPSSData->field_A65);
+ sub_80CD0B8(sPSSData->field_A65);
+ break;
+ case 2:
+ var = sub_80CB584();
+ if (sPSSData->field_2D0 != 0)
+ {
+ sPSSData->bg2_X += sPSSData->field_2CE;
+ if (--sPSSData->field_2D0 != 0)
+ return TRUE;
+ sub_80CCEE0();
+ sub_80CD158();
+ }
+ return var;
+ }
+
+ sPSSData->field_A63++;
+ return TRUE;
+}
+
+static s8 sub_80CC644(u8 boxId)
+{
+ u8 i;
+ u8 currentBox = StorageGetCurrentBox();
+
+ for (i = 0; currentBox != boxId; i++)
+ {
+ currentBox++;
+ if (currentBox >= TOTAL_BOXES_COUNT)
+ currentBox = 0;
+ }
+
+ return (i < TOTAL_BOXES_COUNT / 2) ? 1 : -1;
+}
+
+static void SetWallpaperForCurrentBox(u8 wallpaperId)
+{
+ u8 boxId = StorageGetCurrentBox();
+ SetBoxWallpaper(boxId, wallpaperId);
+ sPSSData->wallpaperChangeState = 0;
+}
+
+static bool8 DoWallpaperGfxChange(void)
+{
+ switch (sPSSData->wallpaperChangeState)
+ {
+ case 0:
+ BeginNormalPaletteFade(sPSSData->field_738, 1, 0, 16, RGB_WHITEALPHA);
+ sPSSData->wallpaperChangeState++;
+ break;
+ case 1:
+ if (!UpdatePaletteFade())
+ {
+ u8 curBox = StorageGetCurrentBox();
+ LoadWallpaperGfx(curBox, 0);
+ sPSSData->wallpaperChangeState++;
+ }
+ break;
+ case 2:
+ if (WaitForWallpaperGfxLoad() == TRUE)
+ {
+ sub_80CCF9C();
+ BeginNormalPaletteFade(sPSSData->field_738, 1, 16, 0, RGB_WHITEALPHA);
+ sPSSData->wallpaperChangeState++;
+ }
+ break;
+ case 3:
+ if (!UpdatePaletteFade())
+ sPSSData->wallpaperChangeState++;
+ break;
+ case 4:
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+static void LoadWallpaperGfx(u8 boxId, s8 direction)
+{
+ u8 wallpaperId;
+ const struct WallpaperTable *wallpaperGfx;
+ void *iconGfx;
+ u32 size1, size2;
+
+ sPSSData->field_6F9 = 0;
+ sPSSData->field_6FA = boxId;
+ sPSSData->field_6FB = direction;
+ if (sPSSData->field_6FB != 0)
+ {
+ sPSSData->field_2D2 = (sPSSData->field_2D2 == 0);
+ sub_80CCAE0(sPSSData->field_4AC4);
+ }
+
+ wallpaperId = GetBoxWallpaper(sPSSData->field_6FA);
+ if (wallpaperId != WALLPAPER_FRIENDS)
+ {
+ wallpaperGfx = &gWallpaperTable[wallpaperId];
+ LZ77UnCompWram(wallpaperGfx->tileMap, sPSSData->field_792);
+ sub_80CCA3C(sPSSData->field_792, sPSSData->field_6FB, sPSSData->field_2D2);
+
+ if (sPSSData->field_6FB != 0)
+ LoadPalette(wallpaperGfx->palettes, (sPSSData->field_2D2 * 32) + 0x40, 0x40);
+ else
+ CpuCopy16(wallpaperGfx->palettes, &gPlttBufferUnfaded[(sPSSData->field_2D2 * 32) + 0x40], 0x40);
+
+ sPSSData->wallpaperTiles = malloc_and_decompress(wallpaperGfx->tiles, &size1);
+ LoadBgTiles(2, sPSSData->wallpaperTiles, size1, sPSSData->field_2D2 << 8);
+ }
+ else
+ {
+ wallpaperGfx = &gFriendsWallpaperTable[GetWaldaWallpaperPatternId()];
+ LZ77UnCompWram(wallpaperGfx->tileMap, sPSSData->field_792);
+ sub_80CCA3C(sPSSData->field_792, sPSSData->field_6FB, sPSSData->field_2D2);
+
+ CpuCopy16(wallpaperGfx->palettes, sPSSData->field_792, 0x40);
+ CpuCopy16(GetWaldaWallpaperColorsPtr(), &sPSSData->field_792[1], 4);
+ CpuCopy16(GetWaldaWallpaperColorsPtr(), &sPSSData->field_792[17], 4);
+
+ if (sPSSData->field_6FB != 0)
+ LoadPalette(sPSSData->field_792, (sPSSData->field_2D2 * 32) + 0x40, 0x40);
+ else
+ CpuCopy16(sPSSData->field_792, &gPlttBufferUnfaded[(sPSSData->field_2D2 * 32) + 0x40], 0x40);
+
+ sPSSData->wallpaperTiles = malloc_and_decompress(wallpaperGfx->tiles, &size1);
+ iconGfx = malloc_and_decompress(gFriendsIcons[GetWaldaWallpaperIconId()], &size2);
+ CpuCopy32(iconGfx, sPSSData->wallpaperTiles + 0x800, size2);
+ Free(iconGfx);
+ LoadBgTiles(2, sPSSData->wallpaperTiles, size1, sPSSData->field_2D2 << 8);
+ }
+
+ CopyBgTilemapBufferToVram(2);
+}
+
+static bool32 WaitForWallpaperGfxLoad(void)
+{
+ if (IsDma3ManagerBusyWithBgCopy())
+ return FALSE;
+
+ if (sPSSData->wallpaperTiles != NULL)
+ {
+ Free(sPSSData->wallpaperTiles);
+ sPSSData->wallpaperTiles = NULL;
+ }
+ return TRUE;
+}
+
+static void sub_80CCA3C(const void *tilemap, s8 direction, u8 arg2)
+{
+ s16 var = (arg2 * 2) + 3;
+ s16 x = ((sPSSData->bg2_X / 8 + 10) + (direction * 24)) & 0x3F;
+
+ CopyRectToBgTilemapBufferRect(2, tilemap, 0, 0, 0x14, 0x12, x, 2, 0x14, 0x12, 0x11, arg2 << 8, var);
+
+ if (direction == 0)
+ return;
+ else if (direction > 0)
+ x *= 1, x += 0x14; // x * 1 is needed to match, but can be safely removed as it makes no functional difference
+ else
+ x -= 4;
+
+ FillBgTilemapBufferRect(2, 0, x, 2, 4, 0x12, 0x11);
+}
+
+static void sub_80CCAE0(void *arg0)
+{
+ u16 i;
+ u16 *dest = arg0;
+ s16 r3 = ((sPSSData->bg2_X / 8) + 30) & 0x3F;
+
+ if (r3 <= 31)
+ dest += r3 + 0x260;
+ else
+ dest += r3 + 0x640;
+
+ for (i = 0; i < 0x2C; i++)
+ {
+ *dest++ = 0;
+ r3 = (r3 + 1) & 0x3F;
+ if (r3 == 0)
+ dest -= 0x420;
+ if (r3 == 0x20)
+ dest += 0x3e0;
+ }
+}
+
+static void sub_80CCB50(u8 boxId)
+{
+ u8 tagIndex;
+ s16 r6;
+ u16 i;
+
+ struct SpriteSheet spriteSheet = {sPSSData->field_2F8, 0x200, TAG_TILE_3};
+ struct SpritePalette palettes[] = {
+ {sPSSData->field_6FC, TAG_PAL_DAC9},
+ {}
+ };
+
+ u16 wallpaperId = GetBoxWallpaper(boxId);
+
+ sPSSData->field_6FC[14] = gUnknown_08577574[wallpaperId][0];
+ sPSSData->field_6FC[15] = gUnknown_08577574[wallpaperId][1];
+ LoadSpritePalettes(palettes);
+ sPSSData->field_738 = 0x3f0;
+
+ tagIndex = IndexOfSpritePaletteTag(TAG_PAL_DAC9);
+ sPSSData->field_71C = 0x10e + 16 * tagIndex;
+ sPSSData->field_738 |= 0x10000 << tagIndex;
+
+ tagIndex = IndexOfSpritePaletteTag(TAG_PAL_DAC9);
+ sPSSData->field_71E = 0x10e + 16 * tagIndex;
+ sPSSData->field_738 |= 0x10000 << tagIndex;
+
+ StringCopyPadded(sPSSData->field_21B8, GetBoxNamePtr(boxId), 0, 8);
+ sub_80C6D80(sPSSData->field_21B8, sPSSData->field_2F8, 0, 0, 2);
+ LoadSpriteSheet(&spriteSheet);
+ r6 = sub_80CD00C(GetBoxNamePtr(boxId));
+
+ for (i = 0; i < 2; i++)
+ {
+ u8 spriteId = CreateSprite(&gSpriteTemplate_857B0A8, r6 + i * 32, 28, 24);
+ sPSSData->field_720[i] = &gSprites[spriteId];
+ StartSpriteAnim(sPSSData->field_720[i], i);
+ }
+ sPSSData->field_6F8 = 0;
+}
+
+static void sub_80CCCFC(u8 boxId, s8 direction)
+{
+ u16 r8;
+ s16 x, x2;
+ u16 i;
+ struct SpriteSheet spriteSheet = {sPSSData->field_2F8, 0x200, TAG_TILE_3};
+ struct SpriteTemplate template = gSpriteTemplate_857B0A8;
+
+ sPSSData->field_6F8 = (sPSSData->field_6F8 == 0);
+ if (sPSSData->field_6F8 == 0)
+ {
+ spriteSheet.tag = TAG_TILE_3;
+ r8 = sPSSData->field_71C;
+ }
+ else
+ {
+ spriteSheet.tag = TAG_TILE_4;
+ r8 = sPSSData->field_71C;
+ template.tileTag = TAG_TILE_4;
+ template.paletteTag = TAG_PAL_DAC9;
+ }
+
+ StringCopyPadded(sPSSData->field_21B8, GetBoxNamePtr(boxId), 0, 8);
+ sub_80C6D80(sPSSData->field_21B8, sPSSData->field_2F8, 0, 0, 2);
+ LoadSpriteSheet(&spriteSheet);
+ LoadPalette(gUnknown_08577574[GetBoxWallpaper(boxId)], r8, 4);
+ x = sub_80CD00C(GetBoxNamePtr(boxId));
+ x2 = x;
+ x2 += direction * 192;
+
+ for (i = 0; i < 2; i++)
+ {
+ u8 spriteId = CreateSprite(&template, i * 32 + x2, 28, 24);
+
+ sPSSData->field_728[i] = &gSprites[spriteId];
+ sPSSData->field_728[i]->data[0] = (-direction) * 6;
+ sPSSData->field_728[i]->data[1] = i * 32 + x;
+ sPSSData->field_728[i]->data[2] = 0;
+ sPSSData->field_728[i]->callback = sub_80CCF30;
+ StartSpriteAnim(sPSSData->field_728[i], i);
+
+ sPSSData->field_720[i]->data[0] = (-direction) * 6;
+ sPSSData->field_720[i]->data[1] = 1;
+ sPSSData->field_720[i]->callback = sub_80CCF64;
+ }
+}
+
+static void sub_80CCEE0(void)
+{
+ if (sPSSData->field_6F8 == 0)
+ FreeSpriteTilesByTag(TAG_TILE_4);
+ else
+ FreeSpriteTilesByTag(TAG_TILE_3);
+
+ sPSSData->field_720[0] = sPSSData->field_728[0];
+ sPSSData->field_720[1] = sPSSData->field_728[1];
+}
+
+static void sub_80CCF30(struct Sprite *sprite)
+{
+ if (sprite->data[2] != 0)
+ sprite->data[2]--;
+ else if ((sprite->pos1.x += sprite->data[0]) == sprite->data[1])
+ sprite->callback = SpriteCallbackDummy;
+}
+
+static void sub_80CCF64(struct Sprite *sprite)
+{
+ if (sprite->data[1] != 0)
+ {
+ sprite->data[1]--;
+ }
+ else
+ {
+ sprite->pos1.x += sprite->data[0];
+ sprite->data[2] = sprite->pos1.x + sprite->pos2.x;
+ if (sprite->data[2] < 0x40 || sprite->data[2] > 0x100)
+ DestroySprite(sprite);
+ }
+}
+
+static void sub_80CCF9C(void)
+{
+ u8 boxId = StorageGetCurrentBox();
+ u8 wallpaperId = GetBoxWallpaper(boxId);
+ if (sPSSData->field_6F8 == 0)
+ CpuCopy16(gUnknown_08577574[wallpaperId], gPlttBufferUnfaded + sPSSData->field_71C, 4);
+ else
+ CpuCopy16(gUnknown_08577574[wallpaperId], gPlttBufferUnfaded + sPSSData->field_71E, 4);
+}
+
+static s16 sub_80CD00C(const u8 *string)
+{
+ return 0xB0 - GetStringWidth(1, string, 0) / 2;
+}
+
+static void sub_80CD02C(void)
+{
+ u16 i;
+
+ LoadSpriteSheet(&gUnknown_0857B080);
+ for (i = 0; i < 2; i++)
+ {
+ u8 spriteId = CreateSprite(&gUnknown_0857B0E0, 0x5c + i * 0x88, 28, 22);
+ if (spriteId != MAX_SPRITES)
+ {
+ struct Sprite *sprite = &gSprites[spriteId];
+ StartSpriteAnim(sprite, i);
+ sprite->data[3] = (i == 0) ? -1 : 1;
+ sPSSData->field_730[i] = sprite;
+ }
+ }
+ if (IsCursorOnBox())
+ sub_80CD1A8(TRUE);
+}
+
+static void sub_80CD0B8(s8 direction)
+{
+ u16 i;
+
+ for (i = 0; i < 2; i++)
+ {
+ sPSSData->field_730[i]->pos2.x = 0;
+ sPSSData->field_730[i]->data[0] = 2;
+ }
+ if (direction < 0)
+ {
+ sPSSData->field_730[0]->data[1] = 29;
+ sPSSData->field_730[1]->data[1] = 5;
+ sPSSData->field_730[0]->data[2] = 0x48;
+ sPSSData->field_730[1]->data[2] = 0x48;
+ }
+ else
+ {
+ sPSSData->field_730[0]->data[1] = 5;
+ sPSSData->field_730[1]->data[1] = 29;
+ sPSSData->field_730[0]->data[2] = 0xF8;
+ sPSSData->field_730[1]->data[2] = 0xF8;
+ }
+ sPSSData->field_730[0]->data[7] = 0;
+ sPSSData->field_730[1]->data[7] = 1;
+}
+
+static void sub_80CD158(void)
+{
+ u16 i;
+
+ for (i = 0; i < 2; i++)
+ {
+ sPSSData->field_730[i]->pos1.x = 0x88 * i + 0x5c;
+ sPSSData->field_730[i]->pos2.x = 0;
+ sPSSData->field_730[i]->invisible = FALSE;
+ }
+ sub_80CD1A8(TRUE);
+}
+
+static void sub_80CD1A8(bool8 a0)
+{
+ u16 i;
+
+ if (a0)
+ {
+ for (i = 0; i < 2; i++)
+ {
+ sPSSData->field_730[i]->data[0] = 1;
+ sPSSData->field_730[i]->data[1] = 0;
+ sPSSData->field_730[i]->data[2] = 0;
+ sPSSData->field_730[i]->data[4] = 0;
+ }
+ }
+ else
+ {
+ for (i = 0; i < 2; i++)
+ {
+ sPSSData->field_730[i]->data[0] = 0;
+ }
+ }
+}
+
+static void sub_80CD210(struct Sprite *sprite)
+{
+ switch (sprite->data[0])
+ {
+ case 0:
+ sprite->pos2.x = 0;
+ break;
+ case 1:
+ if (++sprite->data[1] > 3)
+ {
+ sprite->data[1] = 0;
+ sprite->pos2.x += sprite->data[3];
+ if (++sprite->data[2] > 5)
+ {
+ sprite->data[2] = 0;
+ sprite->pos2.x = 0;
+ }
+ }
+ break;
+ case 2:
+ sprite->data[0] = 3;
+ break;
+ case 3:
+ sprite->pos1.x -= sPSSData->field_2CE;
+ if (sprite->pos1.x < 73 || sprite->pos1.x > 247)
+ sprite->invisible = TRUE;
+ if (--sprite->data[1] == 0)
+ {
+ sprite->pos1.x = sprite->data[2];
+ sprite->invisible = FALSE;
+ sprite->data[0] = 4;
+ }
+ break;
+ case 4:
+ sprite->pos1.x -= sPSSData->field_2CE;
+ break;
+ }
+}
+
+static struct Sprite *sub_80CD2E8(u16 x, u16 y, u8 animId, u8 priority, u8 subpriority)
+{
+ u8 spriteId = CreateSprite(&gUnknown_0857B0E0, x, y, subpriority);
+ if (spriteId == MAX_SPRITES)
+ return NULL;
+
+ animId %= 2;
+ StartSpriteAnim(&gSprites[spriteId], animId);
+ gSprites[spriteId].oam.priority = priority;
+ gSprites[spriteId].callback = SpriteCallbackDummy;
+ return &gSprites[spriteId];
+}
+
+static void sub_80CD36C(void)
+{
+ if (sPSSData->boxOption != BOX_OPTION_DEPOSIT)
+ sBoxCursorArea = CURSOR_AREA_IN_BOX;
+ else
+ sBoxCursorArea = CURSOR_AREA_IN_PARTY;
+
+ sBoxCursorPosition = 0;
+ sIsMonBeingMoved = FALSE;
+ sMovingMonOrigBoxId = 0;
+ sMovingMonOrigBoxPos = 0;
+ sCanOnlyMove = FALSE;
+ sub_80CDC0C();
+ sub_80CFC14();
+ sPSSData->field_CD6 = 1;
+ sPSSData->inBoxMovingMode = 0;
+ sub_80CEB40();
+}
+
+static void sub_80CD3EC(void)
+{
+ sub_80CFC14();
+ sub_80CEBDC();
+ sPSSData->field_CD6 = 1;
+ sPSSData->inBoxMovingMode = 0;
+ if (sIsMonBeingMoved)
+ {
+ sPSSData->movingMon = gUnknown_02039D14;
+ CreateMovingMonIcon();
+ }
+}
+
+static void sub_80CD444(u8 cursorArea, u8 cursorPosition, u16 *x, u16 *y)
+{
+ switch (cursorArea)
+ {
+ case CURSOR_AREA_IN_BOX:
+ *x = (cursorPosition % IN_BOX_ROWS) * 24 + 100;
+ *y = (cursorPosition / IN_BOX_ROWS) * 24 + 32;
+ break;
+ case CURSOR_AREA_IN_PARTY:
+ if (cursorPosition == 0)
+ {
+ *x = 0x68;
+ *y = 0x34;
+ }
+ else if (cursorPosition == PARTY_SIZE)
+ {
+ *x = 0x98;
+ *y = 0x84;
+ }
+ else
+ {
+ *x = 0x98;
+ *y = (cursorPosition - 1) * 24 + 4;
+ }
+ break;
+ case CURSOR_AREA_BOX:
+ *x = 0xa2;
+ *y = 0x0c;
+ break;
+ case CURSOR_AREA_BUTTONS:
+ *y = sIsMonBeingMoved ? 8 : 14;
+ *x = cursorPosition * 0x58 + 0x78;
+ break;
+ case 4:
+ *x = 0xa0;
+ *y = 0x60;
+ break;
+ }
+}
+
+static u16 sub_80CD504(void)
+{
+ switch (sBoxCursorArea)
+ {
+ case CURSOR_AREA_IN_PARTY:
+ return GetMonData(&gPlayerParty[sBoxCursorPosition], MON_DATA_SPECIES);
+ case CURSOR_AREA_IN_BOX:
+ return GetCurrentBoxMonData(sBoxCursorPosition, MON_DATA_SPECIES);
+ default:
+ return SPECIES_NONE;
+ }
+}
+
+static bool8 sub_80CD554(void)
+{
+ s16 tmp;
+
+ if (sPSSData->field_CD0 == 0)
+ {
+ if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
+ return FALSE;
+ else
+ return sub_80D1218();
+ }
+ else if (--sPSSData->field_CD0 != 0)
+ {
+ sPSSData->field_CBC += sPSSData->field_CC4;
+ sPSSData->field_CC0 += sPSSData->field_CC8;
+ sPSSData->field_CB4->pos1.x = sPSSData->field_CBC >> 8;
+ sPSSData->field_CB4->pos1.y = sPSSData->field_CC0 >> 8;
+ if (sPSSData->field_CB4->pos1.x > 0x100)
+ {
+ tmp = sPSSData->field_CB4->pos1.x - 0x100;
+ sPSSData->field_CB4->pos1.x = tmp + 0x40;
+ }
+ if (sPSSData->field_CB4->pos1.x < 0x40)
+ {
+ tmp = 0x40 - sPSSData->field_CB4->pos1.x;
+ sPSSData->field_CB4->pos1.x = 0x100 - tmp;
+ }
+ if (sPSSData->field_CB4->pos1.y > 0xb0)
+ {
+ tmp = sPSSData->field_CB4->pos1.y - 0xb0;
+ sPSSData->field_CB4->pos1.y = tmp - 0x10;
+ }
+ if (sPSSData->field_CB4->pos1.y < -0x10)
+ {
+ tmp = -0x10 - sPSSData->field_CB4->pos1.y;
+ sPSSData->field_CB4->pos1.y = 0xb0 - tmp;
+ }
+ if (sPSSData->field_CD7 && --sPSSData->field_CD7 == 0)
+ sPSSData->field_CB4->vFlip = (sPSSData->field_CB4->vFlip == FALSE);
+ }
+ else
+ {
+ sPSSData->field_CB4->pos1.x = sPSSData->field_CCC;
+ sPSSData->field_CB4->pos1.y = sPSSData->field_CCE;
+ sub_80CDA68();
+ }
+
+ return TRUE;
+}
+
+static void sub_80CD6AC(u8 newCurosrArea, u8 newCursorPosition)
+{
+ u16 x, y;
+
+ sub_80CD444(newCurosrArea, newCursorPosition, &x, &y);
+ sPSSData->field_CD4 = newCurosrArea;
+ sPSSData->field_CD5 = newCursorPosition;
+ sPSSData->field_CCC = x;
+ sPSSData->field_CCE = y;
+}
+
+static void sub_80CD70C(void)
+{
+ int r7, r0;
+
+ if (sPSSData->field_CD2 != 0 || sPSSData->field_CD3 != 0)
+ sPSSData->field_CD0 = 12;
+ else
+ sPSSData->field_CD0 = 6;
+
+ if (sPSSData->field_CD7)
+ sPSSData->field_CD7 = sPSSData->field_CD0 >> 1;
+
+ switch (sPSSData->field_CD2)
+ {
+ default:
+ r7 = sPSSData->field_CCE - sPSSData->field_CB4->pos1.y;
+ break;
+ case -1:
+ r7 = sPSSData->field_CCE - 0xc0 - sPSSData->field_CB4->pos1.y;
+ break;
+ case 1:
+ r7 = sPSSData->field_CCE + 0xc0 - sPSSData->field_CB4->pos1.y;
+ break;
+ }
+
+ switch (sPSSData->field_CD3)
+ {
+ default:
+ r0 = sPSSData->field_CCC - sPSSData->field_CB4->pos1.x;
+ break;
+ case -1:
+ r0 = sPSSData->field_CCC - 0xc0 - sPSSData->field_CB4->pos1.x;
+ break;
+ case 1:
+ r0 = sPSSData->field_CCC + 0xc0 - sPSSData->field_CB4->pos1.x;
+ break;
+ }
+
+ r7 <<= 8;
+ r0 <<= 8;
+ sPSSData->field_CC4 = r0 / sPSSData->field_CD0;
+ sPSSData->field_CC8 = r7 / sPSSData->field_CD0;
+ sPSSData->field_CBC = sPSSData->field_CB4->pos1.x << 8;
+ sPSSData->field_CC0 = sPSSData->field_CB4->pos1.y << 8;
+}
+
+static void sub_80CD894(u8 newCurosrArea, u8 newCursorPosition)
+{
+ sub_80CD6AC(newCurosrArea, newCursorPosition);
+ sub_80CD70C();
+ if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
+ {
+ if (sPSSData->inBoxMovingMode == 0 && !sIsMonBeingMoved)
+ StartSpriteAnim(sPSSData->field_CB4, 1);
+ }
+ else
+ {
+ if (!IsActiveItemMoving())
+ StartSpriteAnim(sPSSData->field_CB4, 1);
+ }
+
+ if (sPSSData->boxOption == BOX_OPTION_MOVE_ITEMS)
+ {
+ if (sBoxCursorArea == CURSOR_AREA_IN_BOX)
+ sub_80D0E50(CURSOR_AREA_IN_BOX, sBoxCursorPosition);
+ else if (sBoxCursorArea == CURSOR_AREA_IN_PARTY)
+ sub_80D0E50(CURSOR_AREA_IN_PARTY, sBoxCursorPosition);
+
+ if (newCurosrArea == CURSOR_AREA_IN_BOX)
+ sub_80D0D8C(newCurosrArea, newCursorPosition);
+ else if (newCurosrArea == CURSOR_AREA_IN_PARTY)
+ sub_80D0D8C(newCurosrArea, newCursorPosition);
+ }
+
+ if (newCurosrArea == CURSOR_AREA_IN_PARTY && sBoxCursorArea != CURSOR_AREA_IN_PARTY)
+ {
+ sPSSData->field_CD6 = newCurosrArea;
+ sPSSData->field_CB8->invisible = TRUE;
+ }
+
+ switch (newCurosrArea)
+ {
+ case CURSOR_AREA_IN_PARTY:
+ case CURSOR_AREA_BOX:
+ case CURSOR_AREA_BUTTONS:
+ sPSSData->field_CB4->oam.priority = 1;
+ sPSSData->field_CB8->invisible = TRUE;
+ sPSSData->field_CB8->oam.priority = 1;
+ break;
+ case CURSOR_AREA_IN_BOX:
+ if (sPSSData->inBoxMovingMode != 0)
+ {
+ sPSSData->field_CB4->oam.priority = 0;
+ sPSSData->field_CB8->invisible = TRUE;
+ }
+ else
+ {
+ sPSSData->field_CB4->oam.priority = 2;
+ if (sBoxCursorArea == CURSOR_AREA_IN_BOX && sIsMonBeingMoved)
+ SetMovingMonPriority(2);
+ }
+ break;
+ }
+}
+
+static void sub_80CDA68(void)
+{
+ sBoxCursorArea = sPSSData->field_CD4;
+ sBoxCursorPosition = sPSSData->field_CD5;
+ if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
+ {
+ if (sPSSData->inBoxMovingMode == 0 && !sIsMonBeingMoved)
+ StartSpriteAnim(sPSSData->field_CB4, 0);
+ }
+ else
+ {
+ if (!IsActiveItemMoving())
+ StartSpriteAnim(sPSSData->field_CB4, 0);
+ }
+
+ sub_80CEB40();
+ switch (sBoxCursorArea)
+ {
+ case CURSOR_AREA_BUTTONS:
+ SetMovingMonPriority(1);
+ break;
+ case CURSOR_AREA_BOX:
+ sub_80CD1A8(TRUE);
+ break;
+ case CURSOR_AREA_IN_PARTY:
+ sPSSData->field_CB8->subpriority = 13;
+ SetMovingMonPriority(1);
+ break;
+ case CURSOR_AREA_IN_BOX:
+ if (sPSSData->inBoxMovingMode == 0)
+ {
+ sPSSData->field_CB4->oam.priority = 1;
+ sPSSData->field_CB8->oam.priority = 2;
+ sPSSData->field_CB8->subpriority = 21;
+ sPSSData->field_CB8->invisible = FALSE;
+ SetMovingMonPriority(2);
+ }
+ break;
+ }
+}
+
+static void sub_80CDBA0(void)
+{
+ u8 partyCount;
+
+ if (!sIsMonBeingMoved)
+ {
+ partyCount = 0;
+ }
+ else
+ {
+ partyCount = CalculatePlayerPartyCount();
+ if (partyCount >= PARTY_SIZE)
+ partyCount = PARTY_SIZE - 1;
+ }
+ if (sPSSData->field_CB4->vFlip)
+ sPSSData->field_CD7 = 1;
+ sub_80CD894(CURSOR_AREA_IN_PARTY, partyCount);
+}
+
+static void sub_80CDBF8(u8 cursorBoxPosition)
+{
+ sub_80CD894(CURSOR_AREA_IN_BOX, cursorBoxPosition);
+}
+
+EWRAM_DATA static u8 gUnknown_02039D7E = 0;
+
+static void sub_80CDC0C(void)
+{
+ gUnknown_02039D7E = 0;
+}
+
+static void sub_80CDC18(void)
+{
+ gUnknown_02039D7E = sBoxCursorPosition;
+}
+
+static u8 sub_80CDC2C(void)
+{
+ return gUnknown_02039D7E;
+}
+
+static void InitMonPlaceChange(u8 a0)
+{
+ static bool8 (*const placeChangeFuncs[])(void) =
+ {
+ MonPlaceChange_Move,
+ MonPlaceChange_Place,
+ MonPlaceChange_Shift,
+ };
+
+ sPSSData->monPlaceChangeFunc = placeChangeFuncs[a0];
+ sPSSData->monPlaceChangeState = 0;
+}
+
+static void sub_80CDC64(bool8 arg0)
+{
+ if (!arg0)
+ sPSSData->monPlaceChangeFunc = sub_80CDEB4;
+ else
+ sPSSData->monPlaceChangeFunc = sub_80CDEC4;
+
+ sPSSData->monPlaceChangeState = 0;
+}
+
+static bool8 DoMonPlaceChange(void)
+{
+ return sPSSData->monPlaceChangeFunc();
+}
+
+static bool8 MonPlaceChange_Move(void)
+{
+ switch (sPSSData->monPlaceChangeState)
+ {
+ case 0:
+ if (sIsMonBeingMoved)
+ return FALSE;
+ StartSpriteAnim(sPSSData->field_CB4, 2);
+ sPSSData->monPlaceChangeState++;
+ break;
+ case 1:
+ if (!sub_80CDED4())
+ {
+ StartSpriteAnim(sPSSData->field_CB4, 3);
+ MoveMon();
+ sPSSData->monPlaceChangeState++;
+ }
+ break;
+ case 2:
+ if (!sub_80CDF08())
+ sPSSData->monPlaceChangeState++;
+ break;
+ case 3:
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+static bool8 MonPlaceChange_Place(void)
+{
+ switch (sPSSData->monPlaceChangeState)
+ {
+ case 0:
+ if (!sub_80CDED4())
+ {
+ StartSpriteAnim(sPSSData->field_CB4, 2);
+ PlaceMon();
+ sPSSData->monPlaceChangeState++;
+ }
+ break;
+ case 1:
+ if (!sub_80CDF08())
+ {
+ StartSpriteAnim(sPSSData->field_CB4, 0);
+ sPSSData->monPlaceChangeState++;
+ }
+ break;
+ case 2:
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+static bool8 MonPlaceChange_Shift(void)
+{
+ switch (sPSSData->monPlaceChangeState)
+ {
+ case 0:
+ switch (sBoxCursorArea)
+ {
+ case CURSOR_AREA_IN_PARTY:
+ sPSSData->field_D91 = TOTAL_BOXES_COUNT;
+ break;
+ case CURSOR_AREA_IN_BOX:
+ sPSSData->field_D91 = StorageGetCurrentBox();
+ break;
+ default:
+ return FALSE;
+ }
+ StartSpriteAnim(sPSSData->field_CB4, 2);
+ sub_80CBD5C(sPSSData->field_D91, sBoxCursorPosition);
+ sPSSData->monPlaceChangeState++;
+ break;
+ case 1:
+ if (!sub_80CBDC4())
+ {
+ StartSpriteAnim(sPSSData->field_CB4, 3);
+ SetShiftedMonData(sPSSData->field_D91, sBoxCursorPosition);
+ sPSSData->monPlaceChangeState++;
+ }
+ break;
+ case 2:
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+static bool8 sub_80CDEB4(void)
+{
+ return sub_80CDED4();
+}
+
+static bool8 sub_80CDEC4(void)
+{
+ return sub_80CDF08();
+}
+
+static bool8 sub_80CDED4(void)
+{
+ switch (sPSSData->field_CB4->pos2.y)
+ {
+ default:
+ sPSSData->field_CB4->pos2.y++;
+ break;
+ case 0:
+ sPSSData->field_CB4->pos2.y++;
+ break;
+ case 8:
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+static bool8 sub_80CDF08(void)
+{
+ switch (sPSSData->field_CB4->pos2.y)
+ {
+ case 0:
+ return FALSE;
+ default:
+ sPSSData->field_CB4->pos2.y--;
+ break;
+ }
+
+ return TRUE;
+}
+
+static void MoveMon(void)
+{
+ switch (sBoxCursorArea)
+ {
+ case CURSOR_AREA_IN_PARTY:
+ SetMovedMonData(TOTAL_BOXES_COUNT, sBoxCursorPosition);
+ sub_80CBC14(MODE_PARTY, sBoxCursorPosition);
+ break;
+ case CURSOR_AREA_IN_BOX:
+ if (sPSSData->inBoxMovingMode == 0)
+ {
+ SetMovedMonData(StorageGetCurrentBox(), sBoxCursorPosition);
+ sub_80CBC14(MODE_BOX, sBoxCursorPosition);
+ }
+ break;
+ default:
+ return;
+ }
+
+ sIsMonBeingMoved = TRUE;
+}
+
+static void PlaceMon(void)
+{
+ u8 boxId;
+
+ switch (sBoxCursorArea)
+ {
+ case CURSOR_AREA_IN_PARTY:
+ SetPlacedMonData(TOTAL_BOXES_COUNT, sBoxCursorPosition);
+ sub_80CBCAC(TOTAL_BOXES_COUNT, sBoxCursorPosition);
+ break;
+ case CURSOR_AREA_IN_BOX:
+ boxId = StorageGetCurrentBox();
+ SetPlacedMonData(boxId, sBoxCursorPosition);
+ sub_80CBCAC(boxId, sBoxCursorPosition);
+ break;
+ default:
+ return;
+ }
+
+ sIsMonBeingMoved = FALSE;
+}
+
+static void sub_80CE00C(void)
+{
+ sub_80CEB40();
+}
+
+static void SetMovedMonData(u8 boxId, u8 position)
+{
+ if (boxId == TOTAL_BOXES_COUNT)
+ sPSSData->movingMon = gPlayerParty[sBoxCursorPosition];
+ else
+ BoxMonAtToMon(boxId, position, &sPSSData->movingMon);
+
+ PurgeMonOrBoxMon(boxId, position);
+ sMovingMonOrigBoxId = boxId;
+ sMovingMonOrigBoxPos = position;
+}
+
+static void SetPlacedMonData(u8 boxId, u8 position)
+{
+ if (boxId == TOTAL_BOXES_COUNT)
+ {
+ gPlayerParty[position] = sPSSData->movingMon;
+ }
+ else
+ {
+ BoxMonRestorePP(&sPSSData->movingMon.box);
+ SetBoxMonAt(boxId, position, &sPSSData->movingMon.box);
+ }
+}
+
+static void PurgeMonOrBoxMon(u8 boxId, u8 position)
+{
+ if (boxId == TOTAL_BOXES_COUNT)
+ ZeroMonData(&gPlayerParty[position]);
+ else
+ ZeroBoxMonAt(boxId, position);
+}
+
+static void SetShiftedMonData(u8 boxId, u8 position)
+{
+ if (boxId == TOTAL_BOXES_COUNT)
+ sPSSData->field_2108 = gPlayerParty[position];
+ else
+ BoxMonAtToMon(boxId, position, &sPSSData->field_2108);
+
+ SetPlacedMonData(boxId, position);
+ sPSSData->movingMon = sPSSData->field_2108;
+ SetCursorMonData(&sPSSData->movingMon, MODE_PARTY);
+ sMovingMonOrigBoxId = boxId;
+ sMovingMonOrigBoxPos = position;
+}
+
+static bool8 TryStorePartyMonInBox(u8 boxId)
+{
+ s16 boxPosition = GetFirstFreeBoxSpot(boxId);
+ if (boxPosition == -1)
+ return FALSE;
+
+ if (sIsMonBeingMoved)
+ {
+ SetPlacedMonData(boxId, boxPosition);
+ DestroyMovingMonIcon();
+ sIsMonBeingMoved = FALSE;
+ }
+ else
+ {
+ SetMovedMonData(TOTAL_BOXES_COUNT, sBoxCursorPosition);
+ SetPlacedMonData(boxId, boxPosition);
+ DestroyPartyMonIcon(sBoxCursorPosition);
+ }
+
+ if (boxId == StorageGetCurrentBox())
+ sub_80CB140(boxPosition);
+
+ StartSpriteAnim(sPSSData->field_CB4, 1);
+ return TRUE;
+}
+
+static void sub_80CE22C(void)
+{
+ StartSpriteAnim(sPSSData->field_CB4, 0);
+ sub_80CEB40();
+}
+
+static void sub_80CE250(void)
+{
+ u8 mode;
+
+ if (sIsMonBeingMoved)
+ mode = MODE_2;
+ else if (sBoxCursorArea == CURSOR_AREA_IN_PARTY)
+ mode = MODE_PARTY;
+ else
+ mode = MODE_BOX;
+
+ sub_80CBF14(mode, sBoxCursorPosition);
+ StringCopy(sPSSData->field_21E0, sPSSData->cursorMonNick);
+}
+
+static bool8 sub_80CE2A8(void)
+{
+ if (!sub_80CBFD8())
+ {
+ StartSpriteAnim(sPSSData->field_CB4, 0);
+ return FALSE;
+ }
+ else
+ {
+ return TRUE;
+ }
+}
+
+static void ReleaseMon(void)
+{
+ u8 boxId;
+
+ sub_80CC020();
+ if (sIsMonBeingMoved)
+ {
+ sIsMonBeingMoved = FALSE;
+ }
+ else
+ {
+ if (sBoxCursorArea == CURSOR_AREA_IN_PARTY)
+ boxId = TOTAL_BOXES_COUNT;
+ else
+ boxId = StorageGetCurrentBox();
+
+ PurgeMonOrBoxMon(boxId, sBoxCursorPosition);
+ }
+ sub_80CEB40();
+}
+
+static void sub_80CE324(void)
+{
+ if (sIsMonBeingMoved)
+ StartSpriteAnim(sPSSData->field_CB4, 3);
+}
+
+struct
+{
+ s8 mapGroup;
+ s8 mapNum;
+ u16 move;
+} static const gUnknown_0857B9A4[] =
+{
+ {MAP_GROUPS_COUNT, 0, MOVE_SURF},
+ {MAP_GROUPS_COUNT, 0, MOVE_DIVE},
+ {MAP_GROUP(EVER_GRANDE_CITY_POKEMON_LEAGUE_1F), MAP_NUM(EVER_GRANDE_CITY_POKEMON_LEAGUE_1F), MOVE_STRENGTH},
+ {MAP_GROUP(EVER_GRANDE_CITY_POKEMON_LEAGUE_1F), MAP_NUM(EVER_GRANDE_CITY_POKEMON_LEAGUE_1F), MOVE_ROCK_SMASH},
+ {MAP_GROUP(EVER_GRANDE_CITY_POKEMON_LEAGUE_2F), MAP_NUM(EVER_GRANDE_CITY_POKEMON_LEAGUE_2F), MOVE_STRENGTH},
+ {MAP_GROUP(EVER_GRANDE_CITY_POKEMON_LEAGUE_2F), MAP_NUM(EVER_GRANDE_CITY_POKEMON_LEAGUE_2F), MOVE_ROCK_SMASH},
+};
+
+static void sub_80CE350(u16 *moves)
+{
+ s32 i;
+
+ for (i = 0; i < ARRAY_COUNT(gUnknown_0857B9A4); i++)
+ {
+ if (gUnknown_0857B9A4[i].mapGroup == MAP_GROUPS_COUNT
+ || (gUnknown_0857B9A4[i].mapGroup == gSaveBlock1Ptr->location.mapGroup && gUnknown_0857B9A4[i].mapNum == gSaveBlock1Ptr->location.mapNum))
+ {
+ *moves = gUnknown_0857B9A4[i].move;
+ moves++;
+ }
+ }
+
+ *moves = MOVES_COUNT;
+}
+
+static void InitCanRelaseMonVars(void)
+{
+ if (!AtLeastThreeUsableMons())
+ {
+ sPSSData->field_216D = 1;
+ sPSSData->field_216C = 0;
+ return;
+ }
+
+ if (sIsMonBeingMoved)
+ {
+ sPSSData->field_2108 = sPSSData->movingMon;
+ sPSSData->field_2170 = -1;
+ sPSSData->field_2171 = -1;
+ }
+ else
+ {
+ if (sBoxCursorArea == CURSOR_AREA_IN_PARTY)
+ {
+ sPSSData->field_2108 = gPlayerParty[sBoxCursorPosition];
+ sPSSData->field_2170 = TOTAL_BOXES_COUNT;
+ }
+ else
+ {
+ BoxMonAtToMon(StorageGetCurrentBox(), sBoxCursorPosition, &sPSSData->field_2108);
+ sPSSData->field_2170 = StorageGetCurrentBox();
+ }
+ sPSSData->field_2171 = sBoxCursorPosition;
+ }
+
+ sub_80CE350(sPSSData->field_2176);
+ sPSSData->field_2174 = GetMonData(&sPSSData->field_2108, MON_DATA_KNOWN_MOVES, sPSSData->field_2176);
+ if (sPSSData->field_2174 != 0)
+ {
+ sPSSData->field_216D = 0;
+ }
+ else
+ {
+ sPSSData->field_216D = 1;
+ sPSSData->field_216C = 1;
+ }
+
+ sPSSData->field_2172 = 0;
+}
+
+static bool32 AtLeastThreeUsableMons(void)
+{
+ s32 i, j, count;
+
+ count = (sIsMonBeingMoved != FALSE);
+ for (j = 0; j < PARTY_SIZE; j++)
+ {
+ if (GetMonData(&gPlayerParty[j], MON_DATA_SANITY_HAS_SPECIES))
+ count++;
+ }
+
+ if (count >= 3)
+ return TRUE;
+
+ for (i = 0; i < TOTAL_BOXES_COUNT; i++)
+ {
+ for (j = 0; j < IN_BOX_COUNT; j++)
+ {
+ if (CheckBoxMonSanityAt(i, j))
+ {
+ if (++count >= 3)
+ return TRUE;
+ }
+ }
+ }
+
+ return FALSE;
+}
+
+static s8 RunCanReleaseMon(void)
+{
+ u16 i;
+ u16 knownMoves;
+
+ if (sPSSData->field_216D)
+ return sPSSData->field_216C;
+
+ switch (sPSSData->field_2172)
+ {
+ case 0:
+ for (i = 0; i < PARTY_SIZE; i++)
+ {
+ if (sPSSData->field_2170 != TOTAL_BOXES_COUNT || sPSSData->field_2171 != i)
+ {
+ knownMoves = GetMonData(gPlayerParty + i, MON_DATA_KNOWN_MOVES, sPSSData->field_2176);
+ sPSSData->field_2174 &= ~(knownMoves);
+ }
+ }
+ if (sPSSData->field_2174 == 0)
+ {
+ sPSSData->field_216D = 1;
+ sPSSData->field_216C = 1;
+ }
+ else
+ {
+ sPSSData->field_216E = 0;
+ sPSSData->field_216F = 0;
+ sPSSData->field_2172++;
+ }
+ break;
+ case 1:
+ for (i = 0; i < IN_BOX_COUNT; i++)
+ {
+ knownMoves = GetAndCopyBoxMonDataAt(sPSSData->field_216E, sPSSData->field_216F, MON_DATA_KNOWN_MOVES, sPSSData->field_2176);
+ if (knownMoves != 0
+ && !(sPSSData->field_2170 == sPSSData->field_216E && sPSSData->field_2171 == sPSSData->field_216F))
+ {
+ sPSSData->field_2174 &= ~(knownMoves);
+ if (sPSSData->field_2174 == 0)
+ {
+ sPSSData->field_216D = 1;
+ sPSSData->field_216C = 1;
+ break;
+ }
+ }
+ if (++sPSSData->field_216F >= IN_BOX_COUNT)
+ {
+ sPSSData->field_216F = 0;
+ if (++sPSSData->field_216E >= TOTAL_BOXES_COUNT)
+ {
+ sPSSData->field_216D = 1;
+ sPSSData->field_216C = 0;
+ }
+ }
+ }
+ break;
+ }
+
+ return -1;
+}
+
+static void sub_80CE760(void)
+{
+ if (sIsMonBeingMoved)
+ gUnknown_02039D14 = sPSSData->movingMon;
+}
+
+static void sub_80CE790(void)
+{
+ if (sIsMonBeingMoved)
+ {
+ if (sMovingMonOrigBoxId == TOTAL_BOXES_COUNT)
+ sPSSData->movingMon = gUnknown_02039D14;
+ else
+ sPSSData->movingMon.box = gUnknown_02039D14.box;
+ }
+}
+
+static void sub_80CE7E8(void)
+{
+ if (sIsMonBeingMoved)
+ {
+ sub_80CE760();
+ sPSSData->field_218C.mon = &gUnknown_02039D14;
+ sPSSData->field_2187 = 0;
+ sPSSData->field_2186 = 0;
+ sPSSData->field_2188 = 0;
+ }
+ else if (sBoxCursorArea == CURSOR_AREA_IN_PARTY)
+ {
+ sPSSData->field_218C.mon = gPlayerParty;
+ sPSSData->field_2187 = sBoxCursorPosition;
+ sPSSData->field_2186 = CountPartyMons() - 1;
+ sPSSData->field_2188 = 0;
+ }
+ else
+ {
+ sPSSData->field_218C.box = GetBoxedMonPtr(StorageGetCurrentBox(), 0);
+ sPSSData->field_2187 = sBoxCursorPosition;
+ sPSSData->field_2186 = IN_BOX_COUNT - 1;
+ sPSSData->field_2188 = 2;
+ }
+}
+
+static void sub_80CE8E4(void)
+{
+ if (sIsMonBeingMoved)
+ sub_80CE790();
+ else
+ sBoxCursorPosition = gUnknown_0203CF20;
+}
+
+s16 CompactPartySlots(void)
+{
+ s16 retVal = -1;
+ u16 i, last;
+
+ for (i = 0, last = 0; i < PARTY_SIZE; i++)
+ {
+ u16 species = GetMonData(gPlayerParty + i, MON_DATA_SPECIES);
+ if (species != SPECIES_NONE)
+ {
+ if (i != last)
+ gPlayerParty[last] = gPlayerParty[i];
+ last++;
+ }
+ else if (retVal == -1)
+ {
+ retVal = i;
+ }
+ }
+ for (; last < PARTY_SIZE; last++)
+ ZeroMonData(gPlayerParty + last);
+
+ return retVal;
+}
+
+static void SetMonMarkings(u8 markings)
+{
+ sPSSData->cursorMonMarkings = markings;
+ if (sIsMonBeingMoved)
+ {
+ SetMonData(&sPSSData->movingMon, MON_DATA_MARKINGS, &markings);
+ }
+ else
+ {
+ if (sBoxCursorArea == CURSOR_AREA_IN_PARTY)
+ SetMonData(gPlayerParty + sBoxCursorPosition, MON_DATA_MARKINGS, &markings);
+ if (sBoxCursorArea == CURSOR_AREA_IN_BOX)
+ SetCurrentBoxMonData(sBoxCursorPosition, MON_DATA_MARKINGS, &markings);
+ }
+}
+
+static bool8 CanMovePartyMon(void)
+{
+ if (sBoxCursorArea == CURSOR_AREA_IN_PARTY && !sIsMonBeingMoved && CountPartyAliveNonEggMonsExcept(sBoxCursorPosition) == 0)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+static bool8 CanShiftMon(void)
+{
+ if (sIsMonBeingMoved)
+ {
+ if (sBoxCursorArea == CURSOR_AREA_IN_PARTY && CountPartyAliveNonEggMonsExcept(sBoxCursorPosition) == 0)
+ {
+ if (sPSSData->cursorMonIsEgg || GetMonData(&sPSSData->movingMon, MON_DATA_HP) == 0)
+ return FALSE;
+ }
+ return TRUE;
+ }
+ return FALSE;
+}
+
+static bool8 IsMonBeingMoved(void)
+{
+ return sIsMonBeingMoved;
+}
+
+static bool8 IsCursorOnBox(void)
+{
+ return (sBoxCursorArea == CURSOR_AREA_BOX);
+}
+
+static bool8 IsCursorOnCloseBox(void)
+{
+ return (sBoxCursorArea == CURSOR_AREA_BUTTONS && sBoxCursorPosition == 1);
+}
+
+static bool8 IsCursorInBox(void)
+{
+ return (sBoxCursorArea == CURSOR_AREA_IN_BOX);
+}
+
+static void sub_80CEB40(void)
+{
+ sPSSData->setMosaic = (sIsMonBeingMoved == FALSE);
+ if (!sIsMonBeingMoved)
+ {
+ switch (sBoxCursorArea)
+ {
+ case CURSOR_AREA_IN_PARTY:
+ if (sBoxCursorPosition < PARTY_SIZE)
+ {
+ SetCursorMonData(&gPlayerParty[sBoxCursorPosition], MODE_PARTY);
+ break;
+ }
+ // fallthrough
+ case CURSOR_AREA_BUTTONS:
+ case CURSOR_AREA_BOX:
+ SetCursorMonData(NULL, MODE_2);
+ break;
+ case CURSOR_AREA_IN_BOX:
+ SetCursorMonData(GetBoxedMonPtr(StorageGetCurrentBox(), sBoxCursorPosition), MODE_BOX);
+ break;
+ }
+ }
+}
+
+static void sub_80CEBDC(void)
+{
+ if (sIsMonBeingMoved)
+ SetCursorMonData(&gUnknown_02039D14, MODE_PARTY);
+ else
+ sub_80CEB40();
+}
+
+static void SetCursorMonData(void *pokemon, u8 mode)
+{
+ u8 *txtPtr;
+ u16 gender;
+ bool8 sanityIsBagEgg;
+
+ sPSSData->cursorMonItem = 0;
+ gender = MON_MALE;
+ sanityIsBagEgg = FALSE;
+ if (mode == MODE_PARTY)
+ {
+ struct Pokemon *mon = (struct Pokemon *)pokemon;
+
+ sPSSData->cursorMonSpecies = GetMonData(mon, MON_DATA_SPECIES2);
+ if (sPSSData->cursorMonSpecies != SPECIES_NONE)
+ {
+ sanityIsBagEgg = GetMonData(mon, MON_DATA_SANITY_IS_BAD_EGG);
+ if (sanityIsBagEgg)
+ sPSSData->cursorMonIsEgg = TRUE;
+ else
+ sPSSData->cursorMonIsEgg = GetMonData(mon, MON_DATA_IS_EGG);
+
+ GetMonData(mon, MON_DATA_NICKNAME, sPSSData->cursorMonNick);
+ StringGetEnd10(sPSSData->cursorMonNick);
+ sPSSData->cursorMonLevel = GetMonData(mon, MON_DATA_LEVEL);
+ sPSSData->cursorMonMarkings = GetMonData(mon, MON_DATA_MARKINGS);
+ sPSSData->cursorMonPersonality = GetMonData(mon, MON_DATA_PERSONALITY);
+ sPSSData->cursorMonPalette = GetMonFrontSpritePal(mon);
+ gender = GetMonGender(mon);
+ sPSSData->cursorMonItem = GetMonData(mon, MON_DATA_HELD_ITEM);
+ }
+ }
+ else if (mode == MODE_BOX)
+ {
+ struct BoxPokemon *boxMon = (struct BoxPokemon *)pokemon;
+
+ sPSSData->cursorMonSpecies = GetBoxMonData(pokemon, MON_DATA_SPECIES2);
+ if (sPSSData->cursorMonSpecies != SPECIES_NONE)
+ {
+ u32 otId = GetBoxMonData(boxMon, MON_DATA_OT_ID);
+ sanityIsBagEgg = GetBoxMonData(boxMon, MON_DATA_SANITY_IS_BAD_EGG);
+ if (sanityIsBagEgg)
+ sPSSData->cursorMonIsEgg = TRUE;
+ else
+ sPSSData->cursorMonIsEgg = GetBoxMonData(boxMon, MON_DATA_IS_EGG);
+
+
+ GetBoxMonData(boxMon, MON_DATA_NICKNAME, sPSSData->cursorMonNick);
+ StringGetEnd10(sPSSData->cursorMonNick);
+ sPSSData->cursorMonLevel = GetLevelFromBoxMonExp(boxMon);
+ sPSSData->cursorMonMarkings = GetBoxMonData(boxMon, MON_DATA_MARKINGS);
+ sPSSData->cursorMonPersonality = GetBoxMonData(boxMon, MON_DATA_PERSONALITY);
+ sPSSData->cursorMonPalette = GetFrontSpritePalFromSpeciesAndPersonality(sPSSData->cursorMonSpecies, otId, sPSSData->cursorMonPersonality);
+ gender = GetGenderFromSpeciesAndPersonality(sPSSData->cursorMonSpecies, sPSSData->cursorMonPersonality);
+ sPSSData->cursorMonItem = GetBoxMonData(boxMon, MON_DATA_HELD_ITEM);
+ }
+ }
+ else
+ {
+ sPSSData->cursorMonSpecies = SPECIES_NONE;
+ sPSSData->cursorMonItem = 0;
+ }
+
+ if (sPSSData->cursorMonSpecies == SPECIES_NONE)
+ {
+ StringFill(sPSSData->cursorMonNick, CHAR_SPACE, 5);
+ StringFill(sPSSData->cursorMonNickText, CHAR_SPACE, 8);
+ StringFill(sPSSData->cursorMonSpeciesName, CHAR_SPACE, 8);
+ StringFill(sPSSData->cursorMonGenderLvlText, CHAR_SPACE, 8);
+ StringFill(sPSSData->cursorMonItemName, CHAR_SPACE, 8);
+ }
+ else if (sPSSData->cursorMonIsEgg)
+ {
+ if (sanityIsBagEgg)
+ StringCopyPadded(sPSSData->cursorMonNickText, sPSSData->cursorMonNick, CHAR_SPACE, 5);
+ else
+ StringCopyPadded(sPSSData->cursorMonNickText, gText_EggNickname, CHAR_SPACE, 8);
+
+ StringFill(sPSSData->cursorMonSpeciesName, CHAR_SPACE, 8);
+ StringFill(sPSSData->cursorMonGenderLvlText, CHAR_SPACE, 8);
+ StringFill(sPSSData->cursorMonItemName, CHAR_SPACE, 8);
+ }
+ else
+ {
+ if (sPSSData->cursorMonSpecies == SPECIES_NIDORAN_F || sPSSData->cursorMonSpecies == SPECIES_NIDORAN_M)
+ gender = MON_GENDERLESS;
+
+ StringCopyPadded(sPSSData->cursorMonNickText, sPSSData->cursorMonNick, CHAR_SPACE, 5);
+
+ txtPtr = sPSSData->cursorMonSpeciesName;
+ *(txtPtr)++ = CHAR_SLASH;
+ StringCopyPadded(txtPtr, gSpeciesNames[sPSSData->cursorMonSpecies], CHAR_SPACE, 5);
+
+ txtPtr = sPSSData->cursorMonGenderLvlText;
+ *(txtPtr)++ = EXT_CTRL_CODE_BEGIN;
+ *(txtPtr)++ = 4;
+ switch (gender)
+ {
+ case MON_MALE:
+ *(txtPtr)++ = 4;
+ *(txtPtr)++ = 1;
+ *(txtPtr)++ = 5;
+ *(txtPtr)++ = CHAR_MALE;
+ break;
+ case MON_FEMALE:
+ *(txtPtr)++ = 6;
+ *(txtPtr)++ = 1;
+ *(txtPtr)++ = 7;
+ *(txtPtr)++ = CHAR_FEMALE;
+ break;
+ default:
+ *(txtPtr)++ = 2;
+ *(txtPtr)++ = 1;
+ *(txtPtr)++ = 3;
+ *(txtPtr)++ = 0x77;
+ break;
+ }
+
+ *(txtPtr++) = EXT_CTRL_CODE_BEGIN;
+ *(txtPtr++) = 4;
+ *(txtPtr++) = 2;
+ *(txtPtr++) = 1;
+ *(txtPtr++) = 3;
+ *(txtPtr++) = 0;
+ *(txtPtr++) = CHAR_SPECIAL_F9;
+ *(txtPtr++) = 5;
+
+ txtPtr = ConvertIntToDecimalStringN(txtPtr, sPSSData->cursorMonLevel, STR_CONV_MODE_LEFT_ALIGN, 3);
+ txtPtr[0] = CHAR_SPACE;
+ txtPtr[1] = EOS;
+
+ if (sPSSData->cursorMonItem != 0)
+ StringCopyPadded(sPSSData->cursorMonItemName, ItemId_GetName(sPSSData->cursorMonItem), CHAR_SPACE, 8);
+ else
+ StringFill(sPSSData->cursorMonItemName, CHAR_SPACE, 8);
+ }
+}
+
+static u8 HandleInput_InBox(void)
+{
+ switch (sPSSData->inBoxMovingMode)
+ {
+ case 0:
+ default:
+ return InBoxInput_Normal();
+ case 1:
+ return InBoxInput_GrabbingMultiple();
+ case 2:
+ return InBoxInput_MovingMultiple();
+ }
+}
+
+// This group of four functions handling input simply CANNOT be matched.
+// GF must have written them in a really weird way, a way not a sane person could dream to reproduce.
+#ifdef NONMATCHING
+static u8 InBoxInput_Normal(void)
+{
+ u8 retVal;
+ s8 cursorArea = sBoxCursorArea;
+ s8 cursorPosition = sBoxCursorPosition;
+
+ sPSSData->field_CD2 = 0;
+ sPSSData->field_CD3 = 0;
+ sPSSData->field_CD7 = 0;
+ retVal = 0;
+ if (!(gMain.newAndRepeatedKeys & DPAD_UP))
+ {
+ if (gMain.newAndRepeatedKeys & DPAD_DOWN)
+ {
+ retVal = TRUE;
+ cursorPosition += IN_BOX_ROWS;
+ if (cursorPosition >= IN_BOX_COUNT)
+ {
+ cursorArea = CURSOR_AREA_BUTTONS;
+ cursorPosition -= IN_BOX_COUNT;
+ cursorPosition /= 3;
+ sPSSData->field_CD2 = 1;
+ sPSSData->field_CD7 = 1;
+ }
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_LEFT)
+ {
+ retVal = TRUE;
+ if (sBoxCursorPosition % IN_BOX_ROWS != 0)
+ {
+ cursorPosition--;
+ }
+ else
+ {
+ sPSSData->field_CD3 = -1;
+ cursorPosition += (IN_BOX_ROWS - 1);
+ }
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_RIGHT)
+ {
+ retVal = TRUE;
+ if ((sBoxCursorPosition + 1) % IN_BOX_ROWS != 0)
+ {
+ cursorPosition++;
+ }
+ else
+ {
+ sPSSData->field_CD3 = 1;
+ cursorPosition -= (IN_BOX_ROWS - 1);
+ }
+ }
+ else if (gMain.newKeys & START_BUTTON)
+ {
+ retVal = TRUE;
+ cursorArea = CURSOR_AREA_BOX;
+ cursorPosition = 0;
+ }
+ else
+ {
+ if ((gMain.newKeys & A_BUTTON) && sub_80CFA5C())
+ {
+ if (!sCanOnlyMove)
+ return 8;
+
+ if (sPSSData->boxOption == BOX_OPTION_MOVE_MONS || sIsMonBeingMoved == TRUE)
+ {
+ switch (sub_80CFF98(0))
+ {
+ case 1:
+ return 11;
+ case 2:
+ return 12;
+ case 3:
+ return 13;
+ case 4:
+ return 14;
+ case 5:
+ return 15;
+ case 12:
+ return 16;
+ case 13:
+ return 17;
+ case 15:
+ return 18;
+ }
+ }
+ else
+ {
+ sPSSData->inBoxMovingMode = 1;
+ return 20;
+ }
+ }
+
+ if (gMain.newKeys & B_BUTTON)
+ return 19;
+
+ if (gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_LR)
+ {
+ if (gMain.heldKeys & L_BUTTON)
+ return 10;
+ if (gMain.heldKeys & R_BUTTON)
+ return 9;
+ }
+
+ if (gMain.newKeys & SELECT_BUTTON)
+ {
+ sub_80CFDC4();
+ return 0;
+ }
+ retVal = FALSE;
+ }
+ }
+ else
+ {
+ retVal = TRUE;
+ if (sBoxCursorPosition >= IN_BOX_ROWS)
+ {
+ cursorPosition -= IN_BOX_ROWS;
+ }
+ else
+ {
+ cursorArea = CURSOR_AREA_BOX;
+ cursorPosition = 0;
+ }
+ }
+
+ if (retVal)
+ sub_80CD894(cursorArea, cursorPosition);
+
+ return retVal;
+}
+#else
+NAKED
+static u8 InBoxInput_Normal(void)
+{
+ asm_unified("\n\
+ push {r4-r7,lr}\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ ldr r0, =sBoxCursorArea\n\
+ ldrb r0, [r0]\n\
+ mov r8, r0\n\
+ ldr r2, =sBoxCursorPosition\n\
+ ldrb r4, [r2]\n\
+ ldr r5, =sPSSData\n\
+ ldr r0, [r5]\n\
+ ldr r1, =0x00000cd2\n\
+ mov r10, r1\n\
+ add r0, r10\n\
+ movs r1, 0\n\
+ strb r1, [r0]\n\
+ ldr r0, [r5]\n\
+ ldr r7, =0x00000cd3\n\
+ adds r0, r7\n\
+ strb r1, [r0]\n\
+ ldr r0, [r5]\n\
+ ldr r3, =0x00000cd7\n\
+ mov r9, r3\n\
+ add r0, r9\n\
+ strb r1, [r0]\n\
+ ldr r6, =gMain\n\
+ ldrh r1, [r6, 0x30]\n\
+ movs r0, 0x40\n\
+ ands r0, r1\n\
+ adds r3, r2, 0\n\
+ cmp r0, 0\n\
+ beq _080CF14C\n\
+ b _080CF33C\n\
+_080CF14C:\n\
+ movs r0, 0x80\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _080CF1A8\n\
+ movs r6, 0x1\n\
+ lsls r0, r4, 24\n\
+ movs r1, 0xC0\n\
+ lsls r1, 19\n\
+ adds r0, r1\n\
+ lsrs r4, r0, 24\n\
+ asrs r0, 24\n\
+ cmp r0, 0x1D\n\
+ bgt _080CF168\n\
+ b _080CF358\n\
+_080CF168:\n\
+ movs r2, 0x3\n\
+ mov r8, r2\n\
+ subs r0, 0x1E\n\
+ lsls r0, 24\n\
+ asrs r0, 24\n\
+ movs r1, 0x3\n\
+ bl __divsi3\n\
+ lsls r0, 24\n\
+ lsrs r4, r0, 24\n\
+ ldr r0, [r5]\n\
+ add r0, r10\n\
+ strb r6, [r0]\n\
+ ldr r0, [r5]\n\
+ add r0, r9\n\
+ strb r6, [r0]\n\
+ b _080CF358\n\
+ .pool\n\
+_080CF1A8:\n\
+ movs r0, 0x20\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _080CF1DE\n\
+ movs r6, 0x1\n\
+ movs r0, 0\n\
+ ldrsb r0, [r3, r0]\n\
+ movs r1, 0x6\n\
+ bl __modsi3\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _080CF1CA\n\
+ lsls r0, r4, 24\n\
+ movs r3, 0xFF\n\
+ lsls r3, 24\n\
+ b _080CF34C\n\
+_080CF1CA:\n\
+ ldr r0, [r5]\n\
+ adds r0, r7\n\
+ movs r1, 0xFF\n\
+ strb r1, [r0]\n\
+ lsls r0, r4, 24\n\
+ movs r1, 0xA0\n\
+ lsls r1, 19\n\
+ adds r0, r1\n\
+ lsrs r4, r0, 24\n\
+ b _080CF358\n\
+_080CF1DE:\n\
+ movs r0, 0x10\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _080CF212\n\
+ movs r6, 0x1\n\
+ movs r0, 0\n\
+ ldrsb r0, [r3, r0]\n\
+ adds r0, 0x1\n\
+ movs r1, 0x6\n\
+ bl __modsi3\n\
+ cmp r0, 0\n\
+ beq _080CF204\n\
+ lsls r0, r4, 24\n\
+ movs r2, 0x80\n\
+ lsls r2, 17\n\
+ adds r0, r2\n\
+ lsrs r4, r0, 24\n\
+ b _080CF358\n\
+_080CF204:\n\
+ ldr r0, [r5]\n\
+ adds r0, r7\n\
+ strb r6, [r0]\n\
+ lsls r0, r4, 24\n\
+ movs r3, 0xFB\n\
+ lsls r3, 24\n\
+ b _080CF34C\n\
+_080CF212:\n\
+ ldrh r1, [r6, 0x2E]\n\
+ movs r0, 0x8\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _080CF220\n\
+ movs r6, 0x1\n\
+ b _080CF352\n\
+_080CF220:\n\
+ movs r4, 0x1\n\
+ movs r0, 0x1\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _080CF2E4\n\
+ bl sub_80CFA5C\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _080CF2E4\n\
+ ldr r0, =sCanOnlyMove\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0\n\
+ bne _080CF244\n\
+ movs r0, 0x8\n\
+ b _080CF366\n\
+ .pool\n\
+_080CF244:\n\
+ ldr r1, [r5]\n\
+ ldrb r0, [r1, 0x1]\n\
+ cmp r0, 0x2\n\
+ bne _080CF254\n\
+ ldr r0, =sIsMonBeingMoved\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x1\n\
+ bne _080CF2D4\n\
+_080CF254:\n\
+ movs r0, 0\n\
+ bl sub_80CFF98\n\
+ subs r0, 0x1\n\
+ lsls r0, 24\n\
+ asrs r0, 24\n\
+ cmp r0, 0xE\n\
+ bhi _080CF2E4\n\
+ lsls r0, 2\n\
+ ldr r1, =_080CF278\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ mov pc, r0\n\
+ .pool\n\
+ .align 2, 0\n\
+_080CF278:\n\
+ .4byte _080CF2B4\n\
+ .4byte _080CF2B8\n\
+ .4byte _080CF2BC\n\
+ .4byte _080CF2C0\n\
+ .4byte _080CF2C4\n\
+ .4byte _080CF2E4\n\
+ .4byte _080CF2E4\n\
+ .4byte _080CF2E4\n\
+ .4byte _080CF2E4\n\
+ .4byte _080CF2E4\n\
+ .4byte _080CF2E4\n\
+ .4byte _080CF2C8\n\
+ .4byte _080CF2CC\n\
+ .4byte _080CF2E4\n\
+ .4byte _080CF2D0\n\
+_080CF2B4:\n\
+ movs r0, 0xB\n\
+ b _080CF366\n\
+_080CF2B8:\n\
+ movs r0, 0xC\n\
+ b _080CF366\n\
+_080CF2BC:\n\
+ movs r0, 0xD\n\
+ b _080CF366\n\
+_080CF2C0:\n\
+ movs r0, 0xE\n\
+ b _080CF366\n\
+_080CF2C4:\n\
+ movs r0, 0xF\n\
+ b _080CF366\n\
+_080CF2C8:\n\
+ movs r0, 0x10\n\
+ b _080CF366\n\
+_080CF2CC:\n\
+ movs r0, 0x11\n\
+ b _080CF366\n\
+_080CF2D0:\n\
+ movs r0, 0x12\n\
+ b _080CF366\n\
+_080CF2D4:\n\
+ ldr r2, =0x000021ff\n\
+ adds r0, r1, r2\n\
+ strb r4, [r0]\n\
+ movs r0, 0x14\n\
+ b _080CF366\n\
+ .pool\n\
+_080CF2E4:\n\
+ ldr r2, =gMain\n\
+ ldrh r1, [r2, 0x2E]\n\
+ movs r0, 0x2\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _080CF2F8\n\
+ movs r0, 0x13\n\
+ b _080CF366\n\
+ .pool\n\
+_080CF2F8:\n\
+ ldr r0, =gSaveBlock2Ptr\n\
+ ldr r0, [r0]\n\
+ ldrb r0, [r0, 0x13]\n\
+ cmp r0, 0x1\n\
+ bne _080CF326\n\
+ ldrh r1, [r2, 0x2C]\n\
+ movs r0, 0x80\n\
+ lsls r0, 2\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _080CF318\n\
+ movs r0, 0xA\n\
+ b _080CF366\n\
+ .pool\n\
+_080CF318:\n\
+ movs r0, 0x80\n\
+ lsls r0, 1\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _080CF326\n\
+ movs r0, 0x9\n\
+ b _080CF366\n\
+_080CF326:\n\
+ ldrh r1, [r2, 0x2E]\n\
+ movs r0, 0x4\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _080CF338\n\
+ bl sub_80CFDC4\n\
+ movs r0, 0\n\
+ b _080CF366\n\
+_080CF338:\n\
+ movs r6, 0\n\
+ b _080CF364\n\
+_080CF33C:\n\
+ movs r6, 0x1\n\
+ movs r0, 0\n\
+ ldrsb r0, [r2, r0]\n\
+ cmp r0, 0x5\n\
+ ble _080CF352\n\
+ lsls r0, r4, 24\n\
+ movs r3, 0xFA\n\
+ lsls r3, 24\n\
+_080CF34C:\n\
+ adds r0, r3\n\
+ lsrs r4, r0, 24\n\
+ b _080CF358\n\
+_080CF352:\n\
+ movs r0, 0x2\n\
+ mov r8, r0\n\
+ movs r4, 0\n\
+_080CF358:\n\
+ cmp r6, 0\n\
+ beq _080CF364\n\
+ mov r0, r8\n\
+ adds r1, r4, 0\n\
+ bl sub_80CD894\n\
+_080CF364:\n\
+ adds r0, r6, 0\n\
+_080CF366:\n\
+ pop {r3-r5}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ mov r10, r5\n\
+ pop {r4-r7}\n\
+ pop {r1}\n\
+ bx r1\n\
+ ");
+}
+#endif
+
+static u8 InBoxInput_GrabbingMultiple(void)
+{
+ if (gMain.heldKeys & A_BUTTON)
+ {
+ if (gMain.newAndRepeatedKeys & DPAD_UP)
+ {
+ if (sBoxCursorPosition / IN_BOX_ROWS != 0)
+ {
+ sub_80CD894(CURSOR_AREA_IN_BOX, sBoxCursorPosition - IN_BOX_ROWS);
+ return 21;
+ }
+ else
+ {
+ return 24;
+ }
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_DOWN)
+ {
+ if (sBoxCursorPosition + IN_BOX_ROWS < IN_BOX_COUNT)
+ {
+ sub_80CD894(CURSOR_AREA_IN_BOX, sBoxCursorPosition + IN_BOX_ROWS);
+ return 21;
+ }
+ else
+ {
+ return 24;
+ }
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_LEFT)
+ {
+ if (sBoxCursorPosition % IN_BOX_ROWS != 0)
+ {
+ sub_80CD894(CURSOR_AREA_IN_BOX, sBoxCursorPosition - 1);
+ return 21;
+ }
+ else
+ {
+ return 24;
+ }
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_RIGHT)
+ {
+ if ((sBoxCursorPosition + 1) % IN_BOX_ROWS != 0)
+ {
+ sub_80CD894(CURSOR_AREA_IN_BOX, sBoxCursorPosition + 1);
+ return 21;
+ }
+ else
+ {
+ return 24;
+ }
+ }
+ else
+ {
+ return 0;
+ }
+ }
+ else
+ {
+ if (sub_80D0BA4() == sBoxCursorPosition)
+ {
+ sPSSData->inBoxMovingMode = 0;
+ sPSSData->field_CB8->invisible = FALSE;
+ return 22;
+ }
+ else
+ {
+ sIsMonBeingMoved = (sPSSData->cursorMonSpecies != SPECIES_NONE);
+ sPSSData->inBoxMovingMode = 2;
+ sMovingMonOrigBoxId = StorageGetCurrentBox();
+ return 23;
+ }
+ }
+}
+
+static u8 InBoxInput_MovingMultiple(void)
+{
+ if (gMain.newAndRepeatedKeys & DPAD_UP)
+ {
+ if (sub_80D0580(0))
+ {
+ sub_80CD894(CURSOR_AREA_IN_BOX, sBoxCursorPosition - IN_BOX_ROWS);
+ return 25;
+ }
+ else
+ {
+ return 24;
+ }
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_DOWN)
+ {
+ if (sub_80D0580(1))
+ {
+ sub_80CD894(CURSOR_AREA_IN_BOX, sBoxCursorPosition + IN_BOX_ROWS);
+ return 25;
+ }
+ else
+ {
+ return 24;
+ }
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_LEFT)
+ {
+ if (sub_80D0580(2))
+ {
+ sub_80CD894(CURSOR_AREA_IN_BOX, sBoxCursorPosition - 1);
+ return 25;
+ }
+ else
+ {
+ return 10;
+ }
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_RIGHT)
+ {
+ if (sub_80D0580(3))
+ {
+ sub_80CD894(CURSOR_AREA_IN_BOX, sBoxCursorPosition + 1);
+ return 25;
+ }
+ else
+ {
+ return 9;
+ }
+ }
+ else if (gMain.newKeys & A_BUTTON)
+ {
+ if (sub_80D0BC0())
+ {
+ sIsMonBeingMoved = FALSE;
+ sPSSData->inBoxMovingMode = 0;
+ return 26;
+ }
+ else
+ {
+ return 24;
+ }
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ return 24;
+ }
+ else
+ {
+ if (gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_LR)
+ {
+ if (gMain.heldKeys & L_BUTTON)
+ return 10;
+ if (gMain.heldKeys & R_BUTTON)
+ return 9;
+ }
+
+ return 0;
+ }
+}
+
+#ifdef NONMATCHING
+static u8 HandleInput_InParty(void)
+{
+ u8 retVal;
+ bool8 gotoBox;
+ s8 cursorArea = sBoxCursorArea;
+ s8 cursorPosition = sBoxCursorPosition;
+
+ sPSSData->field_CD3 = 0;
+ sPSSData->field_CD2 = 0;
+ sPSSData->field_CD7 = 0;
+ gotoBox = FALSE;
+ retVal = 0;
+
+ if (!(gMain.newAndRepeatedKeys & DPAD_UP))
+ {
+ if (gMain.newAndRepeatedKeys & DPAD_DOWN)
+ {
+ if (++cursorPosition > PARTY_SIZE)
+ cursorPosition = 0;
+ if (cursorPosition != sBoxCursorPosition)
+ retVal = 1;
+ }
+ else if ((gMain.newAndRepeatedKeys & DPAD_LEFT) && sBoxCursorPosition != 0)
+ {
+ retVal = 1;
+ sPSSData->field_CD6 = sBoxCursorPosition;
+ cursorPosition = 0;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_RIGHT)
+ {
+ if (sBoxCursorPosition == 0)
+ {
+ retVal = 1;
+ cursorPosition = sPSSData->field_CD6;
+ }
+ else
+ {
+ retVal = 6;
+ cursorArea = CURSOR_AREA_IN_BOX;
+ cursorPosition = 0;
+ }
+ }
+ else
+ {
+ if (gMain.newKeys & A_BUTTON)
+ {
+ if (sBoxCursorPosition == PARTY_SIZE)
+ {
+ if (sPSSData->boxOption == BOX_OPTION_DEPOSIT)
+ return 4;
+
+ gotoBox = TRUE;
+ }
+ else if (sub_80CFA5C())
+ {
+ if (!sCanOnlyMove)
+ return 8;
+
+ switch (sub_80CFF98(0))
+ {
+ case 1:
+ return 11;
+ case 2:
+ return 12;
+ case 3:
+ return 13;
+ case 4:
+ return 14;
+ case 5:
+ return 15;
+ case 12:
+ return 16;
+ case 13:
+ return 17;
+ case 15:
+ return 18;
+ }
+ }
+ }
+
+ if (gMain.newKeys & B_BUTTON)
+ {
+ if (sPSSData->boxOption == BOX_OPTION_DEPOSIT)
+ return 19;
+
+ gotoBox = TRUE;
+ }
+
+ if (gotoBox)
+ {
+ retVal = 6;
+ cursorArea = CURSOR_AREA_IN_BOX;
+ cursorPosition = 0;
+ }
+ else if (gMain.newKeys & SELECT_BUTTON)
+ {
+ sub_80CFDC4();
+ return 0;
+ }
+ }
+ }
+ else
+ {
+ if (--cursorPosition < 0)
+ cursorPosition = PARTY_SIZE;
+ if (cursorPosition != sBoxCursorPosition)
+ retVal = 1;
+ }
+ if (retVal != 0)
+ {
+ if (retVal != 6)
+ sub_80CD894(cursorArea, cursorPosition);
+ }
+
+ return retVal;
+}
+#else
+NAKED
+static u8 HandleInput_InParty(void)
+{
+ asm_unified("\n\
+ push {r4-r7,lr}\n\
+ mov r7, r9\n\
+ mov r6, r8\n\
+ push {r6,r7}\n\
+ ldr r0, =sBoxCursorArea\n\
+ ldrb r0, [r0]\n\
+ mov r9, r0\n\
+ ldr r6, =sBoxCursorPosition\n\
+ ldrb r4, [r6]\n\
+ ldr r2, =sPSSData\n\
+ ldr r0, [r2]\n\
+ ldr r1, =0x00000cd3\n\
+ adds r0, r1\n\
+ movs r1, 0\n\
+ strb r1, [r0]\n\
+ ldr r0, [r2]\n\
+ ldr r3, =0x00000cd2\n\
+ adds r0, r3\n\
+ strb r1, [r0]\n\
+ ldr r0, [r2]\n\
+ adds r3, 0x5\n\
+ adds r0, r3\n\
+ strb r1, [r0]\n\
+ mov r8, r1\n\
+ movs r7, 0\n\
+ ldr r1, =gMain\n\
+ ldrh r3, [r1, 0x30]\n\
+ movs r0, 0x40\n\
+ ands r0, r3\n\
+ adds r5, r6, 0\n\
+ mov r12, r1\n\
+ cmp r0, 0\n\
+ beq _080CF608\n\
+ b _080CF7A8\n\
+_080CF608:\n\
+ movs r0, 0x80\n\
+ ands r0, r3\n\
+ cmp r0, 0\n\
+ beq _080CF64C\n\
+ lsls r0, r4, 24\n\
+ movs r1, 0x80\n\
+ lsls r1, 17\n\
+ adds r0, r1\n\
+ lsrs r4, r0, 24\n\
+ asrs r0, 24\n\
+ cmp r0, 0x6\n\
+ ble _080CF622\n\
+ movs r4, 0\n\
+_080CF622:\n\
+ lsls r0, r4, 24\n\
+ asrs r0, 24\n\
+ movs r1, 0\n\
+ ldrsb r1, [r5, r1]\n\
+ cmp r0, r1\n\
+ bne _080CF630\n\
+ b _080CF7C6\n\
+_080CF630:\n\
+ movs r7, 0x1\n\
+ b _080CF7CA\n\
+ .pool\n\
+_080CF64C:\n\
+ movs r0, 0x20\n\
+ ands r0, r3\n\
+ cmp r0, 0\n\
+ beq _080CF670\n\
+ ldrb r1, [r5]\n\
+ movs r0, 0\n\
+ ldrsb r0, [r5, r0]\n\
+ cmp r0, 0\n\
+ beq _080CF670\n\
+ movs r7, 0x1\n\
+ ldr r0, [r2]\n\
+ ldr r2, =0x00000cd6\n\
+ adds r0, r2\n\
+ strb r1, [r0]\n\
+ movs r4, 0\n\
+ b _080CF7C6\n\
+ .pool\n\
+_080CF670:\n\
+ mov r3, r12\n\
+ ldrh r1, [r3, 0x30]\n\
+ movs r0, 0x10\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _080CF69E\n\
+ movs r0, 0\n\
+ ldrsb r0, [r5, r0]\n\
+ cmp r0, 0\n\
+ bne _080CF694\n\
+ movs r7, 0x1\n\
+ ldr r0, [r2]\n\
+ ldr r1, =0x00000cd6\n\
+ adds r0, r1\n\
+ ldrb r4, [r0]\n\
+ b _080CF7C6\n\
+ .pool\n\
+_080CF694:\n\
+ movs r7, 0x6\n\
+ movs r2, 0\n\
+ mov r9, r2\n\
+ movs r4, 0\n\
+ b _080CF7C6\n\
+_080CF69E:\n\
+ mov r3, r12\n\
+ ldrh r1, [r3, 0x2E]\n\
+ movs r0, 0x1\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _080CF75C\n\
+ movs r0, 0\n\
+ ldrsb r0, [r5, r0]\n\
+ cmp r0, 0x6\n\
+ bne _080CF6C4\n\
+ ldr r0, [r2]\n\
+ ldrb r0, [r0, 0x1]\n\
+ cmp r0, 0x1\n\
+ bne _080CF6BE\n\
+ movs r0, 0x4\n\
+ b _080CF7D8\n\
+_080CF6BE:\n\
+ movs r0, 0x1\n\
+ mov r8, r0\n\
+ b _080CF75C\n\
+_080CF6C4:\n\
+ bl sub_80CFA5C\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _080CF75C\n\
+ ldr r0, =sCanOnlyMove\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0\n\
+ bne _080CF6E0\n\
+ movs r0, 0x8\n\
+ b _080CF7D8\n\
+ .pool\n\
+_080CF6E0:\n\
+ movs r0, 0\n\
+ bl sub_80CFF98\n\
+ subs r0, 0x1\n\
+ lsls r0, 24\n\
+ asrs r0, 24\n\
+ cmp r0, 0xE\n\
+ bhi _080CF75C\n\
+ lsls r0, 2\n\
+ ldr r1, =_080CF700\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ mov pc, r0\n\
+ .pool\n\
+ .align 2, 0\n\
+_080CF700:\n\
+ .4byte _080CF73C\n\
+ .4byte _080CF740\n\
+ .4byte _080CF744\n\
+ .4byte _080CF748\n\
+ .4byte _080CF74C\n\
+ .4byte _080CF75C\n\
+ .4byte _080CF75C\n\
+ .4byte _080CF75C\n\
+ .4byte _080CF75C\n\
+ .4byte _080CF75C\n\
+ .4byte _080CF75C\n\
+ .4byte _080CF750\n\
+ .4byte _080CF754\n\
+ .4byte _080CF75C\n\
+ .4byte _080CF758\n\
+_080CF73C:\n\
+ movs r0, 0xB\n\
+ b _080CF7D8\n\
+_080CF740:\n\
+ movs r0, 0xC\n\
+ b _080CF7D8\n\
+_080CF744:\n\
+ movs r0, 0xD\n\
+ b _080CF7D8\n\
+_080CF748:\n\
+ movs r0, 0xE\n\
+ b _080CF7D8\n\
+_080CF74C:\n\
+ movs r0, 0xF\n\
+ b _080CF7D8\n\
+_080CF750:\n\
+ movs r0, 0x10\n\
+ b _080CF7D8\n\
+_080CF754:\n\
+ movs r0, 0x11\n\
+ b _080CF7D8\n\
+_080CF758:\n\
+ movs r0, 0x12\n\
+ b _080CF7D8\n\
+_080CF75C:\n\
+ ldr r2, =gMain\n\
+ ldrh r1, [r2, 0x2E]\n\
+ movs r0, 0x2\n\
+ ands r0, r1\n\
+ mov r12, r2\n\
+ cmp r0, 0\n\
+ beq _080CF784\n\
+ ldr r0, =sPSSData\n\
+ ldr r0, [r0]\n\
+ ldrb r0, [r0, 0x1]\n\
+ cmp r0, 0x1\n\
+ bne _080CF780\n\
+ movs r0, 0x13\n\
+ b _080CF7D8\n\
+ .pool\n\
+_080CF780:\n\
+ movs r1, 0x1\n\
+ mov r8, r1\n\
+_080CF784:\n\
+ mov r2, r8\n\
+ cmp r2, 0\n\
+ beq _080CF794\n\
+ movs r7, 0x6\n\
+ movs r3, 0\n\
+ mov r9, r3\n\
+ movs r4, 0\n\
+ b _080CF7C6\n\
+_080CF794:\n\
+ mov r0, r12\n\
+ ldrh r1, [r0, 0x2E]\n\
+ movs r0, 0x4\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _080CF7C6\n\
+ bl sub_80CFDC4\n\
+ movs r0, 0\n\
+ b _080CF7D8\n\
+_080CF7A8:\n\
+ lsls r0, r4, 24\n\
+ movs r1, 0xFF\n\
+ lsls r1, 24\n\
+ adds r0, r1\n\
+ lsrs r4, r0, 24\n\
+ cmp r0, 0\n\
+ bge _080CF7B8\n\
+ movs r4, 0x6\n\
+_080CF7B8:\n\
+ lsls r0, r4, 24\n\
+ asrs r0, 24\n\
+ movs r1, 0\n\
+ ldrsb r1, [r6, r1]\n\
+ cmp r0, r1\n\
+ beq _080CF7C6\n\
+ movs r7, 0x1\n\
+_080CF7C6:\n\
+ cmp r7, 0\n\
+ beq _080CF7D6\n\
+_080CF7CA:\n\
+ cmp r7, 0x6\n\
+ beq _080CF7D6\n\
+ mov r0, r9\n\
+ adds r1, r4, 0\n\
+ bl sub_80CD894\n\
+_080CF7D6:\n\
+ adds r0, r7, 0\n\
+_080CF7D8:\n\
+ pop {r3,r4}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ pop {r4-r7}\n\
+ pop {r1}\n\
+ bx r1");
+}
+#endif
+
+#ifdef NONMATCHING
+static u8 HandleInput_OnBox(void)
+{
+ u8 retVal;
+ s8 cursorArea = sBoxCursorArea;
+ s8 cursorPosition = sBoxCursorPosition;
+
+ sPSSData->field_CD3 = 0;
+ sPSSData->field_CD2 = 0;
+ sPSSData->field_CD7 = 0;
+ retVal = 0;
+
+ if (!(gMain.newAndRepeatedKeys & DPAD_UP))
+ {
+ if (gMain.newAndRepeatedKeys & DPAD_DOWN)
+ {
+ retVal = 1;
+ cursorArea = CURSOR_AREA_IN_BOX;
+ cursorPosition = 2;
+ }
+ else
+ {
+ if (gMain.heldKeys & DPAD_LEFT)
+ return 10;
+ if (gMain.heldKeys & DPAD_RIGHT)
+ return 9;
+
+ if (gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_LR)
+ {
+ if (gMain.heldKeys & L_BUTTON)
+ return 10;
+ if (gMain.heldKeys & R_BUTTON)
+ return 9;
+ }
+
+ if (gMain.newKeys & A_BUTTON)
+ {
+ sub_80CD1A8(FALSE);
+ AddBoxMenu();
+ return 7;
+ }
+
+ if (gMain.newKeys & B_BUTTON)
+ return 19;
+
+ if (gMain.newKeys & SELECT_BUTTON)
+ {
+ sub_80CFDC4();
+ return 0;
+ }
+
+ retVal = 0;
+ }
+ }
+ else
+ {
+ retVal = 1;
+ cursorArea = CURSOR_AREA_BUTTONS;
+ cursorPosition = 0;
+ sPSSData->field_CD7 = 1;
+ }
+
+ if (retVal)
+ {
+ if (cursorArea != CURSOR_AREA_BOX)
+ sub_80CD1A8(FALSE);
+ sub_80CD894(cursorArea, cursorPosition);
+ }
+
+ return retVal;
+}
+#else
+NAKED
+static u8 HandleInput_OnBox(void)
+{
+ asm_unified("\n\
+ push {r4-r6,lr}\n\
+ ldr r3, =sPSSData\n\
+ ldr r0, [r3]\n\
+ ldr r1, =0x00000cd3\n\
+ adds r0, r1\n\
+ movs r1, 0\n\
+ strb r1, [r0]\n\
+ ldr r0, [r3]\n\
+ ldr r2, =0x00000cd2\n\
+ adds r0, r2\n\
+ strb r1, [r0]\n\
+ ldr r0, [r3]\n\
+ ldr r5, =0x00000cd7\n\
+ adds r0, r5\n\
+ strb r1, [r0]\n\
+ ldr r1, =gMain\n\
+ ldrh r2, [r1, 0x30]\n\
+ movs r0, 0x40\n\
+ ands r0, r2\n\
+ cmp r0, 0\n\
+ bne _080CF8AA\n\
+ movs r0, 0x80\n\
+ ands r0, r2\n\
+ cmp r0, 0\n\
+ beq _080CF834\n\
+ movs r4, 0x1\n\
+ movs r1, 0\n\
+ movs r6, 0x2\n\
+ b _080CF8B6\n\
+ .pool\n\
+_080CF834:\n\
+ ldrh r2, [r1, 0x2C]\n\
+ movs r0, 0x20\n\
+ ands r0, r2\n\
+ cmp r0, 0\n\
+ bne _080CF85A\n\
+ movs r0, 0x10\n\
+ ands r0, r2\n\
+ cmp r0, 0\n\
+ bne _080CF86E\n\
+ ldr r0, =gSaveBlock2Ptr\n\
+ ldr r0, [r0]\n\
+ ldrb r0, [r0, 0x13]\n\
+ cmp r0, 0x1\n\
+ bne _080CF872\n\
+ movs r0, 0x80\n\
+ lsls r0, 2\n\
+ ands r0, r2\n\
+ cmp r0, 0\n\
+ beq _080CF864\n\
+_080CF85A:\n\
+ movs r0, 0xA\n\
+ b _080CF8D2\n\
+ .pool\n\
+_080CF864:\n\
+ movs r0, 0x80\n\
+ lsls r0, 1\n\
+ ands r0, r2\n\
+ cmp r0, 0\n\
+ beq _080CF872\n\
+_080CF86E:\n\
+ movs r0, 0x9\n\
+ b _080CF8D2\n\
+_080CF872:\n\
+ ldrh r1, [r1, 0x2E]\n\
+ movs r0, 0x1\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _080CF88A\n\
+ movs r0, 0\n\
+ bl sub_80CD1A8\n\
+ bl AddBoxMenu\n\
+ movs r0, 0x7\n\
+ b _080CF8D2\n\
+_080CF88A:\n\
+ movs r0, 0x2\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _080CF896\n\
+ movs r0, 0x13\n\
+ b _080CF8D2\n\
+_080CF896:\n\
+ movs r0, 0x4\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _080CF8A6\n\
+ bl sub_80CFDC4\n\
+ movs r0, 0\n\
+ b _080CF8D2\n\
+_080CF8A6:\n\
+ movs r4, 0\n\
+ b _080CF8D0\n\
+_080CF8AA:\n\
+ movs r4, 0x1\n\
+ movs r1, 0x3\n\
+ movs r6, 0\n\
+ ldr r0, [r3]\n\
+ adds r0, r5\n\
+ strb r4, [r0]\n\
+_080CF8B6:\n\
+ cmp r4, 0\n\
+ beq _080CF8D0\n\
+ lsls r5, r1, 24\n\
+ cmp r1, 0x2\n\
+ beq _080CF8C6\n\
+ movs r0, 0\n\
+ bl sub_80CD1A8\n\
+_080CF8C6:\n\
+ lsrs r0, r5, 24\n\
+ lsls r1, r6, 24\n\
+ lsrs r1, 24\n\
+ bl sub_80CD894\n\
+_080CF8D0:\n\
+ adds r0, r4, 0\n\
+_080CF8D2:\n\
+ pop {r4-r6}\n\
+ pop {r1}\n\
+ bx r1\n\
+ ");
+}
+#endif
+
+#ifdef NONMATCHING
+static u8 HandleInput_OnButtons(void)
+{
+ u8 retVal;
+ s8 cursorArea = sBoxCursorArea;
+ s8 cursorPosition = sBoxCursorPosition;
+
+ sPSSData->field_CD3 = 0;
+ sPSSData->field_CD2 = 0;
+ sPSSData->field_CD7 = 0;
+
+ if (!(gMain.newAndRepeatedKeys & DPAD_UP))
+ {
+ if (gMain.newAndRepeatedKeys & (DPAD_DOWN | START_BUTTON))
+ {
+ retVal = 1;
+ cursorArea = CURSOR_AREA_BOX;
+ cursorPosition = 0;
+ sPSSData->field_CD7 = 1;
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_LEFT)
+ {
+ retVal = 1;
+ if (--cursorPosition < 0)
+ {
+ cursorPosition = 1;
+ }
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_RIGHT)
+ {
+ retVal = 1;
+ if (++cursorPosition > 1)
+ {
+ cursorPosition = 0;
+ }
+ }
+ else if (gMain.newKeys & A_BUTTON)
+ {
+ return (cursorPosition == 0) ? 5 : 4;
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ return 19;
+ }
+ else if (gMain.newKeys & SELECT_BUTTON)
+ {
+ sub_80CFDC4();
+ return 0;
+ }
+ else
+ {
+ retVal = 0;
+ }
+ }
+ else
+ {
+ retVal = 1;
+ cursorArea = CURSOR_AREA_IN_BOX;
+ sPSSData->field_CD2 = -1;
+ cursorPosition = (sBoxCursorPosition == 0) ? IN_BOX_COUNT - 1 - 5 : IN_BOX_COUNT - 1;
+ sPSSData->field_CD7 = 1;
+ }
+
+ if (retVal != 0)
+ {
+ sub_80CD894(cursorArea, cursorPosition);
+ }
+
+ return retVal;
+}
+#else
+NAKED
+static u8 HandleInput_OnButtons(void)
+{
+ asm_unified("\n\
+ push {r4-r7,lr}\n\
+ mov r7, r8\n\
+ push {r7}\n\
+ ldr r0, =sBoxCursorArea\n\
+ ldrb r0, [r0]\n\
+ mov r8, r0\n\
+ ldr r0, =sBoxCursorPosition\n\
+ mov r12, r0\n\
+ ldrb r2, [r0]\n\
+ ldr r3, =sPSSData\n\
+ ldr r0, [r3]\n\
+ ldr r1, =0x00000cd3\n\
+ adds r0, r1\n\
+ movs r1, 0\n\
+ strb r1, [r0]\n\
+ ldr r0, [r3]\n\
+ ldr r6, =0x00000cd2\n\
+ adds r0, r6\n\
+ strb r1, [r0]\n\
+ ldr r0, [r3]\n\
+ ldr r5, =0x00000cd7\n\
+ adds r0, r5\n\
+ strb r1, [r0]\n\
+ ldr r7, =gMain\n\
+ ldrh r1, [r7, 0x30]\n\
+ movs r0, 0x40\n\
+ ands r0, r1\n\
+ adds r4, r3, 0\n\
+ cmp r0, 0\n\
+ bne _080CF9B2\n\
+ movs r0, 0x88\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _080CF944\n\
+ movs r7, 0x1\n\
+ movs r0, 0x2\n\
+ mov r8, r0\n\
+ movs r2, 0\n\
+ ldr r0, [r4]\n\
+ b _080CF9D0\n\
+ .pool\n\
+_080CF944:\n\
+ movs r0, 0x20\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _080CF960\n\
+ movs r7, 0x1\n\
+ lsls r0, r2, 24\n\
+ movs r1, 0xFF\n\
+ lsls r1, 24\n\
+ adds r0, r1\n\
+ lsrs r2, r0, 24\n\
+ cmp r0, 0\n\
+ bge _080CF9D4\n\
+ movs r2, 0x1\n\
+ b _080CF9D4\n\
+_080CF960:\n\
+ movs r0, 0x10\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _080CF97E\n\
+ movs r7, 0x1\n\
+ lsls r0, r2, 24\n\
+ movs r1, 0x80\n\
+ lsls r1, 17\n\
+ adds r0, r1\n\
+ lsrs r2, r0, 24\n\
+ asrs r0, 24\n\
+ cmp r0, 0x1\n\
+ ble _080CF9D4\n\
+ movs r2, 0\n\
+ b _080CF9D4\n\
+_080CF97E:\n\
+ ldrh r1, [r7, 0x2E]\n\
+ movs r0, 0x1\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _080CF992\n\
+ movs r0, 0x4\n\
+ cmp r2, 0\n\
+ bne _080CF9E2\n\
+ movs r0, 0x5\n\
+ b _080CF9E2\n\
+_080CF992:\n\
+ movs r0, 0x2\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _080CF99E\n\
+ movs r0, 0x13\n\
+ b _080CF9E2\n\
+_080CF99E:\n\
+ movs r0, 0x4\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _080CF9AE\n\
+ bl sub_80CFDC4\n\
+ movs r0, 0\n\
+ b _080CF9E2\n\
+_080CF9AE:\n\
+ movs r7, 0\n\
+ b _080CF9E0\n\
+_080CF9B2:\n\
+ movs r7, 0x1\n\
+ movs r0, 0\n\
+ mov r8, r0\n\
+ ldr r0, [r3]\n\
+ adds r0, r6\n\
+ movs r1, 0xFF\n\
+ strb r1, [r0]\n\
+ mov r1, r12\n\
+ movs r0, 0\n\
+ ldrsb r0, [r1, r0]\n\
+ movs r2, 0x1D\n\
+ cmp r0, 0\n\
+ bne _080CF9CE\n\
+ movs r2, 0x18\n\
+_080CF9CE:\n\
+ ldr r0, [r3]\n\
+_080CF9D0:\n\
+ adds r0, r5\n\
+ strb r7, [r0]\n\
+_080CF9D4:\n\
+ cmp r7, 0\n\
+ beq _080CF9E0\n\
+ mov r0, r8\n\
+ adds r1, r2, 0\n\
+ bl sub_80CD894\n\
+_080CF9E0:\n\
+ adds r0, r7, 0\n\
+_080CF9E2:\n\
+ pop {r3}\n\
+ mov r8, r3\n\
+ pop {r4-r7}\n\
+ pop {r1}\n\
+ bx r1");
+}
+#endif
+
+static u8 HandleInput(void)
+{
+ struct
+ {
+ u8 (*func)(void);
+ s8 area;
+ }
+ static const inputFuncs[] =
+ {
+ {HandleInput_InBox, CURSOR_AREA_IN_BOX},
+ {HandleInput_InParty, CURSOR_AREA_IN_PARTY},
+ {HandleInput_OnBox, CURSOR_AREA_BOX},
+ {HandleInput_OnButtons, CURSOR_AREA_BUTTONS},
+ {NULL, 0},
+ };
+
+ u16 i = 0;
+ while (inputFuncs[i].func != NULL)
+ {
+ if (inputFuncs[i].area == sBoxCursorArea)
+ return inputFuncs[i].func();
+ i++;
+ }
+
+ return 0;
+}
+
+static void AddBoxMenu(void)
+{
+ InitMenu();
+ SetMenuText(9);
+ SetMenuText(10);
+ SetMenuText(11);
+ SetMenuText(0);
+}
+
+static u8 sub_80CFA5C(void)
+{
+ InitMenu();
+ if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
+ return sub_80CFA84();
+ else
+ return sub_80CFB44();
+}
+
+static bool8 sub_80CFA84(void)
+{
+ u16 var0 = sub_80CD504();
+
+ switch (sPSSData->boxOption)
+ {
+ case BOX_OPTION_DEPOSIT:
+ if (var0)
+ SetMenuText(1);
+ else
+ return FALSE;
+ break;
+ case BOX_OPTION_WITHDRAW:
+ if (var0)
+ SetMenuText(2);
+ else
+ return FALSE;
+ break;
+ case BOX_OPTION_MOVE_MONS:
+ if (sIsMonBeingMoved)
+ {
+ if (var0)
+ SetMenuText(4);
+ else
+ SetMenuText(5);
+ }
+ else
+ {
+ if (var0)
+ SetMenuText(3);
+ else
+ return FALSE;
+ }
+ break;
+ case BOX_OPTION_MOVE_ITEMS:
+ default:
+ return FALSE;
+ }
+
+ SetMenuText(6);
+ if (sPSSData->boxOption == BOX_OPTION_MOVE_MONS)
+ {
+ if (!sBoxCursorArea)
+ SetMenuText(2);
+ else
+ SetMenuText(1);
+ }
+
+ SetMenuText(8);
+ SetMenuText(7);
+ SetMenuText(0);
+ return TRUE;
+}
+
+static bool8 sub_80CFB44(void)
+{
+ if (sPSSData->cursorMonSpecies == SPECIES_EGG)
+ return FALSE;
+
+ if (!IsActiveItemMoving())
+ {
+ if (sPSSData->cursorMonItem == 0)
+ {
+ if (sPSSData->cursorMonSpecies == SPECIES_NONE)
+ return FALSE;
+
+ SetMenuText(14);
+ }
+ else
+ {
+ if (!ItemIsMail(sPSSData->cursorMonItem))
+ {
+ SetMenuText(12);
+ SetMenuText(16);
+ }
+ SetMenuText(17);
+ }
+ }
+ else
+ {
+ if (sPSSData->cursorMonItem == 0)
+ {
+ if (sPSSData->cursorMonSpecies == SPECIES_NONE)
+ return FALSE;
+
+ SetMenuText(13);
+ }
+ else
+ {
+ if (ItemIsMail(sPSSData->cursorMonItem) == TRUE)
+ return FALSE;
+
+ SetMenuText(15);
+ }
+ }
+
+ SetMenuText(0);
+ return TRUE;
+}
+
+static void sub_80CFBF4(struct Sprite *sprite)
+{
+ sprite->pos1.x = sPSSData->field_CB4->pos1.x;
+ sprite->pos1.y = sPSSData->field_CB4->pos1.y + 20;
+}
+
+static void sub_80CFC14(void)
+{
+ u16 x, y;
+ u8 spriteId;
+ u8 priority, subpriority;
+ struct SpriteSheet spriteSheets[] =
+ {
+ {gHandCursorTiles, 0x800, 0},
+ {gHandCursorShadowTiles, 0x80, 1},
+ {}
+ };
+
+ struct SpritePalette spritePalettes[] =
+ {
+ {gHandCursorPalette, TAG_PAL_DAC7},
+ {}
+ };
+
+ static const struct OamData sOamData_857BA0C =
+ {
+ .size = 2,
+ .priority = 1,
+ };
+ static const struct OamData sOamData_857BA14 =
+ {
+ .size = 1,
+ .priority = 1,
+ };
+
+ static const union AnimCmd sSpriteAnim_857BA1C[] =
+ {
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_FRAME(16, 30),
+ ANIMCMD_JUMP(0)
+ };
+ static const union AnimCmd sSpriteAnim_857BA28[] =
+ {
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END
+ };
+ static const union AnimCmd sSpriteAnim_857BA30[] =
+ {
+ ANIMCMD_FRAME(32, 5),
+ ANIMCMD_END
+ };
+ static const union AnimCmd sSpriteAnim_857BA38[] =
+ {
+ ANIMCMD_FRAME(48, 5),
+ ANIMCMD_END
+ };
+
+ static const union AnimCmd *const sSpriteAnimTable_857BA40[] =
+ {
+ sSpriteAnim_857BA1C,
+ sSpriteAnim_857BA28,
+ sSpriteAnim_857BA30,
+ sSpriteAnim_857BA38
+ };
+
+ static const struct SpriteTemplate gSpriteTemplate_857BA50 =
+ {
+ .tileTag = TAG_TILE_0,
+ .paletteTag = TAG_PAL_WAVEFORM,
+ .oam = &sOamData_857BA0C,
+ .anims = sSpriteAnimTable_857BA40,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ };
+
+ static const struct SpriteTemplate gSpriteTemplate_857BA68 =
+ {
+ .tileTag = TAG_TILE_1,
+ .paletteTag = TAG_PAL_WAVEFORM,
+ .oam = &sOamData_857BA14,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80CFBF4,
+ };
+
+ LoadSpriteSheets(spriteSheets);
+ LoadSpritePalettes(spritePalettes);
+ sPSSData->field_CD8[0] = IndexOfSpritePaletteTag(TAG_PAL_WAVEFORM);
+ sPSSData->field_CD8[1] = IndexOfSpritePaletteTag(TAG_PAL_DAC7);
+
+ sub_80CD444(sBoxCursorArea, sBoxCursorPosition, &x, &y);
+ spriteId = CreateSprite(&gSpriteTemplate_857BA50, x, y, 6);
+ if (spriteId != MAX_SPRITES)
+ {
+ sPSSData->field_CB4 = &gSprites[spriteId];
+ sPSSData->field_CB4->oam.paletteNum = sPSSData->field_CD8[sCanOnlyMove];
+ sPSSData->field_CB4->oam.priority = 1;
+ if (sIsMonBeingMoved)
+ StartSpriteAnim(sPSSData->field_CB4, 3);
+ }
+ else
+ {
+ sPSSData->field_CB4 = NULL;
+ }
+
+ if (sBoxCursorArea == CURSOR_AREA_IN_PARTY)
+ {
+ subpriority = 13;
+ priority = 1;
+ }
+ else
+ {
+ subpriority = 21;
+ priority = 2;
+ }
+
+ spriteId = CreateSprite(&gSpriteTemplate_857BA68, 0, 0, subpriority);
+ if (spriteId != MAX_SPRITES)
+ {
+ sPSSData->field_CB8 = &gSprites[spriteId];
+ sPSSData->field_CB8->oam.priority = priority;
+ if (sBoxCursorArea)
+ sPSSData->field_CB8->invisible = 1;
+ }
+ else
+ {
+ sPSSData->field_CB8 = NULL;
+ }
+}
+
+static void sub_80CFDC4(void)
+{
+ sCanOnlyMove = !sCanOnlyMove;
+ sPSSData->field_CB4->oam.paletteNum = sPSSData->field_CD8[sCanOnlyMove];
+}
+
+static u8 GetBoxCursorPosition(void)
+{
+ return sBoxCursorPosition;
+}
+
+static void sub_80CFE14(u8 *arg0, u8 *arg1)
+{
+ if (sBoxCursorArea == CURSOR_AREA_IN_BOX)
+ {
+ *arg0 = sBoxCursorPosition % IN_BOX_ROWS;
+ *arg1 = sBoxCursorPosition / IN_BOX_ROWS;
+ }
+ else
+ {
+ *arg0 = 0;
+ *arg1 = 0;
+ }
+}
+
+static void sub_80CFE54(u8 animNum)
+{
+ StartSpriteAnim(sPSSData->field_CB4, animNum);
+}
+
+static u8 sub_80CFE78(void)
+{
+ return sMovingMonOrigBoxId;
+}
+
+static void sub_80CFE84(void)
+{
+ sPSSData->field_CB4->oam.priority = 1;
+}
+
+static void sub_80CFEA8(void)
+{
+ if (sBoxCursorArea == CURSOR_AREA_IN_BOX)
+ sub_80D0E50(CURSOR_AREA_IN_BOX, sBoxCursorPosition);
+}
+
+static void sub_80CFECC(void)
+{
+ if (sBoxCursorArea == CURSOR_AREA_IN_BOX)
+ sub_80D0D8C(CURSOR_AREA_IN_BOX, sBoxCursorPosition);
+}
+
+static void InitMenu(void)
+{
+ sPSSData->menuItemsCount = 0;
+ sPSSData->menuWidth = 0;
+ sPSSData->menuWindow.bg = 0;
+ sPSSData->menuWindow.paletteNum = 15;
+ sPSSData->menuWindow.baseBlock = 92;
+}
+
+static const u8 *const gUnknown_0857BA80[] =
+{
+ gPCText_Cancel,
+ gPCText_Store,
+ gPCText_Withdraw,
+ gPCText_Move,
+ gPCText_Shift,
+ gPCText_Place,
+ gPCText_Summary,
+ gPCText_Release,
+ gPCText_Mark,
+ gPCText_Jump,
+ gPCText_Wallpaper,
+ gPCText_Name,
+ gPCText_Take,
+ gPCText_Give,
+ gPCText_Give,
+ gPCText_Switch,
+ gPCText_Bag,
+ gPCText_Info,
+ gPCText_Scenery1,
+ gPCText_Scenery2,
+ gPCText_Scenery3,
+ gPCText_Etcetera,
+ gPCText_Friends,
+ gPCText_Forest,
+ gPCText_City,
+ gPCText_Desert,
+ gPCText_Savanna,
+ gPCText_Crag,
+ gPCText_Volcano,
+ gPCText_Snow,
+ gPCText_Cave,
+ gPCText_Beach,
+ gPCText_Seafloor,
+ gPCText_River,
+ gPCText_Sky,
+ gPCText_PolkaDot,
+ gPCText_Pokecenter,
+ gPCText_Machine,
+ gPCText_Simple,
+};
+
+static void SetMenuText(u8 textId)
+{
+ if (sPSSData->menuItemsCount < 7)
+ {
+ u8 len;
+ struct StorageMenu *menu = &sPSSData->menuItems[sPSSData->menuItemsCount];
+
+ menu->text = gUnknown_0857BA80[textId];
+ menu->textId = textId;
+ len = StringLength(menu->text);
+ if (len > sPSSData->menuWidth)
+ sPSSData->menuWidth = len;
+
+ sPSSData->menuItemsCount++;
+ }
+}
+
+static s8 sub_80CFF98(u8 arg0)
+{
+ if (arg0 >= sPSSData->menuItemsCount)
+ return -1;
+ else
+ return sPSSData->menuItems[arg0].textId;
+}
+
+static void AddMenu(void)
+{
+ sPSSData->menuWindow.width = sPSSData->menuWidth + 2;
+ sPSSData->menuWindow.height = 2 * sPSSData->menuItemsCount;
+ sPSSData->menuWindow.tilemapLeft = 29 - sPSSData->menuWindow.width;
+ sPSSData->menuWindow.tilemapTop = 15 - sPSSData->menuWindow.height;
+ sPSSData->field_CB0 = AddWindow(&sPSSData->menuWindow);
+ ClearWindowTilemap(sPSSData->field_CB0);
+ SetWindowBorderStyle(sPSSData->field_CB0, FALSE, 11, 14);
+ PrintMenuTable(sPSSData->field_CB0, sPSSData->menuItemsCount, (void*)sPSSData->menuItems);
+ InitMenuInUpperLeftCornerPlaySoundWhenAPressed(sPSSData->field_CB0, sPSSData->menuItemsCount, 0);
+ schedule_bg_copy_tilemap_to_vram(0);
+ sPSSData->field_CAE = 0;
+}
+
+static bool8 sub_80D00A8(void)
+{
+ return FALSE;
+}
+
+static s16 sub_80D00AC(void)
+{
+ s32 textId = -2;
+
+ if (!(gMain.newKeys & A_BUTTON))
+ {
+ if (gMain.newKeys & B_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ textId = -1;
+ }
+
+ if (gMain.newKeys & DPAD_UP)
+ {
+ PlaySE(SE_SELECT);
+ Menu_MoveCursor(-1);
+ }
+ else if (gMain.newKeys & DPAD_DOWN)
+ {
+ PlaySE(SE_SELECT);
+ Menu_MoveCursor(1);
+ }
+ }
+ else
+ {
+ textId = Menu_GetCursorPos();
+ }
+
+ if (textId != -2)
+ sub_80D013C();
+
+ if (textId >= 0)
+ textId = sPSSData->menuItems[textId].textId;
+
+ #ifndef NONMATCHING
+ asm("":::"r4");
+ #endif // NONMATCHING
+ return textId;
+}
+
+static void sub_80D013C(void)
+{
+ sub_8198070(sPSSData->field_CB0, TRUE);
+ RemoveWindow(sPSSData->field_CB0);
+}
+
+// The functions below handle moving and grabbing multiple mons at once.
+// The icons are converted to background 0 which coordinates are changed while moving mons.
+// There is also a bit of math involved in determining how many column/rows of mons to grab/move.
+
+static const struct WindowTemplate gUnknown_0857BB1C =
+{
+ .bg = 0,
+ .tilemapLeft = 10,
+ .tilemapTop = 3,
+ .width = 20,
+ .height = 18,
+ .paletteNum = 9,
+ .baseBlock = 0xA,
+};
+
+EWRAM_DATA static struct
+{
+ u8 field_0;
+ u8 state;
+ u8 fromRow;
+ u8 fromColumn;
+ u8 toRow;
+ u8 toColumn;
+ u8 field_6;
+ u8 field_7;
+ u8 minRow;
+ u8 minColumn;
+ u8 rowsTotal;
+ u8 columsTotal;
+ u16 bgX;
+ u16 bgY;
+ u16 field_10;
+ struct BoxPokemon boxMons[IN_BOX_COUNT];
+}
+*sMoveMonsPtr = NULL;
+
+static bool8 sub_80D0164(void)
+{
+ sMoveMonsPtr = Alloc(sizeof(*sMoveMonsPtr));
+ if (sMoveMonsPtr != NULL)
+ {
+ sPSSData->field_2200 = AddWindow8Bit(&gUnknown_0857BB1C);
+ if (sPSSData->field_2200 != 0xFF)
+ {
+ FillWindowPixelBuffer(sPSSData->field_2200, 0);
+ return TRUE;
+ }
+ }
+
+ return FALSE;
+}
+
+static void sub_80D01B8(void)
+{
+ if (sMoveMonsPtr != NULL)
+ Free(sMoveMonsPtr);
+}
+
+static void sub_80D01D0(u8 arg0)
+{
+ sMoveMonsPtr->field_0 = arg0;
+ sMoveMonsPtr->state = 0;
+}
+
+static bool8 sub_80D01E4(void)
+{
+ switch (sMoveMonsPtr->field_0)
+ {
+ case 0:
+ return sub_80D024C();
+ case 1:
+ return sub_80D0344();
+ case 2:
+ return sub_80D03B0();
+ case 3:
+ return sub_80D0420();
+ case 4:
+ return sub_80D04A0();
+ case 5:
+ return sub_80D04C8();
+ }
+
+ return FALSE;
+}
+
+static bool8 sub_80D024C(void)
+{
+ switch (sMoveMonsPtr->state)
+ {
+ case 0:
+ HideBg(0);
+ sub_80D304C(0x80);
+ sMoveMonsPtr->state++;
+ break;
+ case 1:
+ sub_80CFE14(&sMoveMonsPtr->fromRow, &sMoveMonsPtr->fromColumn);
+ sMoveMonsPtr->toRow = sMoveMonsPtr->fromRow;
+ sMoveMonsPtr->toColumn = sMoveMonsPtr->fromColumn;
+ ChangeBgX(0, -1024, 0);
+ ChangeBgY(0, -1024, 0);
+ FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x20, 0x20);
+ FillWindowPixelBuffer8Bit(sPSSData->field_2200, 0);
+ sub_80D07B0(sMoveMonsPtr->fromRow, sMoveMonsPtr->fromColumn);
+ SetBgAttribute(0, 4, 1);
+ PutWindowTilemap(sPSSData->field_2200);
+ CopyWindowToVram8Bit(sPSSData->field_2200, 3);
+ BlendPalettes(0x3F00, 8, RGB_WHITE);
+ sub_80CFE54(2);
+ SetGpuRegBits(REG_OFFSET_BG0CNT, BGCNT_256COLOR);
+ sMoveMonsPtr->state++;
+ break;
+ case 2:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ ShowBg(0);
+ return FALSE;
+ }
+ break;
+ }
+
+ return TRUE;
+}
+
+static bool8 sub_80D0344(void)
+{
+ switch (sMoveMonsPtr->state)
+ {
+ case 0:
+ HideBg(0);
+ sMoveMonsPtr->state++;
+ break;
+ case 1:
+ sub_80D0B5C();
+ sub_80CFE54(0);
+ sMoveMonsPtr->state++;
+ break;
+ case 2:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ sub_80CFE84();
+ LoadPalette(stdpal_get(3), 0xD0, 0x20);
+ ShowBg(0);
+ return FALSE;
+ }
+ break;
+ }
+
+ return TRUE;
+}
+
+static bool8 sub_80D03B0(void)
+{
+ switch (sMoveMonsPtr->state)
+ {
+ case 0:
+ if (!sub_80CD554())
+ {
+ sub_80CFE14(&sMoveMonsPtr->field_6, &sMoveMonsPtr->field_7);
+ sub_80D062C();
+ sMoveMonsPtr->toRow = sMoveMonsPtr->field_6;
+ sMoveMonsPtr->toColumn = sMoveMonsPtr->field_7;
+ CopyWindowToVram8Bit(sPSSData->field_2200, 2);
+ sMoveMonsPtr->state++;
+ }
+ break;
+ case 1:
+ return IsDma3ManagerBusyWithBgCopy();
+ }
+
+ return TRUE;
+}
+
+static bool8 sub_80D0420(void)
+{
+ u8 var1, var2;
+
+ switch (sMoveMonsPtr->state)
+ {
+ case 0:
+ sub_80D08CC();
+ sub_80D09A4();
+ sub_80CDC64(FALSE);
+ sMoveMonsPtr->state++;
+ break;
+ case 1:
+ if (!DoMonPlaceChange())
+ {
+ sub_80CFE54(3);
+ sub_80D0884(0, 256, 8);
+ sub_80CDC64(TRUE);
+ sMoveMonsPtr->state++;
+ }
+ break;
+ case 2:
+ var1 = sub_80D0894();
+ var2 = DoMonPlaceChange();
+ if (!var1 && !var2)
+ return FALSE;
+ break;
+ }
+
+ return TRUE;
+}
+
+static bool8 sub_80D04A0(void)
+{
+ u8 var1 = sub_80CD554();
+ u8 var2 = sub_80D0894();
+
+ if (!var1 && !var2)
+ return FALSE;
+ else
+ return TRUE;
+}
+
+static bool8 sub_80D04C8(void)
+{
+ switch (sMoveMonsPtr->state)
+ {
+ case 0:
+ sub_80D0AAC();
+ sub_80D0884(0, -256, 8);
+ sub_80CDC64(FALSE);
+ sMoveMonsPtr->state++;
+ break;
+ case 1:
+ if (!DoMonPlaceChange() && !sub_80D0894())
+ {
+ sub_80D0A1C();
+ sub_80CFE54(2);
+ sub_80CDC64(TRUE);
+ HideBg(0);
+ sMoveMonsPtr->state++;
+ }
+ break;
+ case 2:
+ if (!DoMonPlaceChange())
+ {
+ sub_80CFE54(0);
+ sub_80D0B5C();
+ sMoveMonsPtr->state++;
+ }
+ break;
+ case 3:
+ if (!IsDma3ManagerBusyWithBgCopy())
+ {
+ LoadPalette(stdpal_get(3), 0xD0, 0x20);
+ sub_80CFE84();
+ ShowBg(0);
+ return FALSE;
+ }
+ break;
+ }
+
+ return TRUE;
+}
+
+static bool8 sub_80D0580(u8 arg0)
+{
+ switch (arg0)
+ {
+ case 0:
+ if (sMoveMonsPtr->minColumn == 0)
+ return FALSE;
+ sMoveMonsPtr->minColumn--;
+ sub_80D0884(0, 1024, 6);
+ break;
+ case 1:
+ if (sMoveMonsPtr->minColumn + sMoveMonsPtr->columsTotal >= 5)
+ return FALSE;
+ sMoveMonsPtr->minColumn++;
+ sub_80D0884(0, -1024, 6);
+ break;
+ case 2:
+ if (sMoveMonsPtr->minRow == 0)
+ return FALSE;
+ sMoveMonsPtr->minRow--;
+ sub_80D0884(1024, 0, 6);
+ break;
+ case 3:
+ if (sMoveMonsPtr->minRow + sMoveMonsPtr->rowsTotal > 5)
+ return FALSE;
+ sMoveMonsPtr->minRow++;
+ sub_80D0884(-1024, 0, 6);
+ break;
+ }
+
+ return TRUE;
+}
+
+static void sub_80D062C(void)
+{
+ s16 var = (abs(sMoveMonsPtr->fromRow - sMoveMonsPtr->field_6)) - (abs(sMoveMonsPtr->fromRow - sMoveMonsPtr->toRow));
+ s16 var2 = (abs(sMoveMonsPtr->fromColumn - sMoveMonsPtr->field_7)) - (abs(sMoveMonsPtr->fromColumn - sMoveMonsPtr->toColumn));
+
+ if (var > 0)
+ sub_80D06D0(sMoveMonsPtr->field_6, sMoveMonsPtr->fromColumn, sMoveMonsPtr->toColumn);
+
+ if (var < 0)
+ {
+ sub_80D0740(sMoveMonsPtr->toRow, sMoveMonsPtr->fromColumn, sMoveMonsPtr->toColumn);
+ sub_80D06D0(sMoveMonsPtr->field_6, sMoveMonsPtr->fromColumn, sMoveMonsPtr->toColumn);
+ }
+
+ if (var2 > 0)
+ sub_80D0708(sMoveMonsPtr->field_7, sMoveMonsPtr->fromRow, sMoveMonsPtr->toRow);
+
+ if (var2 < 0)
+ {
+ sub_80D0778(sMoveMonsPtr->toColumn, sMoveMonsPtr->fromRow, sMoveMonsPtr->toRow);
+ sub_80D0708(sMoveMonsPtr->field_7, sMoveMonsPtr->fromRow, sMoveMonsPtr->toRow);
+ }
+}
+
+static void sub_80D06D0(u8 arg0, u8 arg1, u8 arg2)
+{
+ u8 var1 = arg1;
+
+ if (arg1 > arg2)
+ {
+ arg1 = arg2;
+ arg2 = var1;
+ }
+
+ while (arg1 <= arg2)
+ sub_80D07B0(arg0, arg1++);
+}
+
+static void sub_80D0708(u8 arg0, u8 arg1, u8 arg2)
+{
+ u8 var1 = arg1;
+
+ if (arg1 > arg2)
+ {
+ arg1 = arg2;
+ arg2 = var1;
+ }
+
+ while (arg1 <= arg2)
+ sub_80D07B0(arg1++, arg0);
+}
+
+static void sub_80D0740(u8 arg0, u8 arg1, u8 arg2)
+{
+ u8 var1 = arg1;
+
+ if (arg1 > arg2)
+ {
+ arg1 = arg2;
+ arg2 = var1;
+ }
+
+ while (arg1 <= arg2)
+ sub_80D0834(arg0, arg1++);
+}
+
+static void sub_80D0778(u8 arg0, u8 arg1, u8 arg2)
+{
+ u8 var1 = arg1;
+
+ if (arg1 > arg2)
+ {
+ arg1 = arg2;
+ arg2 = var1;
+ }
+
+ while (arg1 <= arg2)
+ sub_80D0834(arg1++, arg0);
+}
+
+static void sub_80D07B0(u8 arg0, u8 arg1)
+{
+ u8 position = arg0 + (6 * arg1);
+ u16 species = GetCurrentBoxMonData(position, MON_DATA_SPECIES2);
+ u32 personality = GetCurrentBoxMonData(position, MON_DATA_PERSONALITY);
+
+ if (species != SPECIES_NONE)
+ {
+ const u8 *iconGfx = GetMonIconPtr(species, personality, 1);
+ u8 index = GetValidMonIconPalIndex(species) + 8;
+
+ BlitBitmapRectToWindow4BitTo8Bit(sPSSData->field_2200,
+ iconGfx,
+ 0,
+ 0,
+ 32,
+ 32,
+ 24 * arg0,
+ 24 * arg1,
+ 32,
+ 32,
+ index);
+ }
+}
+
+static void sub_80D0834(u8 arg0, u8 arg1)
+{
+ u8 position = arg0 + (6 * arg1);
+ u16 species = GetCurrentBoxMonData(position, MON_DATA_SPECIES2);
+
+ if (species != SPECIES_NONE)
+ {
+ FillWindowPixelRect8Bit(sPSSData->field_2200,
+ 0,
+ 24 * arg0,
+ 24 * arg1,
+ 32,
+ 32);
+ }
+}
+
+static void sub_80D0884(u16 arg0, u16 arg1, u16 arg2)
+{
+ sMoveMonsPtr->bgX = arg0;
+ sMoveMonsPtr->bgY = arg1;
+ sMoveMonsPtr->field_10 = arg2;
+}
+
+static u8 sub_80D0894(void)
+{
+ if (sMoveMonsPtr->field_10 != 0)
+ {
+ ChangeBgX(0, sMoveMonsPtr->bgX, 1);
+ ChangeBgY(0, sMoveMonsPtr->bgY, 1);
+ sMoveMonsPtr->field_10--;
+ }
+
+ return sMoveMonsPtr->field_10;
+}
+
+static void sub_80D08CC(void)
+{
+ s32 i, j, r8, r9;
+ s32 rowCount, columnCount;
+ u8 boxId;
+ u8 monArrayId;
+
+ sMoveMonsPtr->minRow = min(sMoveMonsPtr->fromRow, sMoveMonsPtr->toRow);
+ sMoveMonsPtr->minColumn = min(sMoveMonsPtr->fromColumn, sMoveMonsPtr->toColumn);
+ sMoveMonsPtr->rowsTotal = abs(sMoveMonsPtr->fromRow - sMoveMonsPtr->toRow) + 1;
+ sMoveMonsPtr->columsTotal = abs(sMoveMonsPtr->fromColumn - sMoveMonsPtr->toColumn) + 1;
+ boxId = StorageGetCurrentBox();
+ monArrayId = 0;
+ rowCount = sMoveMonsPtr->minRow + sMoveMonsPtr->rowsTotal;
+ columnCount = sMoveMonsPtr->minColumn + sMoveMonsPtr->columsTotal;
+ for (i = sMoveMonsPtr->minColumn; i < columnCount; i++)
+ {
+ u8 boxPosition = (IN_BOX_ROWS * i) + sMoveMonsPtr->minRow;
+ for (j = sMoveMonsPtr->minRow; j < rowCount; j++)
+ {
+ struct BoxPokemon *boxMon = GetBoxedMonPtr(boxId, boxPosition);
+
+ sMoveMonsPtr->boxMons[monArrayId] = *boxMon;
+ monArrayId++;
+ boxPosition++;
+ }
+ }
+}
+
+static void sub_80D09A4(void)
+{
+ s32 i, j;
+ s32 rowCount = sMoveMonsPtr->minRow + sMoveMonsPtr->rowsTotal;
+ s32 columnCount = sMoveMonsPtr->minColumn + sMoveMonsPtr->columsTotal;
+ u8 boxId = StorageGetCurrentBox();
+
+ for (i = sMoveMonsPtr->minColumn; i < columnCount; i++)
+ {
+ u8 boxPosition = (IN_BOX_ROWS * i) + sMoveMonsPtr->minRow;
+ for (j = sMoveMonsPtr->minRow; j < rowCount; j++)
+ {
+ DestroyBoxMonIconAtPosition(boxPosition);
+ ZeroBoxMonAt(boxId, boxPosition);
+ boxPosition++;
+ }
+ }
+}
+
+static void sub_80D0A1C(void)
+{
+ s32 i, j;
+ s32 rowCount = sMoveMonsPtr->minRow + sMoveMonsPtr->rowsTotal;
+ s32 columnCount = sMoveMonsPtr->minColumn + sMoveMonsPtr->columsTotal;
+ u8 monArrayId = 0;
+
+ for (i = sMoveMonsPtr->minColumn; i < columnCount; i++)
+ {
+ u8 boxPosition = (IN_BOX_ROWS * i) + sMoveMonsPtr->minRow;
+ for (j = sMoveMonsPtr->minRow; j < rowCount; j++)
+ {
+ if (GetBoxMonData(&sMoveMonsPtr->boxMons[monArrayId], MON_DATA_SANITY_HAS_SPECIES))
+ sub_80CB140(boxPosition);
+ monArrayId++;
+ boxPosition++;
+ }
+ }
+}
+
+static void sub_80D0AAC(void)
+{
+ s32 i, j;
+ s32 rowCount = sMoveMonsPtr->minRow + sMoveMonsPtr->rowsTotal;
+ s32 columnCount = sMoveMonsPtr->minColumn + sMoveMonsPtr->columsTotal;
+ u8 boxId = StorageGetCurrentBox();
+ u8 monArrayId = 0;
+
+ for (i = sMoveMonsPtr->minColumn; i < columnCount; i++)
+ {
+ u8 boxPosition = (IN_BOX_ROWS * i) + sMoveMonsPtr->minRow;
+ for (j = sMoveMonsPtr->minRow; j < rowCount; j++)
+ {
+ if (GetBoxMonData(&sMoveMonsPtr->boxMons[monArrayId], MON_DATA_SANITY_HAS_SPECIES))
+ SetBoxMonAt(boxId, boxPosition, &sMoveMonsPtr->boxMons[monArrayId]);
+ boxPosition++;
+ monArrayId++;
+ }
+ }
+}
+
+static void sub_80D0B5C(void)
+{
+ ChangeBgX(0, 0, 0);
+ ChangeBgY(0, 0, 0);
+ SetBgAttribute(0, 4, 0);
+ ClearGpuRegBits(REG_OFFSET_BG0CNT, BGCNT_256COLOR);
+ FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 32, 32);
+ CopyBgTilemapBufferToVram(0);
+}
+
+static u8 sub_80D0BA4(void)
+{
+ return (IN_BOX_ROWS * sMoveMonsPtr->fromColumn) + sMoveMonsPtr->fromRow;
+}
+
+static bool8 sub_80D0BC0(void)
+{
+ s32 i, j;
+ s32 rowCount = sMoveMonsPtr->minRow + sMoveMonsPtr->rowsTotal;
+ s32 columnCount = sMoveMonsPtr->minColumn + sMoveMonsPtr->columsTotal;
+ u8 monArrayId = 0;
+
+ for (i = sMoveMonsPtr->minColumn; i < columnCount; i++)
+ {
+ u8 boxPosition = (IN_BOX_ROWS * i) + sMoveMonsPtr->minRow;
+ for (j = sMoveMonsPtr->minRow; j < rowCount; j++)
+ {
+ if (GetBoxMonData(&sMoveMonsPtr->boxMons[monArrayId], MON_DATA_SANITY_HAS_SPECIES)
+ && GetCurrentBoxMonData(boxPosition, MON_DATA_SANITY_HAS_SPECIES))
+ return FALSE;
+
+ monArrayId++;
+ boxPosition++;
+ }
+ }
+
+ return TRUE;
+}
+
+static const u32 gUnknown_0857BB24[] = INCBIN_U32("graphics/pokemon_storage/unknown_frame.4bpp");
+
+static const struct OamData sOamData_857BBA4 =
+{
+ .y = 0,
+ .affineMode = 1,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 2,
+ .tileNum = 0,
+ .priority = 1,
+ .paletteNum = 0,
+ .affineParam = 0
+};
+
+static const union AffineAnimCmd sSpriteAffineAnim_857BBAC[] =
+{
+ AFFINEANIMCMD_FRAME(128, 128, 0, 0),
+ AFFINEANIMCMD_END
+};
+
+static const union AffineAnimCmd sSpriteAffineAnim_857BBBC[] =
+{
+ AFFINEANIMCMD_FRAME(88, 88, 0, 0),
+ AFFINEANIMCMD_FRAME(5, 5, 0, 8),
+ AFFINEANIMCMD_END
+};
+
+static const union AffineAnimCmd sSpriteAffineAnim_857BBD4[] =
+{
+ AFFINEANIMCMD_FRAME(128, 128, 0, 0),
+ AFFINEANIMCMD_FRAME(-5, -5, 0, 8),
+ AFFINEANIMCMD_END
+};
+
+static const union AffineAnimCmd sSpriteAffineAnim_857BBEC[] =
+{
+ AFFINEANIMCMD_FRAME(128, 128, 0, 0),
+ AFFINEANIMCMD_FRAME(10, 10, 0, 12),
+ AFFINEANIMCMD_FRAME(256, 256, 0, 0),
+ AFFINEANIMCMD_END
+};
+
+static const union AffineAnimCmd sSpriteAffineAnim_857BC0C[] =
+{
+ AFFINEANIMCMD_FRAME(256, 256, 0, 0),
+ AFFINEANIMCMD_FRAME(-10, -10, 0, 12),
+ AFFINEANIMCMD_FRAME(128, 128, 0, 0),
+ AFFINEANIMCMD_END
+};
+
+static const union AffineAnimCmd sSpriteAffineAnim_857BC2C[] =
+{
+ AFFINEANIMCMD_FRAME(256, 256, 0, 0),
+ AFFINEANIMCMD_FRAME(-5, -5, 0, 16),
+ AFFINEANIMCMD_END
+};
+
+static const union AffineAnimCmd sSpriteAffineAnim_857BC44[] =
+{
+ AFFINEANIMCMD_FRAME(256, 256, 0, 0),
+ AFFINEANIMCMD_END
+};
+
+static const union AffineAnimCmd *const sSpriteAffineAnimTable_857BC44[] =
+{
+ sSpriteAffineAnim_857BBAC,
+ sSpriteAffineAnim_857BBBC,
+ sSpriteAffineAnim_857BBD4,
+ sSpriteAffineAnim_857BBEC,
+ sSpriteAffineAnim_857BC0C,
+ sSpriteAffineAnim_857BC2C,
+ sSpriteAffineAnim_857BC44
+};
+
+static const struct SpriteTemplate gSpriteTemplate_857BC70 =
+{
+ .tileTag = TAG_TILE_7,
+ .paletteTag = TAG_PAL_DACB,
+ .oam = &sOamData_857BBA4,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = sSpriteAffineAnimTable_857BC44,
+ .callback = SpriteCallbackDummy,
+};
+
+static void sub_80D0C60(void)
+{
+ s32 i;
+ u8 spriteId;
+ struct CompressedSpriteSheet spriteSheet;
+ struct SpriteTemplate spriteTemplate;
+
+ if (sPSSData->boxOption == BOX_OPTION_MOVE_ITEMS)
+ {
+ spriteSheet.data = gUnknown_03000F78;
+ spriteSheet.size = 0x200;
+ spriteTemplate = gSpriteTemplate_857BC70;
+
+ for (i = 0; i < 3; i++)
+ {
+ spriteSheet.tag = TAG_TILE_7 + i;
+ LoadCompressedSpriteSheet(&spriteSheet);
+ sPSSData->field_2204[i].tiles = GetSpriteTileStartByTag(spriteSheet.tag) * 32 + (void*)(OBJ_VRAM0);
+ sPSSData->field_2204[i].palIndex = AllocSpritePalette(TAG_PAL_DACB + i);
+ sPSSData->field_2204[i].palIndex *= 16;
+ sPSSData->field_2204[i].palIndex += 0x100;
+ spriteTemplate.tileTag = TAG_TILE_7 + i;
+ spriteTemplate.paletteTag = TAG_PAL_DACB + i;
+ spriteId = CreateSprite(&spriteTemplate, 0, 0, 11);
+ sPSSData->field_2204[i].sprite = &gSprites[spriteId];
+ sPSSData->field_2204[i].sprite->invisible = TRUE;
+ sPSSData->field_2204[i].unk10 = 0;
+ }
+ }
+ sPSSData->movingItem = 0;
+}
+
+// The functions below handle new features of MOVE_ITEMS box option.
+static bool32 sub_80D1324(u8 cursorArea, u8 cursorPos);
+static const u32 *GetItemIconPic(u16 itemId);
+static const u32 *GetItemIconPalette(u16 itemId);
+static u8 sub_80D12E8(void);
+static void sub_80D140C(u8 id, u8 cursorArea, u8 cursorPos);
+static void sub_80D1524(u8 id, const u32 *itemTiles, const u32 *itemPal);
+static void sub_80D15D4(u8 id, u8 animNum);
+static void sub_80D1740(u8 id, bool8 arg1);
+static u8 sub_80D1370(u8 cursorArea, u8 cursorPos);
+static void sub_80D1604(u8 id, u8 arg1, u8 arg2, u8 arg3);
+static void sub_80D1AD8(struct Sprite *sprite);
+static void sub_80D1A48(struct Sprite *sprite);
+static void sub_80D1A74(struct Sprite *sprite);
+static void sub_80D1B14(struct Sprite *sprite);
+static void sub_80D1B94(struct Sprite *sprite);
+static void sub_80D1CCC(struct Sprite *sprite);
+static void sub_80D1C30(struct Sprite *sprite);
+
+static void sub_80D0D8C(u8 cursorArea, u8 cursorPos)
+{
+ u16 heldItem;
+
+ if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
+ return;
+ if (sub_80D1324(cursorArea, cursorPos))
+ return;
+
+ switch (cursorArea)
+ {
+ case CURSOR_AREA_IN_BOX:
+ if (!GetCurrentBoxMonData(cursorPos, MON_DATA_SANITY_HAS_SPECIES))
+ return;
+ heldItem = GetCurrentBoxMonData(cursorPos, MON_DATA_HELD_ITEM);
+ break;
+ case CURSOR_AREA_IN_PARTY:
+ if (cursorPos >= PARTY_SIZE || !GetMonData(&gPlayerParty[cursorPos], MON_DATA_SANITY_HAS_SPECIES))
+ return;
+ heldItem = GetMonData(&gPlayerParty[cursorPos], MON_DATA_HELD_ITEM);
+ break;
+ default:
+ return;
+ }
+
+ if (heldItem != 0)
+ {
+ const u32 *tiles = GetItemIconPic(heldItem);
+ const u32 *pal = GetItemIconPalette(heldItem);
+ u8 id = sub_80D12E8();
+
+ sub_80D140C(id, cursorArea, cursorPos);
+ sub_80D1524(id, tiles, pal);
+ sub_80D15D4(id, 1);
+ sub_80D1740(id, TRUE);
+ }
+}
+
+static void sub_80D0E50(u8 cursorArea, u8 cursorPos)
+{
+ u8 id;
+
+ if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
+ return;
+
+ id = sub_80D1370(cursorArea, cursorPos);
+ sub_80D15D4(id, 2);
+ sub_80D1604(id, 0, cursorArea, cursorPos);
+}
+
+static void Item_FromMonToMoving(u8 cursorArea, u8 cursorPos)
+{
+ u8 id;
+ u16 item;
+
+ if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
+ return;
+
+ id = sub_80D1370(cursorArea, cursorPos);
+ item = 0;
+ sub_80D15D4(id, 3);
+ sub_80D1604(id, 1, cursorArea, cursorPos);
+ sub_80D140C(id, 2, 0);
+ if (cursorArea == CURSOR_AREA_IN_BOX)
+ {
+ SetCurrentBoxMonData(cursorPos, MON_DATA_HELD_ITEM, &item);
+ SetBoxMonIconObjMode(cursorPos, 1);
+ }
+ else
+ {
+ SetMonData(&gPlayerParty[cursorPos], MON_DATA_HELD_ITEM, &item);
+ SetPartyMonIconObjMode(cursorPos, 1);
+ }
+
+ sPSSData->movingItem = sPSSData->cursorMonItem;
+}
+
+static void sub_80D0F38(u16 item)
+{
+ const u32 *tiles = GetItemIconPic(item);
+ const u32 *pal = GetItemIconPalette(item);
+ u8 id = sub_80D12E8();
+
+ sub_80D1524(id, tiles, pal);
+ sub_80D15D4(id, 6);
+ sub_80D1604(id, 1, 0, 0);
+ sub_80D140C(id, 2, 0);
+ sub_80D1740(id, TRUE);
+ sPSSData->movingItem = item;
+}
+
+static void Item_SwitchMonsWithMoving(u8 cursorArea, u8 cursorPos)
+{
+ u8 id;
+ u16 item;
+
+ if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
+ return;
+
+ id = sub_80D1370(cursorArea, cursorPos);
+ sub_80D15D4(id, 3);
+ sub_80D1604(id, 3, 2, 0);
+ if (cursorArea == CURSOR_AREA_IN_BOX)
+ {
+ item = GetCurrentBoxMonData(cursorPos, MON_DATA_HELD_ITEM);
+ SetCurrentBoxMonData(cursorPos, MON_DATA_HELD_ITEM, &sPSSData->movingItem);
+ sPSSData->movingItem = item;
+ }
+ else
+ {
+ item = GetMonData(&gPlayerParty[cursorPos], MON_DATA_HELD_ITEM);
+ SetMonData(&gPlayerParty[cursorPos], MON_DATA_HELD_ITEM, &sPSSData->movingItem);
+ sPSSData->movingItem = item;
+ }
+
+ id = sub_80D1370(2, 0);
+ sub_80D15D4(id, 4);
+ sub_80D1604(id, 4, cursorArea, cursorPos);
+}
+
+static void Item_GiveMovingToMon(u8 cursorArea, u8 cursorPos)
+{
+ u8 id;
+
+ if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
+ return;
+
+ id = sub_80D1370(2, 0);
+ sub_80D15D4(id, 4);
+ sub_80D1604(id, 2, cursorArea, cursorPos);
+ if (cursorArea == CURSOR_AREA_IN_BOX)
+ {
+ SetCurrentBoxMonData(cursorPos, MON_DATA_HELD_ITEM, &sPSSData->movingItem);
+ SetBoxMonIconObjMode(cursorPos, 0);
+ }
+ else
+ {
+ SetMonData(&gPlayerParty[cursorPos], MON_DATA_HELD_ITEM, &sPSSData->movingItem);
+ SetPartyMonIconObjMode(cursorPos, 0);
+ }
+}
+
+static void Item_TakeMons(u8 cursorArea, u8 cursorPos)
+{
+ u8 id;
+ u16 item;
+
+ if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
+ return;
+
+ item = 0;
+ id = sub_80D1370(cursorArea, cursorPos);
+ sub_80D15D4(id, 2);
+ sub_80D1604(id, 0, cursorArea, cursorPos);
+ if (cursorArea == CURSOR_AREA_IN_BOX)
+ {
+ SetCurrentBoxMonData(cursorPos, MON_DATA_HELD_ITEM, &item);
+ SetBoxMonIconObjMode(cursorPos, 1);
+ }
+ else
+ {
+ SetMonData(&gPlayerParty[cursorPos], MON_DATA_HELD_ITEM, &item);
+ SetPartyMonIconObjMode(cursorPos, 1);
+ }
+}
+
+static void sub_80D1194(void)
+{
+ if (sPSSData->boxOption == BOX_OPTION_MOVE_ITEMS)
+ {
+ u8 id = sub_80D1370(2, 0);
+ sub_80D15D4(id, 5);
+ sub_80D1604(id, 0, 2, 0);
+ }
+}
+
+static void sub_80D11CC(void)
+{
+ s32 i;
+
+ if (sPSSData->boxOption != BOX_OPTION_MOVE_ITEMS)
+ return;
+
+ for (i = 0; i < 3; i++)
+ {
+ if (sPSSData->field_2204[i].unk10 && sPSSData->field_2204[i].unk8 == 1)
+ sub_80D1604(i, 7, 2, 0);
+ }
+}
+
+static bool8 sub_80D1218(void)
+{
+ s32 i;
+
+ for (i = 0; i < 3; i++)
+ {
+ if (sPSSData->field_2204[i].unk10)
+ {
+ if (!sPSSData->field_2204[i].sprite->affineAnimEnded && sPSSData->field_2204[i].sprite->affineAnimBeginning)
+ return TRUE;
+ if (sPSSData->field_2204[i].sprite->callback != SpriteCallbackDummy && sPSSData->field_2204[i].sprite->callback != sub_80D1AD8)
+ return TRUE;
+ }
+ }
+
+ return FALSE;
+}
+
+static bool8 IsActiveItemMoving(void)
+{
+ s32 i;
+
+ if (sPSSData->boxOption == BOX_OPTION_MOVE_ITEMS)
+ {
+ for (i = 0; i < 3; i++)
+ {
+ if (sPSSData->field_2204[i].unk10 && sPSSData->field_2204[i].unk8 == 2)
+ return TRUE;
+ }
+ }
+
+ return FALSE;
+}
+
+static const u8 *GetMovingItemName(void)
+{
+ return ItemId_GetName(sPSSData->movingItem);
+}
+
+static u16 GetMovingItem(void)
+{
+ return sPSSData->movingItem;
+}
+
+static u8 sub_80D12E8(void)
+{
+ u8 i;
+
+ for (i = 0; i < 3; i++)
+ {
+ if (sPSSData->field_2204[i].unk10 == 0)
+ {
+ sPSSData->field_2204[i].unk10 = 1;
+ return i;
+ }
+ }
+
+ return 3;
+}
+
+static bool32 sub_80D1324(u8 cursorArea, u8 cursorPos)
+{
+ s32 i;
+
+ for (i = 0; i < 3; i++)
+ {
+ if (sPSSData->field_2204[i].unk10
+ && sPSSData->field_2204[i].unk8 == cursorArea
+ && sPSSData->field_2204[i].unk9 == cursorPos)
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+static u8 sub_80D1370(u8 cursorArea, u8 cursorPos)
+{
+ u8 i;
+
+ for (i = 0; i < 3; i++)
+ {
+ if (sPSSData->field_2204[i].unk10
+ && sPSSData->field_2204[i].unk8 == cursorArea
+ && sPSSData->field_2204[i].unk9 == cursorPos)
+ return i;
+ }
+
+ return 3;
+}
+
+static u8 sub_80D13C4(struct Sprite *sprite)
+{
+ u8 i;
+
+ for (i = 0; i < 3; i++)
+ {
+ if (sPSSData->field_2204[i].unk10
+ && sPSSData->field_2204[i].sprite == sprite)
+ return i;
+ }
+
+ return 3;
+}
+
+static void sub_80D140C(u8 id, u8 cursorArea, u8 cursorPos)
+{
+ u8 row, column;
+
+ if (id >= 3)
+ return;
+
+ switch (cursorArea)
+ {
+ case CURSOR_AREA_IN_BOX:
+ row = cursorPos % IN_BOX_ROWS;
+ column = cursorPos / IN_BOX_ROWS;
+ sPSSData->field_2204[id].sprite->pos1.x = (24 * row) + 112;
+ sPSSData->field_2204[id].sprite->pos1.y = (24 * column) + 56;
+ sPSSData->field_2204[id].sprite->oam.priority = 2;
+ break;
+ case CURSOR_AREA_IN_PARTY:
+ if (cursorPos == 0)
+ {
+ sPSSData->field_2204[id].sprite->pos1.x = 116;
+ sPSSData->field_2204[id].sprite->pos1.y = 76;
+ }
+ else
+ {
+ sPSSData->field_2204[id].sprite->pos1.x = 164;
+ sPSSData->field_2204[id].sprite->pos1.y = 24 * (cursorPos - 1) + 28;
+ }
+ sPSSData->field_2204[id].sprite->oam.priority = 1;
+ break;
+ }
+
+ sPSSData->field_2204[id].unk8 = cursorArea;
+ sPSSData->field_2204[id].unk9 = cursorPos;
+}
+
+static void sub_80D1524(u8 id, const u32 *itemTiles, const u32 *itemPal)
+{
+ s32 i;
+
+ if (id >= 3)
+ return;
+
+ CpuFastFill(0, sPSSData->field_42C4, 0x200);
+ LZ77UnCompWram(itemTiles, sPSSData->field_22C4);
+ for (i = 0; i < 3; i++)
+ CpuFastCopy(sPSSData->field_22C4 + (i * 0x60), sPSSData->field_42C4 + (i * 0x80), 0x60);
+
+ CpuFastCopy(sPSSData->field_42C4, sPSSData->field_2204[id].tiles, 0x200);
+ LZ77UnCompWram(itemPal, sPSSData->field_42C4);
+ LoadPalette(sPSSData->field_42C4, sPSSData->field_2204[id].palIndex, 0x20);
+}
+
+static void sub_80D15D4(u8 id, u8 animNum)
+{
+ if (id >= 3)
+ return;
+
+ StartSpriteAffineAnim(sPSSData->field_2204[id].sprite, animNum);
+}
+
+static void sub_80D1604(u8 id, u8 arg1, u8 arg2, u8 arg3)
+{
+ if (id >= 3)
+ return;
+
+ switch (arg1)
+ {
+ case 0:
+ sPSSData->field_2204[id].sprite->data[0] = id;
+ sPSSData->field_2204[id].sprite->callback = sub_80D1A48;
+ break;
+ case 1:
+ sPSSData->field_2204[id].sprite->data[0] = 0;
+ sPSSData->field_2204[id].sprite->callback = sub_80D1A74;
+ break;
+ case 2:
+ sPSSData->field_2204[id].sprite->data[0] = 0;
+ sPSSData->field_2204[id].sprite->data[6] = arg2;
+ sPSSData->field_2204[id].sprite->data[7] = arg3;
+ sPSSData->field_2204[id].sprite->callback = sub_80D1B14;
+ break;
+ case 3:
+ sPSSData->field_2204[id].sprite->data[0] = 0;
+ sPSSData->field_2204[id].sprite->callback = sub_80D1B94;
+ sPSSData->field_2204[id].sprite->data[6] = arg2;
+ sPSSData->field_2204[id].sprite->data[7] = arg3;
+ break;
+ case 4:
+ sPSSData->field_2204[id].sprite->data[0] = 0;
+ sPSSData->field_2204[id].sprite->data[6] = arg2;
+ sPSSData->field_2204[id].sprite->data[7] = arg3;
+ sPSSData->field_2204[id].sprite->callback = sub_80D1C30;
+ break;
+ case 7:
+ sPSSData->field_2204[id].sprite->callback = sub_80D1CCC;
+ break;
+ }
+}
+
+static void sub_80D1740(u8 id, bool8 arg1)
+{
+ if (id >= 3)
+ return;
+
+ sPSSData->field_2204[id].unk10 = arg1;
+ sPSSData->field_2204[id].sprite->invisible = (arg1 == FALSE);
+}
+
+static const u32 *GetItemIconPic(u16 itemId)
+{
+ return GetItemIconPicOrPalette(itemId, 0);
+}
+
+static const u32 *GetItemIconPalette(u16 itemId)
+{
+ return GetItemIconPicOrPalette(itemId, 1);
+}
+
+static void PrintItemDescription(void)
+{
+ const u8 *description;
+
+ if (IsActiveItemMoving())
+ description = ItemId_GetDescription(sPSSData->movingItem);
+ else
+ description = ItemId_GetDescription(sPSSData->cursorMonItem);
+
+ FillWindowPixelBuffer(2, 0x11);
+ AddTextPrinterParameterized5(2, 1, description, 4, 0, 0, NULL, 0, 1);
+}
+
+static void sub_80D1818(void)
+{
+ sPSSData->field_2236 = 0x15;
+ LoadBgTiles(0, gUnknown_0857BB24, 0x80, 0x13A);
+ sub_80D19B4(0);
+}
+
+static bool8 sub_80D184C(void)
+{
+ s32 i, var;
+
+ if (sPSSData->field_2236 == 0)
+ return FALSE;
+
+ sPSSData->field_2236--;
+ var = 0x15 - sPSSData->field_2236;
+ for (i = 0; i < var; i++)
+ {
+ WriteSequenceToBgTilemapBuffer(0, GetBgAttribute(0, 10) + 0x14 + sPSSData->field_2236 + i, i, 13, 1, 7, 15, 21);
+ }
+
+ sub_80D19B4(var);
+ return (sPSSData->field_2236 != 0);
+}
+
+static bool8 sub_80D18E4(void)
+{
+ s32 i, var;
+
+ if (sPSSData->field_2236 == 0x16)
+ return FALSE;
+
+ if (sPSSData->field_2236 == 0)
+ FillBgTilemapBufferRect(0, 0, 21, 12, 1, 9, 17);
+
+ sPSSData->field_2236++;
+ var = 0x15 - sPSSData->field_2236;
+ for (i = 0; i < var; i++)
+ {
+ WriteSequenceToBgTilemapBuffer(0, GetBgAttribute(0, 10) + 0x14 + sPSSData->field_2236 + i, i, 13, 1, 7, 15, 21);
+ }
+
+ if (var >= 0)
+ sub_80D19B4(var);
+
+ FillBgTilemapBufferRect(0, 0, var + 1, 12, 1, 9, 0x11);
+ schedule_bg_copy_tilemap_to_vram(0);
+ return TRUE;
+}
+
+static void sub_80D19B4(u32 arg0)
+{
+ if (arg0 != 0)
+ {
+ FillBgTilemapBufferRect(0, 0x13A, 0, 0xC, arg0, 1, 0xFu);
+ FillBgTilemapBufferRect(0, 0x93A, 0, 0x14, arg0, 1, 0xFu);
+ }
+ FillBgTilemapBufferRect(0, 0x13B, arg0, 0xD, 1, 7, 0xFu);
+ FillBgTilemapBufferRect(0, 0x13C, arg0, 0xC, 1, 1, 0xFu);
+ FillBgTilemapBufferRect(0, 0x13D, arg0, 0x14, 1, 1, 0xFu);
+ schedule_bg_copy_tilemap_to_vram(0);
+}
+
+static void sub_80D1A48(struct Sprite *sprite)
+{
+ if (sprite->affineAnimEnded)
+ {
+ sub_80D1740(sprite->data[0], FALSE);
+ sprite->callback = SpriteCallbackDummy;
+ }
+}
+
+static void sub_80D1A74(struct Sprite *sprite)
+{
+ switch (sprite->data[0])
+ {
+ case 0:
+ sprite->data[1] = sprite->pos1.x << 4;
+ sprite->data[2] = sprite->pos1.y << 4;
+ sprite->data[3] = 10;
+ sprite->data[4] = 21;
+ sprite->data[5] = 0;
+ sprite->data[0]++;
+ case 1:
+ sprite->data[1] -= sprite->data[3];
+ sprite->data[2] -= sprite->data[4];
+ sprite->pos1.x = sprite->data[1] >> 4;
+ sprite->pos1.y = sprite->data[2] >> 4;
+ if (++sprite->data[5] > 11)
+ sprite->callback = sub_80D1AD8;
+ break;
+ }
+}
+
+static void sub_80D1AD8(struct Sprite *sprite)
+{
+ sprite->pos1.x = sPSSData->field_CB4->pos1.x + 4;
+ sprite->pos1.y = sPSSData->field_CB4->pos1.y + sPSSData->field_CB4->pos2.y + 8;
+ sprite->oam.priority = sPSSData->field_CB4->oam.priority;
+}
+
+static void sub_80D1B14(struct Sprite *sprite)
+{
+ switch (sprite->data[0])
+ {
+ case 0:
+ sprite->data[1] = sprite->pos1.x << 4;
+ sprite->data[2] = sprite->pos1.y << 4;
+ sprite->data[3] = 10;
+ sprite->data[4] = 21;
+ sprite->data[5] = 0;
+ sprite->data[0]++;
+ case 1:
+ sprite->data[1] += sprite->data[3];
+ sprite->data[2] += sprite->data[4];
+ sprite->pos1.x = sprite->data[1] >> 4;
+ sprite->pos1.y = sprite->data[2] >> 4;
+ if (++sprite->data[5] > 11)
+ {
+ sub_80D140C(sub_80D13C4(sprite), sprite->data[6], sprite->data[7]);
+ sprite->callback = SpriteCallbackDummy;
+ }
+ break;
+ }
+}
+
+static void sub_80D1B94(struct Sprite *sprite)
+{
+ switch (sprite->data[0])
+ {
+ case 0:
+ sprite->data[1] = sprite->pos1.x << 4;
+ sprite->data[2] = sprite->pos1.y << 4;
+ sprite->data[3] = 10;
+ sprite->data[4] = 21;
+ sprite->data[5] = 0;
+ sprite->data[0]++;
+ case 1:
+ sprite->data[1] -= sprite->data[3];
+ sprite->data[2] -= sprite->data[4];
+ sprite->pos1.x = sprite->data[1] >> 4;
+ sprite->pos1.y = sprite->data[2] >> 4;
+ sprite->pos2.x = gSineTable[sprite->data[5] * 8] >> 4;
+ if (++sprite->data[5] > 11)
+ {
+ sub_80D140C(sub_80D13C4(sprite), sprite->data[6], sprite->data[7]);
+ sprite->pos2.x = 0;
+ sprite->callback = sub_80D1AD8;
+ }
+ break;
+ }
+}
+
+static void sub_80D1C30(struct Sprite *sprite)
+{
+ switch (sprite->data[0])
+ {
+ case 0:
+ sprite->data[1] = sprite->pos1.x << 4;
+ sprite->data[2] = sprite->pos1.y << 4;
+ sprite->data[3] = 10;
+ sprite->data[4] = 21;
+ sprite->data[5] = 0;
+ sprite->data[0]++;
+ case 1:
+ sprite->data[1] += sprite->data[3];
+ sprite->data[2] += sprite->data[4];
+ sprite->pos1.x = sprite->data[1] >> 4;
+ sprite->pos1.y = sprite->data[2] >> 4;
+ sprite->pos2.x = -(gSineTable[sprite->data[5] * 8] >> 4);
+ if (++sprite->data[5] > 11)
+ {
+ sub_80D140C(sub_80D13C4(sprite), sprite->data[6], sprite->data[7]);
+ sprite->callback = SpriteCallbackDummy;
+ sprite->pos2.x = 0;
+ }
+ break;
+ }
+}
+
+static void sub_80D1CCC(struct Sprite *sprite)
+{
+ sprite->pos1.y -= 8;
+ if (sprite->pos1.y + sprite->pos2.y < -16)
+ {
+ sprite->callback = SpriteCallbackDummy;
+ sub_80D1740(sub_80D13C4(sprite), FALSE);
+ }
+}
+
+void nullsub_pss(void)
+{
+
+}
+
+void nullsub_98(void)
+{
+
+}
+
+// Functions here are general utility functions.
+u8 StorageGetCurrentBox(void)
+{
+ return gPokemonStoragePtr->currentBox;
+}
+
+static void SetCurrentBox(u8 boxId)
+{
+ if (boxId < TOTAL_BOXES_COUNT)
+ gPokemonStoragePtr->currentBox = boxId;
+}
+
+u32 GetBoxMonDataAt(u8 boxId, u8 boxPosition, s32 request)
+{
+ if (boxId < TOTAL_BOXES_COUNT && boxPosition < IN_BOX_COUNT)
+ return GetBoxMonData(&gPokemonStoragePtr->boxes[boxId][boxPosition], request);
+ else
+ return 0;
+}
+
+void SetBoxMonDataAt(u8 boxId, u8 boxPosition, s32 request, const void *value)
+{
+ if (boxId < TOTAL_BOXES_COUNT && boxPosition < IN_BOX_COUNT)
+ SetBoxMonData(&gPokemonStoragePtr->boxes[boxId][boxPosition], request, value);
+}
+
+u32 GetCurrentBoxMonData(u8 boxPosition, s32 request)
+{
+ return GetBoxMonDataAt(gPokemonStoragePtr->currentBox, boxPosition, request);
+}
+
+void SetCurrentBoxMonData(u8 boxPosition, s32 request, const void *value)
+{
+ SetBoxMonDataAt(gPokemonStoragePtr->currentBox, boxPosition, request, value);
+}
+
+void GetBoxMonNickAt(u8 boxId, u8 boxPosition, u8 *dst)
+{
+ if (boxId < TOTAL_BOXES_COUNT && boxPosition < IN_BOX_COUNT)
+ GetBoxMonData(&gPokemonStoragePtr->boxes[boxId][boxPosition], MON_DATA_NICKNAME, dst);
+ else
+ *dst = EOS;
+}
+
+u32 GetBoxMonLevelAt(u8 boxId, u8 boxPosition)
+{
+ u32 lvl;
+
+ // BUG: Missed 'else' statement.
+ if (boxId < TOTAL_BOXES_COUNT && boxPosition < IN_BOX_COUNT && GetBoxMonData(&gPokemonStoragePtr->boxes[boxId][boxPosition], MON_DATA_SANITY_HAS_SPECIES))
+ lvl = GetLevelFromBoxMonExp(&gPokemonStoragePtr->boxes[boxId][boxPosition]);
+ // else
+ lvl = 0;
+
+ return lvl;
+}
+
+void SetBoxMonNickAt(u8 boxId, u8 boxPosition, const u8 *nick)
+{
+ if (boxId < TOTAL_BOXES_COUNT && boxPosition < IN_BOX_COUNT)
+ SetBoxMonData(&gPokemonStoragePtr->boxes[boxId][boxPosition], MON_DATA_NICKNAME, nick);
+}
+
+u32 GetAndCopyBoxMonDataAt(u8 boxId, u8 boxPosition, s32 request, void *dst)
+{
+ if (boxId < TOTAL_BOXES_COUNT && boxPosition < IN_BOX_COUNT)
+ return GetBoxMonData(&gPokemonStoragePtr->boxes[boxId][boxPosition], request, dst);
+ else
+ return 0;
+}
+
+void SetBoxMonAt(u8 boxId, u8 boxPosition, struct BoxPokemon *src)
+{
+ if (boxId < TOTAL_BOXES_COUNT && boxPosition < IN_BOX_COUNT)
+ gPokemonStoragePtr->boxes[boxId][boxPosition] = *src;
+}
+
+void CopyBoxMonAt(u8 boxId, u8 boxPosition, struct BoxPokemon *dst)
+{
+ if (boxId < TOTAL_BOXES_COUNT && boxPosition < IN_BOX_COUNT)
+ *dst = gPokemonStoragePtr->boxes[boxId][boxPosition];
+}
+
+void CreateBoxMonAt(u8 boxId, u8 boxPosition, u16 species, u8 level, u8 fixedIV, u8 hasFixedPersonality, u32 personality, u8 otIDType, u32 otID)
+{
+ if (boxId < TOTAL_BOXES_COUNT && boxPosition < IN_BOX_COUNT)
+ {
+ CreateBoxMon(&gPokemonStoragePtr->boxes[boxId][boxPosition],
+ species,
+ level,
+ fixedIV,
+ hasFixedPersonality, personality,
+ otIDType, otID);
+ }
+}
+
+void ZeroBoxMonAt(u8 boxId, u8 boxPosition)
+{
+ if (boxId < TOTAL_BOXES_COUNT && boxPosition < IN_BOX_COUNT)
+ ZeroBoxMonData(&gPokemonStoragePtr->boxes[boxId][boxPosition]);
+}
+
+void BoxMonAtToMon(u8 boxId, u8 boxPosition, struct Pokemon *dst)
+{
+ if (boxId < TOTAL_BOXES_COUNT && boxPosition < IN_BOX_COUNT)
+ BoxMonToMon(&gPokemonStoragePtr->boxes[boxId][boxPosition], dst);
+}
+
+struct BoxPokemon *GetBoxedMonPtr(u8 boxId, u8 boxPosition)
+{
+ if (boxId < TOTAL_BOXES_COUNT && boxPosition < IN_BOX_COUNT)
+ return &gPokemonStoragePtr->boxes[boxId][boxPosition];
+ else
+ return NULL;
+}
+
+u8 *GetBoxNamePtr(u8 boxId)
+{
+ if (boxId < TOTAL_BOXES_COUNT)
+ return gPokemonStoragePtr->boxNames[boxId];
+ else
+ return NULL;
+}
+
+u8 GetBoxWallpaper(u8 boxId)
+{
+ if (boxId < TOTAL_BOXES_COUNT)
+ return gPokemonStoragePtr->boxWallpapers[boxId];
+ else
+ return 0;
+}
+
+void SetBoxWallpaper(u8 boxId, u8 wallpaperId)
+{
+ if (boxId < TOTAL_BOXES_COUNT && wallpaperId < WALLPAPER_COUNT)
+ gPokemonStoragePtr->boxWallpapers[boxId] = wallpaperId;
+}
+
+s16 sub_80D214C(struct BoxPokemon *boxMons, u8 currIndex, u8 maxIndex, u8 arg3)
+{
+ s16 i;
+ s16 adder = -1;
+
+ if (arg3 < 2)
+ adder = 1;
+
+ if (arg3 == 1 || arg3 == 3)
+ {
+ for (i = (s8)currIndex + adder; i >= 0 && i <= maxIndex; i += adder)
+ {
+ if (GetBoxMonData(&boxMons[i], MON_DATA_SPECIES) != SPECIES_NONE)
+ return i;
+ }
+ }
+ else
+ {
+ for (i = (s8)currIndex + adder; i >= 0 && i <= maxIndex; i += adder)
+ {
+ if (GetBoxMonData(&boxMons[i], MON_DATA_SPECIES) != SPECIES_NONE
+ && !GetBoxMonData(&boxMons[i], MON_DATA_IS_EGG))
+ return i;
+ }
+ }
+
+ return -1;
+}
+
+bool8 CheckFreePokemonStorageSpace(void)
+{
+ s32 i, j;
+
+ for (i = 0; i < TOTAL_BOXES_COUNT; i++)
+ {
+ for (j = 0; j < IN_BOX_COUNT; j++)
+ {
+ if (!GetBoxMonData(&gPokemonStoragePtr->boxes[i][j], MON_DATA_SANITY_HAS_SPECIES))
+ return TRUE;
+ }
+ }
+
+ return FALSE;
+}
+
+bool32 CheckBoxMonSanityAt(u32 boxId, u32 boxPosition)
+{
+ if (boxId < TOTAL_BOXES_COUNT
+ && boxPosition < IN_BOX_COUNT
+ && GetBoxMonData(&gPokemonStoragePtr->boxes[boxId][boxPosition], MON_DATA_SANITY_HAS_SPECIES)
+ && !GetBoxMonData(&gPokemonStoragePtr->boxes[boxId][boxPosition], MON_DATA_SANITY_IS_EGG)
+ && !GetBoxMonData(&gPokemonStoragePtr->boxes[boxId][boxPosition], MON_DATA_SANITY_IS_BAD_EGG))
+ return TRUE;
+ else
+ return FALSE;
+}
+
+u32 CountStorageNonEggMons(void)
+{
+ s32 i, j;
+ u32 count = 0;
+
+ for (i = 0; i < TOTAL_BOXES_COUNT; i++)
+ {
+ for (j = 0; j < IN_BOX_COUNT; j++)
+ {
+ if (GetBoxMonData(&gPokemonStoragePtr->boxes[i][j], MON_DATA_SANITY_HAS_SPECIES)
+ && !GetBoxMonData(&gPokemonStoragePtr->boxes[i][j], MON_DATA_SANITY_IS_EGG))
+ count++;
+ }
+ }
+
+ return count;
+}
+
+u32 CountAllStorageMons(void)
+{
+ s32 i, j;
+ u32 count = 0;
+
+ for (i = 0; i < TOTAL_BOXES_COUNT; i++)
+ {
+ for (j = 0; j < IN_BOX_COUNT; j++)
+ {
+ if (GetBoxMonData(&gPokemonStoragePtr->boxes[i][j], MON_DATA_SANITY_HAS_SPECIES)
+ || GetBoxMonData(&gPokemonStoragePtr->boxes[i][j], MON_DATA_SANITY_IS_EGG))
+ count++;
+ }
+ }
+
+ return count;
+}
+
+bool32 AnyStorageMonWithMove(u16 moveId)
+{
+ u16 moves[] = {moveId, MOVES_COUNT};
+ s32 i, j;
+
+ for (i = 0; i < TOTAL_BOXES_COUNT; i++)
+ {
+ for (j = 0; j < IN_BOX_COUNT; j++)
+ {
+ if (GetBoxMonData(&gPokemonStoragePtr->boxes[i][j], MON_DATA_SANITY_HAS_SPECIES)
+ && !GetBoxMonData(&gPokemonStoragePtr->boxes[i][j], MON_DATA_SANITY_IS_EGG)
+ && GetBoxMonData(&gPokemonStoragePtr->boxes[i][j], MON_DATA_KNOWN_MOVES, moves))
+ return TRUE;
+ }
+ }
+
+ return FALSE;
+}
+
+void ResetWaldaWallpaper(void)
+{
+ gSaveBlock1Ptr->waldaPhrase.iconId = 0;
+ gSaveBlock1Ptr->waldaPhrase.patternId = 0;
+ gSaveBlock1Ptr->waldaPhrase.patternUnlocked = FALSE;
+ gSaveBlock1Ptr->waldaPhrase.colors[0] = RGB(21, 25, 30);
+ gSaveBlock1Ptr->waldaPhrase.colors[1] = RGB(6, 12, 24);
+ gSaveBlock1Ptr->waldaPhrase.text[0] = EOS;
+}
+
+void SetWaldaWallpaperLockedOrUnlocked(bool32 unlocked)
+{
+ gSaveBlock1Ptr->waldaPhrase.patternUnlocked = unlocked;
+}
+
+bool32 IsWaldaWallpaperUnlocked(void)
+{
+ return gSaveBlock1Ptr->waldaPhrase.patternUnlocked;
+}
+
+u32 GetWaldaWallpaperPatternId(void)
+{
+ return gSaveBlock1Ptr->waldaPhrase.patternId;
+}
+
+void SetWaldaWallpaperPatternId(u8 id)
+{
+ if (id < FRIENDS_WALLPAPERS_COUNT)
+ gSaveBlock1Ptr->waldaPhrase.patternId = id;
+}
+
+u32 GetWaldaWallpaperIconId(void)
+{
+ return gSaveBlock1Ptr->waldaPhrase.iconId;
+}
+
+void SetWaldaWallpaperIconId(u8 id)
+{
+ if (id < 30)
+ gSaveBlock1Ptr->waldaPhrase.iconId = id;
+}
+
+u16 *GetWaldaWallpaperColorsPtr(void)
+{
+ return gSaveBlock1Ptr->waldaPhrase.colors;
+}
+
+void SetWaldaWallpaperColors(u16 color1, u16 color2)
+{
+ gSaveBlock1Ptr->waldaPhrase.colors[0] = color1;
+ gSaveBlock1Ptr->waldaPhrase.colors[1] = color2;
+}
+
+u8 *GetWaldaPhrasePtr(void)
+{
+ return gSaveBlock1Ptr->waldaPhrase.text;
+}
+
+void SetWaldaPhrase(const u8 *src)
+{
+ StringCopy(gSaveBlock1Ptr->waldaPhrase.text, src);
+}
+
+bool32 IsWaldaPhraseEmpty(void)
+{
+ return (gSaveBlock1Ptr->waldaPhrase.text[0] == EOS);
+}
+
+// Not sure what the purpose of these functions is.
+// They seem to only be called while PSS is initialized.
+
+EWRAM_DATA static struct UnkStruct_2039D84 *gUnknown_02039D84 = NULL;
+EWRAM_DATA static u16 gUnknown_02039D88 = 0;
+
+static void sub_80D259C(u8 count)
+{
+ u16 i;
+
+ gUnknown_02039D84 = Alloc(sizeof(*gUnknown_02039D84) * count);
+ gUnknown_02039D88 = (gUnknown_02039D84 == NULL) ? 0 : count;
+ for (i = 0; i < gUnknown_02039D88; i++)
+ {
+ gUnknown_02039D84[i].field_18 = NULL;
+ gUnknown_02039D84[i].field_2C = 0;
+ }
+}
+
+static void sub_80D25F0(void)
+{
+ Free(gUnknown_02039D84);
+}
+
+static void sub_80D2604(void)
+{
+ s32 i;
+
+ for (i = 0; i < gUnknown_02039D88; i++)
+ {
+ if (gUnknown_02039D84[i].field_2C == 1)
+ sub_80D2918(i);
+ }
+}
+
+struct
+{
+ u16 a;
+ u16 b;
+}
+static const sUnkVars[][4] =
+{
+ {
+ {0x0100, 0x0100},
+ {0x0200, 0x0100},
+ {0x0100, 0x0200},
+ {0x0200, 0x0200},
+ },
+ {
+ {0x0080, 0x0080},
+ {0x0100, 0x0100},
+ {0x0200, 0x0200},
+ {0x0400, 0x0400},
+ },
+};
+
+static void sub_80D2644(u8 id, u8 bg, const void *arg2, u16 arg3, u16 arg4)
+{
+ u16 attribute1, attribute2;
+
+ if (id >= gUnknown_02039D88)
+ return;
+
+ gUnknown_02039D84[id].field_18 = NULL;
+ gUnknown_02039D84[id].field_1C = arg2;
+ gUnknown_02039D84[id].field_2B = bg;
+ gUnknown_02039D84[id].field_24 = arg3;
+ gUnknown_02039D84[id].field_26 = arg4;
+
+ attribute1 = GetBgAttribute(bg, 3);
+ attribute2 = GetBgAttribute(bg, 9);
+ gUnknown_02039D84[id].field_20 = sUnkVars[attribute2][attribute1].a;
+ gUnknown_02039D84[id].field_22 = sUnkVars[attribute2][attribute1].b;
+ if (attribute2 != 0)
+ gUnknown_02039D84[id].field_2A = 1;
+ else
+ gUnknown_02039D84[id].field_2A = 2;
+
+ gUnknown_02039D84[id].field_28 = gUnknown_02039D84[id].field_2A * arg3;
+ gUnknown_02039D84[id].field_0[1].field_4 = arg3;
+ gUnknown_02039D84[id].field_0[1].field_6 = arg4;
+ gUnknown_02039D84[id].field_0[1].field_0 = 0;
+ gUnknown_02039D84[id].field_0[1].field_2 = 0;
+ gUnknown_02039D84[id].field_0[1].field_8 = 0;
+ gUnknown_02039D84[id].field_0[1].field_A = 0;
+ gUnknown_02039D84[id].field_0[0] = gUnknown_02039D84[id].field_0[1];
+ gUnknown_02039D84[id].field_2C = 1;
+}
+
+static void sub_80D2740(u8 id, const void *arg1)
+{
+ if (id >= gUnknown_02039D88)
+ return;
+
+ gUnknown_02039D84[id].field_18 = arg1;
+ gUnknown_02039D84[id].field_2C = 1;
+}
+
+static void sub_80D2770(u8 id, u16 arg1, u16 arg2)
+{
+ if (id >= gUnknown_02039D88)
+ return;
+
+ gUnknown_02039D84[id].field_0[1].field_8 = arg1;
+ gUnknown_02039D84[id].field_0[1].field_A = arg2;
+ gUnknown_02039D84[id].field_2C = 1;
+}
+
+static void sub_80D27AC(u8 id, u16 arg1, u16 arg2, u16 arg3, u16 arg4)
+{
+ if (id >= gUnknown_02039D88)
+ return;
+
+ gUnknown_02039D84[id].field_0[1].field_0 = arg1;
+ gUnknown_02039D84[id].field_0[1].field_2 = arg2;
+ gUnknown_02039D84[id].field_0[1].field_4 = arg3;
+ gUnknown_02039D84[id].field_0[1].field_6 = arg4;
+ gUnknown_02039D84[id].field_2C = 1;
+}
+
+static void sub_80D27F4(u8 id, u8 arg1, s8 arg2)
+{
+ if (id >= gUnknown_02039D88)
+ return;
+
+ switch (arg1)
+ {
+ case 0:
+ gUnknown_02039D84[id].field_0[1].field_8 += arg2;
+ gUnknown_02039D84[id].field_0[1].field_4 -= arg2;
+ break;
+ case 1:
+ gUnknown_02039D84[id].field_0[1].field_0 += arg2;
+ gUnknown_02039D84[id].field_0[1].field_4 += arg2;
+ break;
+ case 2:
+ gUnknown_02039D84[id].field_0[1].field_A += arg2;
+ gUnknown_02039D84[id].field_0[1].field_6 -= arg2;
+ break;
+ case 3:
+ gUnknown_02039D84[id].field_0[1].field_2 -= arg2;
+ gUnknown_02039D84[id].field_0[1].field_6 += arg2;
+ break;
+ case 4:
+ gUnknown_02039D84[id].field_0[1].field_8 += arg2;
+ break;
+ case 5:
+ gUnknown_02039D84[id].field_0[1].field_A += arg2;
+ break;
+ }
+
+ gUnknown_02039D84[id].field_2C = 1;
+}
+
+static void sub_80D2918(u8 id)
+{
+ if (id >= gUnknown_02039D88)
+ return;
+
+ if (gUnknown_02039D84[id].field_18 != NULL)
+ sub_80D2960(id);
+
+ sub_80D29F8(id);
+ gUnknown_02039D84[id].field_0[0] = gUnknown_02039D84[id].field_0[1];
+}
+
+static void sub_80D2960(u8 id)
+{
+ s32 i;
+ u32 adder = gUnknown_02039D84[id].field_2A * gUnknown_02039D84[id].field_20;
+ const void *tiles = (gUnknown_02039D84[id].field_18 + (adder * gUnknown_02039D84[id].field_0[0].field_A))
+ + (gUnknown_02039D84[id].field_2A * gUnknown_02039D84[id].field_0[0].field_8);
+
+ for (i = 0; i < gUnknown_02039D84[id].field_0[0].field_6; i++)
+ {
+ CopyToBgTilemapBufferRect(gUnknown_02039D84[id].field_2B,
+ tiles,
+ gUnknown_02039D84[id].field_0[0].field_8,
+ gUnknown_02039D84[id].field_0[0].field_A + i,
+ gUnknown_02039D84[id].field_0[0].field_4,
+ 1);
+ tiles += adder;
+ }
+}
+
+static void sub_80D29F8(u8 id)
+{
+ s32 i;
+ u32 adder = gUnknown_02039D84[id].field_2A * gUnknown_02039D84[id].field_24;
+ const void *tiles = (gUnknown_02039D84[id].field_1C + (adder * gUnknown_02039D84[id].field_0[1].field_2))
+ + (gUnknown_02039D84[id].field_2A * gUnknown_02039D84[id].field_0[1].field_0);
+
+ for (i = 0; i < gUnknown_02039D84[id].field_0[1].field_6; i++)
+ {
+ CopyToBgTilemapBufferRect(gUnknown_02039D84[id].field_2B,
+ tiles,
+ gUnknown_02039D84[id].field_0[1].field_8,
+ gUnknown_02039D84[id].field_0[1].field_A + i,
+ gUnknown_02039D84[id].field_0[1].field_4,
+ 1);
+ tiles += adder;
+ }
+}
+
+EWRAM_DATA static struct UnkStruct_2000020 *gUnknown_02039D8C = NULL;
+
+static void sub_80D2A90(struct UnkStruct_2000020 *arg0, struct UnkStruct_2000028 *arg1, u32 arg2)
+{
+ gUnknown_02039D8C = arg0;
+ arg0->unk_00 = arg1;
+ arg0->unk_05 = arg2;
+ arg0->unk_04 = 0;
+}
+
+static void sub_80D2AA4(void)
+{
+ u16 i;
+
+ if (gUnknown_02039D8C->unk_04)
+ {
+ for (i = 0; i < gUnknown_02039D8C->unk_04; i++)
+ {
+ struct UnkStruct_2000028 *unkStruct = &gUnknown_02039D8C->unk_00[i];
+ unkStruct->unk_0c(unkStruct);
+ }
+
+ gUnknown_02039D8C->unk_04 = 0;
+ }
+}
+
+static bool8 sub_80D2AEC(u8 *dest, u16 dLeft, u16 dTop, const u8 *src, u16 sLeft, u16 sTop, u16 width, u16 height, u16 unkArg)
+{
+ struct UnkStruct_2000028 *unkStruct;
+
+ if (gUnknown_02039D8C->unk_04 >= gUnknown_02039D8C->unk_05)
+ return FALSE;
+
+ unkStruct = &gUnknown_02039D8C->unk_00[gUnknown_02039D8C->unk_04++];
+ unkStruct->unk_08 = width * 2;
+ unkStruct->unk_04 = dest + 2 * (dTop * 32 + dLeft);
+ unkStruct->unk_00 = src + 2 * (sTop * unkArg + sLeft);
+ unkStruct->newField = height;
+ unkStruct->unk_0a = unkArg;
+ unkStruct->unk_0c = sub_80D2B88;
+ return TRUE;
+}
+
+static void sub_80D2B88(struct UnkStruct_2000028 *unkStruct)
+{
+ u16 i;
+
+ for (i = 0; i < unkStruct->newField; i++)
+ {
+ CpuSet(unkStruct->unk_00, unkStruct->unk_04, (unkStruct->unk_08 / 2));
+ unkStruct->unk_04 += 64;
+ unkStruct->unk_00 += (unkStruct->unk_0a * 2);
+ }
+}
+
+static bool8 sub_80D2BC0(void *dest, u16 dLeft, u16 dTop, u16 width, u16 height)
+{
+ struct UnkStruct_2000028 *unkStruct;
+
+ if (gUnknown_02039D8C->unk_04 >= gUnknown_02039D8C->unk_05)
+ return FALSE;
+
+ unkStruct = &gUnknown_02039D8C->unk_00[gUnknown_02039D8C->unk_04++];
+ unkStruct->unk_08 = width * 2;
+ unkStruct->unk_04 = dest + ((dTop * 32) + dLeft) * 2;
+ unkStruct->newField = height;
+ unkStruct->unk_0c = sub_80D2C1C;
+ return TRUE;
+}
+
+static void sub_80D2C1C(struct UnkStruct_2000028 *unkStruct)
+{
+ u16 i;
+
+ for (i = 0; i < unkStruct->newField; i++)
+ {
+ Dma3FillLarge_(0, unkStruct->unk_04, unkStruct->unk_08, 16);
+ unkStruct->unk_04 += 64;
+ }
+}
diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c
index 4fb20c72b..e6714e2a8 100644
--- a/src/pokemon_summary_screen.c
+++ b/src/pokemon_summary_screen.c
@@ -5,6 +5,7 @@
#include "frontier_util.h"
#include "battle_message.h"
#include "battle_tent.h"
+#include "battle_factory.h"
#include "bg.h"
#include "contest.h"
#include "contest_effect.h"
@@ -45,8 +46,6 @@
#include "constants/songs.h"
#include "constants/species.h"
-extern bool8 sub_81A6BF4(void);
-
static EWRAM_DATA struct UnkSummaryStruct
{
/*0x00*/ union {
@@ -129,7 +128,6 @@ struct UnkStruct_61CC04
};
// forward declarations
-bool8 sub_81B1250(void);
static bool8 SummaryScreen_LoadGraphics(void);
static void SummaryScreen_LoadingCB2(void);
static void InitBGs(void);
@@ -238,8 +236,6 @@ static void sub_81C4568(u8 a, u8 b);
static u8 sub_81C45F4(struct Pokemon *a, s16 *b);
static u8 sub_81C47B4(struct Pokemon *unused);
static void sub_81C4844(struct Sprite *);
-void SummaryScreen_SetUnknownTaskId(u8 a);
-void SummaryScreen_DestroyUnknownTask(void);
static void sub_81C48F0(void);
static void CreateMonMarkingsSprite(struct Pokemon *mon);
static void RemoveAndCreateMonMarkingsSprite(struct Pokemon *mon);
@@ -1005,7 +1001,7 @@ void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex,
pssData->maxMonIndex = maxMonIndex;
pssData->callback = callback;
- if (mode == PSS_MODE_UNK2)
+ if (mode == PSS_MODE_BOX)
pssData->isBoxMon = TRUE;
else
pssData->isBoxMon = FALSE;
@@ -1013,7 +1009,7 @@ void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex,
switch (mode)
{
case PSS_MODE_NORMAL:
- case PSS_MODE_UNK2:
+ case PSS_MODE_BOX:
pssData->minPageIndex = 0;
pssData->maxPageIndex = 3;
break;
@@ -1255,23 +1251,23 @@ static bool8 SummaryScreen_DecompressGraphics(void)
pssData->unk40F0++;
break;
case 7:
- LoadCompressedObjectPic(&sSpriteSheet_MoveTypes);
+ LoadCompressedSpriteSheet(&sSpriteSheet_MoveTypes);
pssData->unk40F0++;
break;
case 8:
- LoadCompressedObjectPic(&gUnknown_0861D074);
+ LoadCompressedSpriteSheet(&gUnknown_0861D074);
pssData->unk40F0++;
break;
case 9:
- LoadCompressedObjectPic(&gUnknown_0861D0F8);
+ LoadCompressedSpriteSheet(&gUnknown_0861D0F8);
pssData->unk40F0++;
break;
case 10:
- LoadCompressedObjectPalette(&gUnknown_0861D100);
+ LoadCompressedSpritePalette(&gUnknown_0861D100);
pssData->unk40F0++;
break;
case 11:
- LoadCompressedObjectPalette(&gUnknown_0861D07C);
+ LoadCompressedSpritePalette(&gUnknown_0861D07C);
pssData->unk40F0++;
break;
case 12:
@@ -1310,7 +1306,7 @@ static bool8 ExtractMonDataToSummaryStruct(struct Pokemon *a)
sum->altAbility = GetMonData(a, MON_DATA_ALT_ABILITY);
sum->item = GetMonData(a, MON_DATA_HELD_ITEM);
sum->pid = GetMonData(a, MON_DATA_PERSONALITY);
- sum->sanity = GetMonData(a, MON_DATA_SANITY_BIT1);
+ sum->sanity = GetMonData(a, MON_DATA_SANITY_IS_BAD_EGG);
if (sum->sanity)
sum->isEgg = TRUE;
@@ -1327,7 +1323,7 @@ static bool8 ExtractMonDataToSummaryStruct(struct Pokemon *a)
sum->ppBonuses = GetMonData(a, MON_DATA_PP_BONUSES);
break;
case 2:
- if (pssData->monList.mons == gPlayerParty || pssData->mode == PSS_MODE_UNK2 || pssData->unk40EF == TRUE)
+ if (pssData->monList.mons == gPlayerParty || pssData->mode == PSS_MODE_BOX || pssData->unk40EF == TRUE)
{
sum->nature = GetNature(a);
sum->currentHP = GetMonData(a, MON_DATA_HP);
@@ -1500,7 +1496,7 @@ static void sub_81C0604(u8 taskId, s8 a)
}
r4_2 = sub_80D214C(pssData->monList.boxMons, pssData->curMonIndex, pssData->maxMonIndex, a);
}
- else if (sub_81B1250() == 1)
+ else if (IsMultiBattle() == TRUE)
{
r4_2 = sub_81C09B4(a);
}
@@ -2147,7 +2143,7 @@ static void sub_81C174C(u8 taskId)
static bool8 sub_81C18A8(void)
{
- if (pssData->firstMoveIndex == MAX_MON_MOVES || pssData->newMove == MOVE_NONE || sub_81B6D14(pssData->summary.moves[pssData->firstMoveIndex]) != 1)
+ if (pssData->firstMoveIndex == MAX_MON_MOVES || pssData->newMove == MOVE_NONE || IsMoveHm(pssData->summary.moves[pssData->firstMoveIndex]) != 1)
return TRUE;
else
return FALSE;
@@ -3254,7 +3250,7 @@ static void PrintHeldItemName(void)
const u8 *text;
int offset;
- if (pssData->summary.item == ITEM_ENIGMA_BERRY && sub_81B1250() == TRUE && (pssData->curMonIndex == 1 || pssData->curMonIndex == 4 || pssData->curMonIndex == 5))
+ if (pssData->summary.item == ITEM_ENIGMA_BERRY && IsMultiBattle() == TRUE && (pssData->curMonIndex == 1 || pssData->curMonIndex == 4 || pssData->curMonIndex == 5))
{
text = ItemId_GetName(ITEM_ENIGMA_BERRY);
}
@@ -3829,7 +3825,7 @@ static u8 sub_81C45F4(struct Pokemon *mon, s16 *a1)
{
if (gMonSpritesGfxPtr != NULL)
{
- if (pssData->monList.mons == gPlayerParty || pssData->mode == PSS_MODE_UNK2 || pssData->unk40EF == TRUE)
+ if (pssData->monList.mons == gPlayerParty || pssData->mode == PSS_MODE_BOX || pssData->unk40EF == TRUE)
{
HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2], gMonSpritesGfxPtr->sprites[1], summary->species2, summary->pid);
}
@@ -3840,7 +3836,7 @@ static u8 sub_81C45F4(struct Pokemon *mon, s16 *a1)
}
else
{
- if (pssData->monList.mons == gPlayerParty || pssData->mode == PSS_MODE_UNK2 || pssData->unk40EF == TRUE)
+ if (pssData->monList.mons == gPlayerParty || pssData->mode == PSS_MODE_BOX || pssData->unk40EF == TRUE)
{
HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2], sub_806F4F8(0, 1), summary->species2, summary->pid);
}
@@ -3854,7 +3850,7 @@ static u8 sub_81C45F4(struct Pokemon *mon, s16 *a1)
return -1;
case 1:
pal = GetMonSpritePalStructFromOtIdPersonality(summary->species2, summary->OTID, summary->pid);
- LoadCompressedObjectPalette(pal);
+ LoadCompressedSpritePalette(pal);
SetMultiuseSpriteTemplateToPokemon(pal->tag, 1);
(*a1)++;
return -1;
diff --git a/src/post_battle_event_funcs.c b/src/post_battle_event_funcs.c
index 934972b7c..fe5e1089e 100644
--- a/src/post_battle_event_funcs.c
+++ b/src/post_battle_event_funcs.c
@@ -50,8 +50,8 @@ int GameClear(void)
ribbonCounts[i].partyIndex = i;
ribbonCounts[i].count = 0;
- if (GetMonData(mon, MON_DATA_SANITY_BIT2)
- && !GetMonData(mon, MON_DATA_SANITY_BIT3)
+ if (GetMonData(mon, MON_DATA_SANITY_HAS_SPECIES)
+ && !GetMonData(mon, MON_DATA_SANITY_IS_EGG)
&& !GetMonData(mon, MON_DATA_CHAMPION_RIBBON))
{
u8 val[1] = {TRUE};
diff --git a/src/psychic.c b/src/psychic.c
index efd15f746..371c24ce8 100644
--- a/src/psychic.c
+++ b/src/psychic.c
@@ -1,18 +1,33 @@
#include "global.h"
#include "battle_anim.h"
+#include "gpu_regs.h"
+#include "palette.h"
+#include "sound.h"
+#include "scanline_effect.h"
+#include "trig.h"
#include "constants/rgb.h"
+#include "constants/songs.h"
-extern void sub_80A77C8(struct Sprite *);
-extern void sub_810F1EC(struct Sprite *);
-extern void sub_810F1EC(struct Sprite *);
-extern void sub_810F58C(struct Sprite *);
-extern void TranslateAnimSpriteToTargetMonLocation(struct Sprite *);
-extern void sub_810F634(struct Sprite *);
-extern void sub_810F6B0(struct Sprite *);
-extern void sub_810FBA8(struct Sprite *);
-extern void sub_810FDF0(struct Sprite *);
-extern void sub_80A77C8(struct Sprite *);
-extern void sub_8110240(struct Sprite *);
+void sub_810F1EC(struct Sprite *);
+void sub_810F58C(struct Sprite *);
+void sub_810F634(struct Sprite *);
+void sub_810F6B0(struct Sprite *);
+void sub_810FBA8(struct Sprite *);
+void sub_810FDF0(struct Sprite *);
+void sub_8110240(struct Sprite *);
+static void sub_810F340(struct Sprite *);
+static void sub_810F3C8(struct Sprite *);
+static void sub_810F400(struct Sprite *);
+static void sub_810F46C(struct Sprite *);
+static void sub_810F524(struct Sprite *);
+static void sub_810F740(struct Sprite *);
+static void sub_810F774(struct Sprite *);
+static void sub_810F810(u8);
+static void sub_810F898(u8);
+static void sub_810F9D4(u8);
+static void sub_810FD3C(u8);
+static void sub_810FF34(u8);
+static void sub_8110134(u8);
const union AffineAnimCmd gUnknown_0859652C[] =
{
@@ -403,3 +418,744 @@ const struct SpriteTemplate gUnknown_08596920 =
.affineAnims = gUnknown_08596918,
.callback = sub_8110240,
};
+
+void sub_810F1EC(struct Sprite *sprite)
+{
+ u8 isContest = IsContest();
+
+ if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER || isContest)
+ {
+ sprite->oam.priority = 2;
+ sprite->subpriority = 200;
+ }
+
+ if (!isContest)
+ {
+ u8 battlerCopy;
+ u8 battler = battlerCopy = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
+ u8 rank = GetBattlerSpriteBGPriorityRank(battler);
+ int var0 = 1;
+ u8 toBG_2 = (rank ^ var0) != 0;
+
+ if (IsBattlerSpriteVisible(battler))
+ MoveBattlerSpriteToBG(battler, toBG_2, FALSE);
+
+ battler = BATTLE_PARTNER(battlerCopy);
+ if (IsBattlerSpriteVisible(battler))
+ MoveBattlerSpriteToBG(battler, toBG_2 ^ var0, FALSE);
+ }
+
+ if (!isContest && IsDoubleBattle())
+ {
+ if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
+ {
+ sprite->pos1.x = 72;
+ sprite->pos1.y = 80;
+ }
+ else
+ {
+ sprite->pos1.x = 176;
+ sprite->pos1.y = 40;
+ }
+ }
+ else
+ {
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ gBattleAnimArgs[0] = -gBattleAnimArgs[0];
+
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X) + gBattleAnimArgs[0];
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y) + gBattleAnimArgs[1];
+ }
+
+ sprite->data[0] = 256 + IndexOfSpritePaletteTag(gBattleAnimArgs[2]) * 16;
+
+ if (isContest)
+ {
+ sprite->pos1.y += 9;
+ sprite->callback = sub_810F3C8;
+ sprite->callback(sprite);
+ }
+ else
+ {
+ sprite->callback = sub_810F340;
+ }
+}
+
+static void sub_810F340(struct Sprite *sprite)
+{
+ u8 battler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
+ if (!sprite->data[7])
+ {
+ sprite->data[7] = 1;
+ return;
+ }
+
+ if (IsBattlerSpriteVisible(battler))
+ gSprites[gBattlerSpriteIds[battler]].invisible = 1;
+
+ battler = BATTLE_PARTNER(battler);
+ if (IsBattlerSpriteVisible(battler))
+ gSprites[gBattlerSpriteIds[battler]].invisible = 1;
+
+ sprite->callback = sub_810F3C8;
+ sprite->callback(sprite);
+}
+
+static void sub_810F3C8(struct Sprite *sprite)
+{
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[3], 16 - sprite->data[3]));
+ if (sprite->data[3] == 13)
+ sprite->callback = sub_810F400;
+ else
+ sprite->data[3]++;
+}
+
+static void sub_810F400(struct Sprite *sprite)
+{
+ u16 color;
+ u16 startOffset;
+ int i;
+
+ if (++sprite->data[1] == 2)
+ {
+ sprite->data[1] = 0;
+ startOffset = sprite->data[0];
+ color = gPlttBufferFaded[startOffset + 8];
+
+ for (i = 8; i > 0; i--)
+ gPlttBufferFaded[startOffset + i] = gPlttBufferFaded[startOffset + i - 1];
+
+ gPlttBufferFaded[startOffset + 1] = color;
+
+ if (++sprite->data[2] == 16)
+ sprite->callback = sub_810F46C;
+ }
+}
+
+static void sub_810F46C(struct Sprite *sprite)
+{
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[3], 16 - sprite->data[3]));
+
+ if (--sprite->data[3] == -1)
+ {
+ if (!IsContest())
+ {
+ u8 battlerCopy;
+ u8 battler = battlerCopy = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
+
+ if (IsBattlerSpriteVisible(battler))
+ gSprites[gBattlerSpriteIds[battler]].invisible = 0;
+
+ battler = BATTLE_PARTNER(battlerCopy);
+ if (IsBattlerSpriteVisible(battler))
+ gSprites[gBattlerSpriteIds[battler]].invisible = 0;
+ }
+
+ sprite->invisible = 1;
+ sprite->callback = sub_810F524;
+ }
+}
+
+static void sub_810F524(struct Sprite *sprite)
+{
+ if (!IsContest())
+ {
+ u8 battlerCopy;
+ u8 battler = battlerCopy = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
+ u8 rank = GetBattlerSpriteBGPriorityRank(battler);
+ int var0 = 1;
+ u8 toBG_2 = (rank ^ var0) != 0;
+
+ if (IsBattlerSpriteVisible(battler))
+ sub_80A477C(toBG_2);
+
+ battler = battlerCopy ^ 2;
+ if (IsBattlerSpriteVisible(battler))
+ sub_80A477C(toBG_2 ^ var0);
+ }
+
+ sprite->callback = DestroyAnimSprite;
+}
+
+void sub_810F58C(struct Sprite *sprite)
+{
+ if (sprite->data[0] == 0)
+ {
+ int arg3 = gBattleAnimArgs[3];
+ bool8 respectMonPicOffsets = FALSE;
+ if (arg3 == 0)
+ respectMonPicOffsets = TRUE;
+
+ if (!IsContest() && IsDoubleBattle())
+ {
+ if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
+ {
+ sprite->pos1.x = 72 - gBattleAnimArgs[0];
+ sprite->pos1.y = gBattleAnimArgs[1] + 80;
+ }
+ else
+ {
+ sprite->pos1.x = gBattleAnimArgs[0] + 176;
+ sprite->pos1.y = gBattleAnimArgs[1] + 40;
+ }
+ }
+ else
+ {
+ if (gBattleAnimArgs[2] == 0)
+ InitSpritePosToAnimAttacker(sprite, respectMonPicOffsets);
+ else
+ InitSpritePosToAnimTarget(sprite, respectMonPicOffsets);
+ }
+
+ sprite->data[0]++;
+ }
+ else
+ {
+ if (sprite->animEnded || sprite->affineAnimEnded)
+ DestroySpriteAndMatrix(sprite);
+ }
+}
+
+void sub_810F634(struct Sprite *sprite)
+{
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
+
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ {
+ StartSpriteAnim(sprite, 1);
+ sprite->pos1.x -= 40;
+ sprite->pos1.y += 10;
+ sprite->data[1] = -1;
+ }
+ else
+ {
+ sprite->pos1.x += 40;
+ sprite->pos1.y -= 10;
+ sprite->data[1] = 1;
+ }
+
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+ sprite->callback = RunStoredCallbackWhenAnimEnds;
+}
+
+void sub_810F6B0(struct Sprite *sprite)
+{
+ s16 x = sub_80A861C(gBattleAnimAttacker, 1) / 2;
+ s16 y = sub_80A861C(gBattleAnimAttacker, 0) / -2;
+
+ if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT)
+ x = -x;
+
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + x;
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + y;
+
+ if (sprite->pos1.y < 16)
+ sprite->pos1.y = 16;
+
+ StoreSpriteCallbackInData6(sprite, sub_810F740);
+ sprite->callback = RunStoredCallbackWhenAnimEnds;
+}
+
+static void sub_810F740(struct Sprite *sprite)
+{
+ sprite->oam.affineMode = 1;
+ sprite->affineAnims = gUnknown_08596740;
+ sprite->data[0] = 0;
+ InitSpriteAffineAnim(sprite);
+ sprite->callback = sub_810F774;
+}
+
+static void sub_810F774(struct Sprite *sprite)
+{
+ switch (sprite->data[0])
+ {
+ case 0:
+ if (sprite->affineAnimEnded)
+ {
+ FreeOamMatrix(sprite->oam.matrixNum);
+ sprite->oam.affineMode = 0;
+ sprite->data[1] = 18;
+ sprite->data[0]++;
+ }
+ break;
+ case 1:
+ if (--sprite->data[1] == -1)
+ DestroyAnimSprite(sprite);
+ break;
+ }
+}
+
+void sub_810F7D4(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+ u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
+ task->data[0] = spriteId;
+ PrepareAffineAnimInTaskData(task, spriteId, gUnknown_0859675C);
+ task->func = sub_810F810;
+}
+
+static void sub_810F810(u8 taskId)
+{
+ if (!RunAffineAnimFromTaskData(&gTasks[taskId]))
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_810F83C(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+ u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
+ task->data[0] = spriteId;
+ task->data[1] = 0;
+ task->data[2] = 0;
+ task->data[3] = GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER ? 4 : 8;
+
+ PrepareAffineAnimInTaskData(task, task->data[0], gUnknown_0859677C);
+ task->func = sub_810F898;
+}
+
+static void sub_810F898(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->data[1])
+ {
+ case 0:
+ RunAffineAnimFromTaskData(task);
+ if (++task->data[2] > 19)
+ task->data[1]++;
+ break;
+ case 1:
+ if (task->data[3] != 0)
+ {
+ gSprites[task->data[0]].pos2.y -= 8;
+ task->data[3]--;
+ }
+ else
+ {
+ gSprites[task->data[0]].invisible = 1;
+ gSprites[task->data[0]].pos1.x = 272;
+ ResetSpriteRotScale(task->data[0]);
+ DestroyAnimVisualTask(taskId);
+ }
+ break;
+ }
+}
+
+void sub_810F940(u8 taskId)
+{
+ u16 var0, var1;
+
+ struct Task *task = &gTasks[taskId];
+
+ task->data[3] = 16;
+ task->data[4] = 0;
+ task->data[13] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ task->data[14] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
+
+ var0 = sub_80A861C(gBattleAnimAttacker, 1) / 3;
+ var1 = sub_80A861C(gBattleAnimAttacker, 0) / 3;
+ task->data[12] = var0 > var1 ? var0 : var1;
+
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 0));
+
+ task->func = sub_810F9D4;
+}
+
+static void sub_810F9D4(u8 taskId)
+{
+ u16 i;
+ u8 spriteId;
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->data[0])
+ {
+ case 0:
+ if (++task->data[1] > 8)
+ {
+ task->data[1] = 0;
+ spriteId = CreateSprite(&gUnknown_08596794, task->data[13], task->data[14], 0);
+ task->data[task->data[2] + 8] = spriteId;
+ if (spriteId != MAX_SPRITES)
+ {
+ switch (task->data[2])
+ {
+ case 0:
+ gSprites[spriteId].pos2.x = task->data[12];
+ gSprites[spriteId].pos2.y = -task->data[12];
+ break;
+ case 1:
+ gSprites[spriteId].pos2.x = -task->data[12];
+ gSprites[spriteId].pos2.y = task->data[12];
+ break;
+ case 2:
+ gSprites[spriteId].pos2.x = task->data[12];
+ gSprites[spriteId].pos2.y = task->data[12];
+ break;
+ case 3:
+ gSprites[spriteId].pos2.x = -task->data[12];
+ gSprites[spriteId].pos2.y = -task->data[12];
+ break;
+ }
+ }
+
+ if (++task->data[2] == 5)
+ task->data[0]++;
+ }
+ break;
+ case 1:
+ if (task->data[1] & 1)
+ task->data[3]--;
+ else
+ task->data[4]++;
+
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(task->data[3], task->data[4]));
+ if (++task->data[1] == 32)
+ {
+ for (i = 8; i < 13; i++)
+ {
+ if (task->data[i] != 64)
+ DestroySprite(&gSprites[task->data[i]]);
+ }
+
+ task->data[0]++;
+ }
+ break;
+ case 2:
+ task->data[0]++;
+ break;
+ case 3:
+ SetGpuReg(REG_OFFSET_BLDALPHA, 0);
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+}
+
+static void sub_810FB60(struct Sprite *sprite)
+{
+ if (sprite->data[1] > sprite->data[0] - 10)
+ sprite->invisible = sprite->data[1] & 1;
+
+ if (sprite->data[1] == sprite->data[0])
+ DestroyAnimSprite(sprite);
+
+ sprite->data[1]++;
+}
+
+void sub_810FBA8(struct Sprite *sprite)
+{
+ if (gBattleAnimArgs[0] == 0)
+ {
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
+ }
+
+ sprite->data[0] = gBattleAnimArgs[1];
+ sprite->callback = sub_810FB60;
+}
+
+void sub_810FBF0(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ if (IsContest())
+ {
+ if (gBattleAnimArgs[0] == 1)
+ {
+ task->data[10] = -10;
+ task->data[11] = sub_80A861C(gBattleAnimTarget, 5) - 8;
+ task->data[12] = sub_80A861C(gBattleAnimTarget, 2) + 8;
+ task->data[13] = sub_80A861C(gBattleAnimAttacker, 5) - 8;
+ task->data[14] = sub_80A861C(gBattleAnimAttacker, 2) + 8;
+ }
+ else
+ {
+ task->data[10] = 10;
+ task->data[11] = sub_80A861C(gBattleAnimAttacker, 4) + 8;
+ task->data[12] = sub_80A861C(gBattleAnimAttacker, 3) - 8;
+ task->data[13] = sub_80A861C(gBattleAnimTarget, 4) + 8;
+ task->data[14] = sub_80A861C(gBattleAnimTarget, 3) - 8;
+ }
+ }
+ else
+ {
+ if (gBattleAnimArgs[0] == 1)
+ {
+ task->data[10] = -10;
+ task->data[11] = sub_80A861C(gBattleAnimTarget, 4) + 8;
+ task->data[12] = sub_80A861C(gBattleAnimTarget, 2) + 8;
+ task->data[13] = sub_80A861C(gBattleAnimAttacker, 4) + 8;
+ task->data[14] = sub_80A861C(gBattleAnimAttacker, 2) + 8;
+ }
+ else
+ {
+ task->data[10] = 10;
+ task->data[11] = sub_80A861C(gBattleAnimAttacker, 5) - 8;
+ task->data[12] = sub_80A861C(gBattleAnimAttacker, 3) - 8;
+ task->data[13] = sub_80A861C(gBattleAnimTarget, 5) - 8;
+ task->data[14] = sub_80A861C(gBattleAnimTarget, 3) - 8;
+ }
+ }
+
+ task->data[1] = 6;
+ task->func = sub_810FD3C;
+}
+
+static void sub_810FD3C(u8 taskId)
+{
+ u8 spriteId;
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->data[0])
+ {
+ case 0:
+ if (++task->data[1] > 6)
+ {
+ task->data[1] = 0;
+ spriteId = CreateSprite(&gUnknown_08596864, task->data[11], task->data[12], 0);
+ if (spriteId != 64)
+ {
+ gSprites[spriteId].data[0] = 16;
+ gSprites[spriteId].data[2] = task->data[13];
+ gSprites[spriteId].data[4] = task->data[14];
+ gSprites[spriteId].data[5] = task->data[10];
+
+ InitAnimArcTranslation(&gSprites[spriteId]);
+ StartSpriteAffineAnim(&gSprites[spriteId], task->data[2] & 3);
+ }
+
+ if (++task->data[2] == 12)
+ task->data[0]++;
+ }
+ break;
+ case 1:
+ if (++task->data[1] > 17)
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+}
+
+void sub_810FDF0(struct Sprite *sprite)
+{
+ if (TranslateAnimArc(sprite))
+ {
+ FreeOamMatrix(sprite->oam.matrixNum);
+ DestroySprite(sprite);
+ }
+}
+
+void sub_810FE14(u8 taskId)
+{
+ s16 i;
+ u8 yOffset;
+ struct ScanlineEffectParams scanlineParams;
+ struct Task *task = &gTasks[taskId];
+
+ yOffset = GetBattlerYCoordWithElevation(gBattleAnimTarget);
+ task->data[14] = yOffset - 32;
+
+ switch (gBattleAnimArgs[0])
+ {
+ case 0:
+ task->data[11] = 2;
+ task->data[12] = 5;
+ task->data[13] = 64;
+ task->data[15] = yOffset + 32;
+ break;
+ case 1:
+ task->data[11] = 2;
+ task->data[12] = 5;
+ task->data[13] = 192;
+ task->data[15] = yOffset + 32;
+ break;
+ case 2:
+ task->data[11] = 4;
+ task->data[12] = 4;
+ task->data[13] = 0;
+ task->data[15] = yOffset + 32;
+ break;
+ }
+
+ if (task->data[14] < 0)
+ task->data[14] = 0;
+
+ if (GetBattlerSpriteBGPriorityRank(gBattleAnimTarget) == 1)
+ {
+ task->data[10] = gBattle_BG1_X;
+ scanlineParams.dmaDest = &REG_BG1HOFS;
+ }
+ else
+ {
+ task->data[10] = gBattle_BG2_X;
+ scanlineParams.dmaDest = &REG_BG2HOFS;
+ }
+
+ i = task->data[14];
+ while (i <= task->data[14] + 64)
+ {
+ gScanlineEffectRegBuffers[0][i] = task->data[10];
+ gScanlineEffectRegBuffers[1][i] = task->data[10];
+ i++;
+ }
+
+ scanlineParams.dmaControl = SCANLINE_EFFECT_DMACNT_16BIT;
+ scanlineParams.initState = 1;
+ scanlineParams.unused9 = 0;
+ ScanlineEffect_SetParams(scanlineParams);
+ task->func = sub_810FF34;
+}
+
+static void sub_810FF34(u8 taskId)
+{
+ s16 sineIndex, i;
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->data[0])
+ {
+ case 0:
+ sineIndex = task->data[13];
+ i = task->data[14];
+ while (i <= task->data[15])
+ {
+ s16 var2 = (gSineTable[sineIndex] >> task->data[12]);
+ if (var2 > 0)
+ var2 += (task->data[1] & 3);
+ else if (var2 < 0)
+ var2 -= (task->data[1] & 3);
+
+ gScanlineEffectRegBuffers[0][i] = task->data[10] + var2;
+ gScanlineEffectRegBuffers[1][i] = task->data[10] + var2;
+ sineIndex += task->data[11];
+ i++;
+ }
+
+ if (++task->data[1] > 23)
+ task->data[0]++;
+ break;
+ case 1:
+ gScanlineEffect.state = 3;
+ task->data[0]++;
+ break;
+ case 2:
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+}
+
+void sub_8110034(u8 taskId)
+{
+ s16 spriteId;
+ s16 matrixNum;
+ struct Task *task = &gTasks[taskId];
+
+ matrixNum = AllocOamMatrix();
+ if (matrixNum == 0xFF)
+ {
+ DestroyAnimVisualTask(taskId);
+ return;
+ }
+
+ spriteId = CloneBattlerSpriteWithBlend(gBattleAnimArgs[0]);
+ if (spriteId < 0)
+ {
+ FreeOamMatrix(matrixNum);
+ DestroyAnimVisualTask(taskId);
+ return;
+ }
+
+ gSprites[spriteId].callback = SpriteCallbackDummy;
+ gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_DOUBLE;
+ gSprites[spriteId].oam.matrixNum = matrixNum;
+ gSprites[spriteId].affineAnimPaused = 1;
+ gSprites[spriteId].subpriority++;
+ SetSpriteRotScale(spriteId, 256, 256, 0);
+ CalcCenterToCornerVec(&gSprites[spriteId], gSprites[spriteId].oam.shape, gSprites[spriteId].oam.size, gSprites[spriteId].oam.affineMode);
+ task->data[13] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]);
+ task->data[14] = matrixNum;
+ task->data[15] = spriteId;
+ task->func = sub_8110134;
+}
+
+static void sub_8110134(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->data[0])
+ {
+ case 0:
+ task->data[1] += 4;
+ task->data[2] = 256 - (gSineTable[task->data[1]] >> 1);
+ SetSpriteRotScale(task->data[15], task->data[2], task->data[2], 0);
+ SetBattlerSpriteYOffsetFromOtherYScale(task->data[15], task->data[13]);
+ if (task->data[1] == 48)
+ task->data[0]++;
+ break;
+ case 1:
+ task->data[1] -= 4;
+ task->data[2] = 256 - (gSineTable[task->data[1]] >> 1);;
+ SetSpriteRotScale(task->data[15], task->data[2], task->data[2], 0);
+ SetBattlerSpriteYOffsetFromOtherYScale(task->data[15], task->data[13]);
+ if (task->data[1] == 0)
+ task->data[0]++;
+ break;
+ case 2:
+ obj_delete_but_dont_free_vram(&gSprites[task->data[15]]);
+ task->data[0]++;
+ break;
+ case 3:
+ FreeOamMatrix(task->data[14]);
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+}
+
+void sub_8110240(struct Sprite *sprite)
+{
+ switch (sprite->data[0])
+ {
+ case 0:
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y);
+
+ if (IsContest())
+ sprite->pos1.y += 12;
+
+ sprite->data[1] = 8;
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[1], 16 - sprite->data[1]));
+ sprite->data[0]++;
+ break;
+ case 1:
+ if (sprite->affineAnimEnded)
+ {
+ PlaySE12WithPanning(SE_W100, BattleAnimAdjustPanning(-64));
+ ChangeSpriteAffineAnim(sprite, 1);
+ sprite->data[0]++;
+ }
+ break;
+ case 2:
+ if (sprite->data[2]++ > 1)
+ {
+ sprite->data[2] = 0;
+ sprite->data[1]--;
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[1], 16 - sprite->data[1]));
+ if (sprite->data[1] == 0)
+ {
+ sprite->data[0]++;
+ sprite->invisible = 1;
+ }
+ }
+
+ sprite->data[3] += 0x380;
+ sprite->pos2.y -= sprite->data[3] >> 8;
+ sprite->data[3] &= 0xFF;
+ break;
+ case 3:
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, 0);
+ DestroyAnimSprite(sprite);
+ break;
+ }
+}
diff --git a/src/rayquaza_scene.c b/src/rayquaza_scene.c
index b22e1db32..94d81e30f 100644
--- a/src/rayquaza_scene.c
+++ b/src/rayquaza_scene.c
@@ -1528,14 +1528,14 @@ static void sub_81D706C(void)
LZDecompressWram(gRaySceneClouds1_Tilemap, sRayScene->tilemapBuffers[1]);
LZDecompressWram(gRaySceneClouds3_Tilemap, sRayScene->tilemapBuffers[2]);
LoadCompressedPalette(gRaySceneClouds_Pal, 0, 0x40);
- LoadCompressedObjectPic(&sUnknown_0862A8C4);
- LoadCompressedObjectPic(&sUnknown_0862A8F8);
- LoadCompressedObjectPic(&sUnknown_0862A924);
- LoadCompressedObjectPic(&sUnknown_0862A9D4);
- LoadCompressedObjectPic(&sUnknown_0862AA14);
- LoadCompressedObjectPic(&sUnknown_0862AA34);
- LoadCompressedObjectPalette(&sUnknown_0862A8CC);
- LoadCompressedObjectPalette(&sUnknown_0862A9DC);
+ LoadCompressedSpriteSheet(&sUnknown_0862A8C4);
+ LoadCompressedSpriteSheet(&sUnknown_0862A8F8);
+ LoadCompressedSpriteSheet(&sUnknown_0862A924);
+ LoadCompressedSpriteSheet(&sUnknown_0862A9D4);
+ LoadCompressedSpriteSheet(&sUnknown_0862AA14);
+ LoadCompressedSpriteSheet(&sUnknown_0862AA34);
+ LoadCompressedSpritePalette(&sUnknown_0862A8CC);
+ LoadCompressedSpritePalette(&sUnknown_0862A9DC);
}
static void Task_DuoFightAnim(u8 taskId)
@@ -1943,8 +1943,8 @@ static void sub_81D7E9C(void)
LZDecompressWram(gRaySceneOvercast_Tilemap, sRayScene->tilemapBuffers[1]);
LZDecompressWram(gRaySceneRayquaza_Tilemap, sRayScene->tilemapBuffers[2]);
LoadCompressedPalette(gRaySceneRayquaza_Pal, 0, 0x40);
- LoadCompressedObjectPic(&sUnknown_0862AA90);
- LoadCompressedObjectPalette(&sUnknown_0862AA98);
+ LoadCompressedSpriteSheet(&sUnknown_0862AA90);
+ LoadCompressedSpritePalette(&sUnknown_0862AA98);
}
static void Task_RayTakesFlightAnim(u8 taskId)
@@ -2118,9 +2118,9 @@ static void sub_81D8358(void)
LoadCompressedPalette(gRaySceneOvercast2_Pal, 0, 0x40);
gPlttBufferUnfaded[0] = RGB_WHITE;
gPlttBufferFaded[0] = RGB_WHITE;
- LoadCompressedObjectPic(&sUnknown_0862AAFC);
- LoadCompressedObjectPic(&sUnknown_0862AB04);
- LoadCompressedObjectPalette(&sUnknown_0862AB0C);
+ LoadCompressedSpriteSheet(&sUnknown_0862AAFC);
+ LoadCompressedSpriteSheet(&sUnknown_0862AB04);
+ LoadCompressedSpritePalette(&sUnknown_0862AB0C);
}
static void sub_81D844C(void)
@@ -2489,16 +2489,16 @@ static void sub_81D8CC4(void)
LZDecompressWram(gRaySceneHushBg_Tilemap, sRayScene->tilemapBuffers[0]);
LZDecompressWram(gRaySceneHushRing_Map, sRayScene->tilemapBuffers[2]);
LoadCompressedPalette(gRaySceneHushBg_Pal, 0, 0x60);
- LoadCompressedObjectPic(&sUnknown_0862AC28);
- LoadCompressedObjectPic(&sUnknown_0862AC30);
- LoadCompressedObjectPic(&sUnknown_0862AC38);
- LoadCompressedObjectPic(&sUnknown_0862AC40);
- LoadCompressedObjectPic(&sUnknown_0862AC48);
- LoadCompressedObjectPic(&sUnknown_0862AC50);
- LoadCompressedObjectPalette(&sUnknown_0862AC58);
- LoadCompressedObjectPalette(&sUnknown_0862AC60);
- LoadCompressedObjectPalette(&sUnknown_0862AC68);
- LoadCompressedObjectPalette(&sUnknown_0862AC70);
+ LoadCompressedSpriteSheet(&sUnknown_0862AC28);
+ LoadCompressedSpriteSheet(&sUnknown_0862AC30);
+ LoadCompressedSpriteSheet(&sUnknown_0862AC38);
+ LoadCompressedSpriteSheet(&sUnknown_0862AC40);
+ LoadCompressedSpriteSheet(&sUnknown_0862AC48);
+ LoadCompressedSpriteSheet(&sUnknown_0862AC50);
+ LoadCompressedSpritePalette(&sUnknown_0862AC58);
+ LoadCompressedSpritePalette(&sUnknown_0862AC60);
+ LoadCompressedSpritePalette(&sUnknown_0862AC68);
+ LoadCompressedSpritePalette(&sUnknown_0862AC70);
}
static void Task_RayChasesAwayAnim(u8 taskId)
diff --git a/src/record_mixing.c b/src/record_mixing.c
index 6d5d49265..2b497c82b 100644
--- a/src/record_mixing.c
+++ b/src/record_mixing.c
@@ -23,7 +23,7 @@
#include "menu.h"
#include "overworld.h"
#include "field_screen_effect.h"
-#include "fldeff_80F9BCC.h"
+#include "fldeff_misc.h"
#include "script.h"
#include "event_data.h"
#include "lilycove_lady.h"
diff --git a/src/region_map.c b/src/region_map.c
index d7b53d631..4caf3147a 100644
--- a/src/region_map.c
+++ b/src/region_map.c
@@ -11,7 +11,6 @@
#include "overworld.h"
#include "constants/flags.h"
#include "event_data.h"
-#include "rom6.h"
#include "secret_base.h"
#include "string_util.h"
#include "international_string_util.h"
@@ -20,6 +19,8 @@
#include "constants/songs.h"
#include "m4a.h"
#include "field_effect.h"
+#include "field_specials.h"
+#include "fldeff.h"
#include "region_map.h"
#include "constants/region_map_sections.h"
#include "heal_location.h"
diff --git a/src/rock.c b/src/rock.c
index d82fbf9c4..ebf477ec1 100644
--- a/src/rock.c
+++ b/src/rock.c
@@ -367,16 +367,16 @@ void sub_8110AB4(struct Sprite *sprite)
sprite->data[3] = 0;
sprite->data[4] = 0;
- sprite->callback = TranslateAnimLinearSimple;
+ sprite->callback = AnimTranslateLinearSimple;
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
}
void sub_8110B38(struct Sprite *sprite)
{
if (gBattleAnimArgs[6] == 0)
- InitAnimSpritePos(sprite, 0);
+ InitSpritePosToAnimAttacker(sprite, 0);
else
- sub_80A6980(sprite, FALSE);
+ InitSpritePosToAnimTarget(sprite, FALSE);
sprite->data[0] = gBattleAnimArgs[3];
sprite->data[1] = gBattleAnimArgs[2];
@@ -555,7 +555,7 @@ void AnimDirtParticleAcrossScreen(struct Sprite *sprite)
void AnimRaiseSprite(struct Sprite *sprite)
{
StartSpriteAnim(sprite, gBattleAnimArgs[4]);
- InitAnimSpritePos(sprite, 0);
+ InitSpritePosToAnimAttacker(sprite, 0);
sprite->data[0] = gBattleAnimArgs[3];
sprite->data[2] = sprite->pos1.x;
diff --git a/src/rom_8011DC0.c b/src/rom_8011DC0.c
index deec55c9d..066f7695c 100644
--- a/src/rom_8011DC0.c
+++ b/src/rom_8011DC0.c
@@ -189,7 +189,6 @@ extern u16 gUnknown_02022C3C;
extern u8 gUnknown_02022C20[];
extern u8 gFieldLinkPlayerCount;
extern u8 gUnknown_03005DB4;
-extern u8 gSelectedOrderFromParty[];
extern struct MailStruct gUnknown_020321C0[PARTY_SIZE];
extern u8 gUnknown_02032298[2];
diff --git a/src/rom_8034C54.c b/src/rom_8034C54.c
index e175ecc64..cc875bd3f 100644
--- a/src/rom_8034C54.c
+++ b/src/rom_8034C54.c
@@ -3,6 +3,7 @@
#include "alloc.h"
#include "decompress.h"
#include "main.h"
+#include "battle_main.h"
struct UnkStruct2
{
@@ -31,8 +32,6 @@ struct UnkStruct1
struct UnkStruct2 *array;
};
-extern const struct SpriteTemplate gUnknown_0831AC88;
-
// this file's functions
static u8 sub_8035518(u8 arg0);;
static void sub_8034EFC(struct UnkStruct2 *arg0);
@@ -133,7 +132,7 @@ bool32 sub_8034D14(u32 id, s32 arg1, const struct UnkStruct3 *arg2)
compSpriteSheet = *(struct CompressedSpriteSheet*)(arg2->spriteSheet);
compSpriteSheet.size = GetDecompressedDataSize(arg2->spriteSheet->data);
- gUnknown_02022E10->array[id].tileStart = LoadCompressedObjectPic(&compSpriteSheet);
+ gUnknown_02022E10->array[id].tileStart = LoadCompressedSpriteSheet(&compSpriteSheet);
}
if (gUnknown_02022E10->array[id].tileStart == 0xFFFF)
diff --git a/src/save.c b/src/save.c
index 4ae516fc9..905f075fb 100644
--- a/src/save.c
+++ b/src/save.c
@@ -5,6 +5,7 @@
#include "decompress.h"
#include "load_save.h"
#include "overworld.h"
+#include "pokemon_storage_system.h"
#include "main.h"
#include "constants/game_stat.h"
diff --git a/src/scrcmd.c b/src/scrcmd.c
index e699bfeab..ab3af019d 100644
--- a/src/scrcmd.c
+++ b/src/scrcmd.c
@@ -1485,7 +1485,7 @@ bool8 ScrCmd_braillemessage(struct ScriptContext *ctx)
StringExpandPlaceholders(gStringVar4, ptr + 6);
- width = GetStringWidth(6, gStringVar4, -1) / 8;
+ width = GetStringWidth(6, gStringVar4, -1) / 8u;
if (width > 0x1C)
width = 0x1C;
@@ -1713,8 +1713,7 @@ bool8 ScrCmd_checkpartymove(struct ScriptContext *ctx)
u16 species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES, NULL);
if (!species)
break;
- // UB: GetMonData() arguments don't match function definition
- if (!GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) && pokemon_has_move(&gPlayerParty[i], moveId) == TRUE)
+ if (!GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) && MonKnowsMove(&gPlayerParty[i], moveId) == TRUE)
{
gSpecialVar_Result = i;
gSpecialVar_0x8004 = species;
diff --git a/src/script_menu.c b/src/script_menu.c
index 2aa546288..6f16b1a8a 100644
--- a/src/script_menu.c
+++ b/src/script_menu.c
@@ -1640,27 +1640,27 @@ static void sub_80E2A94(u8 multichoiceId)
{
case 77:
FillWindowPixelBuffer(0, 0x11);
- AddTextPrinterParameterized2(0, 1, gUnknown_0858BBAC[GetMenuCursorPos()], 0, NULL, 2, 1, 3);
+ AddTextPrinterParameterized2(0, 1, gUnknown_0858BBAC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3);
break;
case 76:
FillWindowPixelBuffer(0, 0x11);
- AddTextPrinterParameterized2(0, 1, gUnknown_0858BB9C[GetMenuCursorPos()], 0, NULL, 2, 1, 3);
+ AddTextPrinterParameterized2(0, 1, gUnknown_0858BB9C[Menu_GetCursorPos()], 0, NULL, 2, 1, 3);
break;
case 78:
FillWindowPixelBuffer(0, 0x11);
- AddTextPrinterParameterized2(0, 1, gUnknown_0858BBBC[GetMenuCursorPos()], 0, NULL, 2, 1, 3);
+ AddTextPrinterParameterized2(0, 1, gUnknown_0858BBBC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3);
break;
case 79:
FillWindowPixelBuffer(0, 0x11);
- AddTextPrinterParameterized2(0, 1, gUnknown_0858BBCC[GetMenuCursorPos()], 0, NULL, 2, 1, 3);
+ AddTextPrinterParameterized2(0, 1, gUnknown_0858BBCC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3);
break;
case 75:
FillWindowPixelBuffer(0, 0x11);
- AddTextPrinterParameterized2(0, 1, gUnknown_0858BBEC[GetMenuCursorPos()], 0, NULL, 2, 1, 3);
+ AddTextPrinterParameterized2(0, 1, gUnknown_0858BBEC[Menu_GetCursorPos()], 0, NULL, 2, 1, 3);
break;
case 74:
FillWindowPixelBuffer(0, 0x11);
- AddTextPrinterParameterized2(0, 1, gUnknown_0858BBE0[GetMenuCursorPos()], 0, NULL, 2, 1, 3);
+ AddTextPrinterParameterized2(0, 1, gUnknown_0858BBE0[Menu_GetCursorPos()], 0, NULL, 2, 1, 3);
break;
}
}
diff --git a/src/script_pokemon_util_80F87D8.c b/src/script_pokemon_util_80F87D8.c
index fc5a06024..2611c5c6d 100755
--- a/src/script_pokemon_util_80F87D8.c
+++ b/src/script_pokemon_util_80F87D8.c
@@ -36,8 +36,6 @@ extern const u16 gEventObjectPalette33[];
extern const u16 gEventObjectPalette34[];
extern const struct CompressedSpriteSheet gMonFrontPicTable[];
-extern u8 gSelectedOrderFromParty[];
-
static const u8 gUnknown_0858D8EC[] = { 3, 4, 5, 14 };
static void sub_80F8EE8(u8 taskId);
@@ -335,7 +333,7 @@ void ShowContestEntryMonPic(void)
HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species], gMonSpritesGfxPtr->sprites[1], species, personality);
palette = GetMonSpritePalStructFromOtIdPersonality(species, otId, personality);
- LoadCompressedObjectPalette(palette);
+ LoadCompressedSpritePalette(palette);
SetMultiuseSpriteTemplateToPokemon(species, 1);
gMultiuseSpriteTemplate.paletteTag = palette->tag;
spriteId = CreateSprite(&gMultiuseSpriteTemplate, (left + 1) * 8 + 32, (top * 8) + 40, 0);
diff --git a/src/secret_base.c b/src/secret_base.c
index 9b5685d8b..7e7b10a9a 100644
--- a/src/secret_base.c
+++ b/src/secret_base.c
@@ -16,12 +16,14 @@
#include "overworld.h"
#include "fieldmap.h"
#include "field_camera.h"
+#include "field_specials.h"
#include "field_player_avatar.h"
#include "field_screen_effect.h"
#include "field_weather.h"
#include "event_object_movement.h"
#include "field_effect.h"
-#include "fldeff_80F9BCC.h"
+#include "fldeff.h"
+#include "fldeff_misc.h"
#include "metatile_behavior.h"
#include "map_name_popup.h"
#include "string_util.h"
@@ -32,7 +34,6 @@
#include "event_data.h"
#include "battle.h"
#include "battle_setup.h"
-#include "rom6.h"
#include "decoration.h"
#include "link.h"
#include "tv.h"
@@ -188,7 +189,7 @@ void sub_80E8B6C(void)
continue;
}
gSpecialVar_Result = TRUE;
- VarSet(VAR_0x4054, i);
+ VarSet(VAR_CURRENT_SECRET_BASE, i);
break;
}
}
@@ -318,7 +319,7 @@ void sub_80E8E18(void)
{
gSaveBlock1Ptr->secretBases[0].trainerId[i] = gSaveBlock2Ptr->playerTrainerId[i];
}
- VarSet(VAR_0x4054, 0);
+ VarSet(VAR_CURRENT_SECRET_BASE, 0);
StringCopyN(gSaveBlock1Ptr->secretBases[0].trainerName, gSaveBlock2Ptr->playerName, sub_80E8DF4(gSaveBlock2Ptr->playerName));
gSaveBlock1Ptr->secretBases[0].gender = gSaveBlock2Ptr->playerGender;
gSaveBlock1Ptr->secretBases[0].language = GAME_LANGUAGE;
@@ -381,7 +382,7 @@ void sub_80E8FD0(u8 taskId)
}
break;
case 1:
- secretBaseRecordId = VarGet(VAR_0x4054);
+ secretBaseRecordId = VarGet(VAR_CURRENT_SECRET_BASE);
if (gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_10 < 255)
{
gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_10 ++;
@@ -477,7 +478,7 @@ void sub_80E9238(u8 flagIn)
if (CurrentMapIsSecretBase())
{
- curBaseId = VarGet(VAR_0x4054);
+ curBaseId = VarGet(VAR_CURRENT_SECRET_BASE);
decorations = gSaveBlock1Ptr->secretBases[curBaseId].decorations;
decorPos = gSaveBlock1Ptr->secretBases[curBaseId].decorationPos;
for (x = 0; x < 16; x ++)
@@ -520,7 +521,7 @@ void sub_80E933C(void)
}
else
{
- curBase = VarGet(VAR_0x4054);
+ curBase = VarGet(VAR_CURRENT_SECRET_BASE);
roomDecor = gSaveBlock1Ptr->secretBases[curBase].decorations;
roomDecorPos = gSaveBlock1Ptr->secretBases[curBase].decorationPos;
nDecor = 16;
@@ -556,7 +557,7 @@ void sub_80E933C(void)
show_sprite(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
sub_808EBA8(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gSpecialVar_0x8006, gSpecialVar_0x8007);
sub_808F254(gSpecialVar_Result, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup);
- if (CurrentMapIsSecretBase() == TRUE && VarGet(VAR_0x4054) != 0)
+ if (CurrentMapIsSecretBase() == TRUE && VarGet(VAR_CURRENT_SECRET_BASE) != 0)
{
if (category == DECORCAT_DOLL)
{
@@ -592,7 +593,7 @@ void sub_80E9578(void)
void sub_80E95D4(void)
{
- VarSet(VAR_OBJ_GFX_ID_F, gUnknown_0858D060[sub_80EA20C(VarGet(VAR_0x4054))]);
+ VarSet(VAR_OBJ_GFX_ID_F, gUnknown_0858D060[sub_80EA20C(VarGet(VAR_CURRENT_SECRET_BASE))]);
}
void sub_80E9608(const struct MapPosition *position, const struct MapEvents *events)
@@ -679,7 +680,7 @@ u8 *sub_80E9780(u8 *dest, u8 secretBaseRecordId)
u8 *GetSecretBaseMapName(u8 *dest)
{
- return sub_80E9780(dest, VarGet(VAR_0x4054));
+ return sub_80E9780(dest, VarGet(VAR_CURRENT_SECRET_BASE));
}
void sub_80E980C(void)
@@ -687,7 +688,7 @@ void sub_80E980C(void)
u8 secretBaseRecordId;
const u8 *src;
- secretBaseRecordId = VarGet(VAR_0x4054);
+ secretBaseRecordId = VarGet(VAR_CURRENT_SECRET_BASE);
src = gSaveBlock1Ptr->secretBases[secretBaseRecordId].trainerName;
*StringCopyN(gStringVar1, src, sub_80E8DF4(src)) = EOS;
ConvertInternationalString(gStringVar1, gSaveBlock1Ptr->secretBases[secretBaseRecordId].language);
@@ -827,7 +828,7 @@ u8 sub_80E9BA8(void)
void sub_80E9BDC(void)
{
- if (sub_80E9878(VarGet(VAR_0x4054)) == TRUE)
+ if (sub_80E9878(VarGet(VAR_CURRENT_SECRET_BASE)) == TRUE)
{
gSpecialVar_Result = 1;
}
@@ -843,7 +844,7 @@ void sub_80E9BDC(void)
void sub_80E9C2C(void)
{
- gSaveBlock1Ptr->secretBases[VarGet(VAR_0x4054)].sbr_field_1_6 ^= 1;
+ gSaveBlock1Ptr->secretBases[VarGet(VAR_CURRENT_SECRET_BASE)].sbr_field_1_6 ^= 1;
FlagSet(0x10C);
}
@@ -1079,7 +1080,7 @@ void sub_80EA18C(u8 taskId)
void task_pc_turn_off(u8 taskId)
{
- if (VarGet(VAR_0x4054) == 0)
+ if (VarGet(VAR_CURRENT_SECRET_BASE) == 0)
{
ScriptContext1_SetupScript(gUnknown_0823B4E8);
}
@@ -1099,7 +1100,7 @@ const u8 *GetSecretBaseTrainerLoseText(void)
{
u8 param;
- param = sub_80EA20C(VarGet(VAR_0x4054));
+ param = sub_80EA20C(VarGet(VAR_CURRENT_SECRET_BASE));
if (param == 0)
{
return SecretBase_RedCave1_Text_274966;
@@ -1148,7 +1149,7 @@ void sub_80EA2E4(void)
void sub_80EA30C(void)
{
- gSaveBlock1Ptr->secretBases[VarGet(VAR_0x4054)].sbr_field_1_5 = gSpecialVar_Result;
+ gSaveBlock1Ptr->secretBases[VarGet(VAR_CURRENT_SECRET_BASE)].sbr_field_1_5 = gSpecialVar_Result;
}
void sub_80EA354(void)
@@ -1156,7 +1157,7 @@ void sub_80EA354(void)
u16 secretBaseRecordId;
u8 i;
- secretBaseRecordId = VarGet(VAR_0x4054);
+ secretBaseRecordId = VarGet(VAR_CURRENT_SECRET_BASE);
if (!FlagGet(0x922))
{
for (i = 0; i < 20; i ++)
@@ -1181,7 +1182,7 @@ void sub_80EA3E4(u8 taskId)
switch (data[1])
{
case 0:
- if (VarGet(VAR_0x4054) != 0)
+ if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
{
gUnknown_0203A01D = TRUE;
}
@@ -1254,7 +1255,7 @@ void sub_80EA3E4(u8 taskId)
}
else if (MetatileBehavior_IsSecretBaseBalloon(behavior) == TRUE)
{
- sub_80FA5E4(MapGridGetMetatileIdAt(x, y), x, y);
+ PopSecretBaseBalloon(MapGridGetMetatileIdAt(x, y), x, y);
if (gUnknown_0203A01D == TRUE)
{
switch ((int)MapGridGetMetatileIdAt(x, y))
@@ -1276,7 +1277,7 @@ void sub_80EA3E4(u8 taskId)
{
VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) | 0x400);
}
- sub_80FA794(x, y);
+ ShatterSecretBaseBreakableDoor(x, y);
}
else if (MetatileBehavior_IsSecretBaseSoundMat(behavior) == TRUE){
if (gUnknown_0203A01D == TRUE) {
@@ -1781,7 +1782,7 @@ void sub_80EB1AC(void)
VarSet(VAR_0x40ED, 0);
VarSet(VAR_0x40EE, 0);
VarSet(VAR_0x40EF, 0);
- if (VarGet(VAR_0x4054) != 0)
+ if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
{
VarSet(VAR_0x40F0, TRUE);
}
@@ -1809,7 +1810,7 @@ void sub_80EB218(void)
void sub_80EB290(void)
{
- if (VarGet(VAR_0x4054) != 0)
+ if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
{
VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) | 0x800);
}
@@ -1817,7 +1818,7 @@ void sub_80EB290(void)
void sub_80EB2C8(void)
{
- if (VarGet(VAR_0x4054) != 0)
+ if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
{
VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) | 0x400);
}
@@ -1825,7 +1826,7 @@ void sub_80EB2C8(void)
void sub_80EB300(void)
{
- if (VarGet(VAR_0x4054) != 0)
+ if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
{
VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) & ~0x3800);
VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) & ~0x001);
@@ -1835,7 +1836,7 @@ void sub_80EB300(void)
void sub_80EB368(void)
{
- if (VarGet(VAR_0x4054) != 0)
+ if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
{
VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) & ~0x3800);
VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) & ~0x001);
@@ -1845,7 +1846,7 @@ void sub_80EB368(void)
void sub_80EB3D0(void)
{
- if (VarGet(VAR_0x4054) != 0)
+ if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
{
VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) & ~0x3800);
VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) & ~0x001);
@@ -1855,7 +1856,7 @@ void sub_80EB3D0(void)
void sub_80EB438(void)
{
- if (VarGet(VAR_0x4054) != 0)
+ if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
{
VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) & ~0x3800);
VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) & ~0x001);
@@ -1886,7 +1887,7 @@ void sub_80EB498(void)
case 0x332:
case 0x333:
case 0x334:
- if (VarGet(VAR_0x4054) != 0)
+ if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
{
VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) | 0x4000);
}
@@ -1904,7 +1905,7 @@ void sub_80EB56C(void)
{
case 0x28a:
case 0x28b:
- if (VarGet(VAR_0x4054) != 0)
+ if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
{
VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) | 0x40);
}
@@ -1927,21 +1928,21 @@ void sub_80EB56C(void)
case 0x2f9:
case 0x2fa:
case 0x2fb:
- if (VarGet(VAR_0x4054) != 0)
+ if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
{
VarSet(VAR_0x40EE, VarGet(VAR_0x40EE) | 0x8);
}
break;
case 0x22c:
case 0x233:
- if (VarGet(VAR_0x4054) != 0)
+ if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
{
VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) | 0x40);
}
break;
case 0x288:
case 0x289:
- if (VarGet(VAR_0x4054) != 0)
+ if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
{
VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) | 0x100);
}
@@ -1949,7 +1950,7 @@ void sub_80EB56C(void)
case 0x22d:
case 0x22e:
case 0x22f:
- if (VarGet(VAR_0x4054) != 0)
+ if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
{
VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) | 0x10);
}
@@ -1977,7 +1978,7 @@ void sub_80EB56C(void)
case 0x2cd:
case 0x2ce:
case 0x2cf:
- if (VarGet(VAR_0x4054) != 0)
+ if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
{
VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) | 0x8);
}
@@ -2004,7 +2005,7 @@ void sub_80EB9E0(void)
case 0x2be:
case 0x2c3:
case 0x2c6:
- if (VarGet(VAR_0x4054) != 0)
+ if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
{
VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) | 0x8);
}
@@ -2042,14 +2043,14 @@ void sub_80EBB28(void)
case 0x2c4:
case 0x2c5:
case 0x2c7:
- if (VarGet(VAR_0x4054) != 0)
+ if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
{
VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) | 0x8);
}
break;
case 0x280:
case 0x281:
- if (VarGet(VAR_0x4054) != 0)
+ if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
{
VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) | 0x100);
}
@@ -2057,7 +2058,7 @@ void sub_80EBB28(void)
case 0x225:
case 0x226:
case 0x227:
- if (VarGet(VAR_0x4054) != 0)
+ if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
{
VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) | 0x10);
}
@@ -2075,7 +2076,7 @@ void sub_80EBE7C(void)
{
case 0x28d:
case 0x28e:
- if (VarGet(VAR_0x4054) != 0)
+ if (VarGet(VAR_CURRENT_SECRET_BASE) != 0)
{
VarSet(VAR_0x40EF, VarGet(VAR_0x40EF) | 0x4);
}
diff --git a/src/smokescreen.c b/src/smokescreen.c
index 9b37cd234..d9780bbb6 100644
--- a/src/smokescreen.c
+++ b/src/smokescreen.c
@@ -14,8 +14,8 @@ u8 sub_807521C(s16 x, s16 y, u8 a3)
if (GetSpriteTileStartByTag(gUnknown_0831C620.tag) == 0xFFFF)
{
- LoadCompressedObjectPicUsingHeap(&gUnknown_0831C620);
- LoadCompressedObjectPaletteUsingHeap(&gUnknown_0831C628);
+ LoadCompressedSpriteSheetUsingHeap(&gUnknown_0831C620);
+ LoadCompressedSpritePaletteUsingHeap(&gUnknown_0831C628);
}
mainSpriteId = CreateInvisibleSpriteWithCallback(sub_8075370);
diff --git a/src/sound.c b/src/sound.c
index ba3f659cc..c63183bdc 100644
--- a/src/sound.c
+++ b/src/sound.c
@@ -28,7 +28,6 @@ IWRAM_DATA static u16 sFanfareCounter;
// iwram common
bool8 gDisableMusic;
-extern u32 gBattleTypeFlags;
extern struct MusicPlayerInfo gMPlayInfo_BGM;
extern struct MusicPlayerInfo gMPlayInfo_SE1;
extern struct MusicPlayerInfo gMPlayInfo_SE2;
@@ -37,8 +36,6 @@ extern struct ToneData gCryTable[];
extern struct ToneData gCryTable2[];
extern const struct Fanfare sFanfares[];
-extern u16 SpeciesToCryId(u16);
-
static void Task_Fanfare(u8 taskId);
static void CreateFanfareTask(void);
static void Task_DuckBGMForPokemonCry(u8 taskId);
diff --git a/src/start_menu.c b/src/start_menu.c
index 0e52f05fb..ad7b4b6cc 100644
--- a/src/start_menu.c
+++ b/src/start_menu.c
@@ -574,13 +574,13 @@ static bool8 HandleStartMenuInput(void)
if (gMain.newKeys & DPAD_UP)
{
PlaySE(SE_SELECT);
- sStartMenuCursorPos = MoveMenuCursor(-1);
+ sStartMenuCursorPos = Menu_MoveCursor(-1);
}
if (gMain.newKeys & DPAD_DOWN)
{
PlaySE(SE_SELECT);
- sStartMenuCursorPos = MoveMenuCursor(1);
+ sStartMenuCursorPos = Menu_MoveCursor(1);
}
if (gMain.newKeys & A_BUTTON)
diff --git a/src/starter_choose.c b/src/starter_choose.c
index 46aac5590..afa3fabbf 100644
--- a/src/starter_choose.c
+++ b/src/starter_choose.c
@@ -412,8 +412,8 @@ void CB2_ChooseStarter(void)
LoadPalette(GetOverworldTextboxPalettePtr(), 0xE0, 0x20);
LoadPalette(gBirchBagGrassPal, 0, 0x40);
- LoadCompressedObjectPic(&gUnknown_085B1ED8[0]);
- LoadCompressedObjectPic(&gUnknown_085B1EE8[0]);
+ LoadCompressedSpriteSheet(&gUnknown_085B1ED8[0]);
+ LoadCompressedSpriteSheet(&gUnknown_085B1EE8[0]);
LoadSpritePalettes(gUnknown_085B1EF8);
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0);
diff --git a/src/text.c b/src/text.c
index 07c15596e..a439d3ced 100644
--- a/src/text.c
+++ b/src/text.c
@@ -9,12 +9,12 @@
#include "window.h"
#include "text.h"
#include "blit.h"
+#include "menu.h"
#include "dynamic_placeholder_text_util.h"
extern u8 GetKeypadIconWidth(u8 keypadIconId);
extern u16 Font6Func(struct TextPrinter *textPrinter);
extern u32 GetGlyphWidthFont6(u16 glyphId, bool32 isJapanese);
-extern int GetPlayerTextSpeed();
EWRAM_DATA struct TextPrinter gTempTextPrinter = {0};
EWRAM_DATA struct TextPrinter gTextPrinters[NUM_TEXT_PRINTERS] = {0};
@@ -1858,7 +1858,7 @@ u32 (*GetFontWidthFunc(u8 glyphId))(u16, bool32)
return NULL;
}
-u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
+s32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
{
bool8 isJapanese;
int minGlyphWidth;
@@ -1868,7 +1868,7 @@ u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
u32 lineWidth;
const u8 *bufferPointer;
int glyphWidth;
- u32 width;
+ s32 width;
isJapanese = 0;
minGlyphWidth = 0;
@@ -2028,7 +2028,8 @@ u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
if (lineWidth > width)
return lineWidth;
- return width;
+ else
+ return width;
}
u8 RenderTextFont9(u8 *pixels, u8 fontId, u8 *str)
diff --git a/src/title_screen.c b/src/title_screen.c
index d60e3fc0b..c6e9aa26f 100644
--- a/src/title_screen.c
+++ b/src/title_screen.c
@@ -518,9 +518,9 @@ void CB2_InitTitleScreen(void)
ResetSpriteData();
FreeAllSpritePalettes();
gReservedSpritePaletteCount = 9;
- LoadCompressedObjectPic(&sSpriteSheet_EmeraldVersion[0]);
- LoadCompressedObjectPic(&sSpriteSheet_PressStart[0]);
- LoadCompressedObjectPic(&sPokemonLogoShineSpriteSheet[0]);
+ LoadCompressedSpriteSheet(&sSpriteSheet_EmeraldVersion[0]);
+ LoadCompressedSpriteSheet(&sSpriteSheet_PressStart[0]);
+ LoadCompressedSpriteSheet(&sPokemonLogoShineSpriteSheet[0]);
LoadPalette(gTitleScreenEmeraldVersionPal, 0x100, 0x20);
LoadSpritePalette(&sSpritePalette_PressStart[0]);
gMain.state = 2;
diff --git a/src/trade.c b/src/trade.c
index f409e0206..c2e546847 100644
--- a/src/trade.c
+++ b/src/trade.c
@@ -425,7 +425,7 @@ void sub_80773D0(void)
gMain.state++;
break;
case 8:
- sub_81B5D30();
+ LoadHeldItemIcons();
sub_81B5D4C(&gUnknown_0203229C->unk_36[0], gUnknown_0203229C->unk_28[0], 0);
gMain.state++;
break;
@@ -611,7 +611,7 @@ void sub_8077B74(void)
gMain.state++;
break;
case 8:
- sub_81B5D30();
+ LoadHeldItemIcons();
sub_81B5D4C(&gUnknown_0203229C->unk_36[0], gUnknown_0203229C->unk_28[0], 0);
gMain.state++;
break;
@@ -3333,7 +3333,7 @@ bool32 sub_807A7BC(u16 a0, u8 a1)
return FALSE;
}
-u32 sub_807A7E0(struct UnkLinkRfuStruct_02022B14Substruct a0, struct UnkLinkRfuStruct_02022B14Substruct a1, u16 a2, u16 a3, u8 a4, u16 a5, u8 a6)
+int sub_807A7E0(struct UnkLinkRfuStruct_02022B14Substruct a0, struct UnkLinkRfuStruct_02022B14Substruct a1, u16 a2, u16 a3, u8 a4, u16 a5, u8 a6)
{
u8 r9 = a0.unk_01_0;
u8 r2 = a0.unk_00_7;
diff --git a/src/trainer_pokemon_sprites.c b/src/trainer_pokemon_sprites.c
index f5354a1e8..5ddae218b 100644
--- a/src/trainer_pokemon_sprites.c
+++ b/src/trainer_pokemon_sprites.c
@@ -115,7 +115,7 @@ static void LoadPicPaletteByTagOrSlot(u16 species, u32 otId, u32 personality, u8
else
{
sCreatingSpriteTemplate.paletteTag = paletteTag;
- LoadCompressedObjectPalette(GetMonSpritePalStructFromOtIdPersonality(species, otId, personality));
+ LoadCompressedSpritePalette(GetMonSpritePalStructFromOtIdPersonality(species, otId, personality));
}
}
else
@@ -128,7 +128,7 @@ static void LoadPicPaletteByTagOrSlot(u16 species, u32 otId, u32 personality, u8
else
{
sCreatingSpriteTemplate.paletteTag = paletteTag;
- LoadCompressedObjectPalette(&gTrainerFrontPicPaletteTable[species]);
+ LoadCompressedSpritePalette(&gTrainerFrontPicPaletteTable[species]);
}
}
}
diff --git a/src/tv.c b/src/tv.c
index 267520095..3d2a25bdc 100644
--- a/src/tv.c
+++ b/src/tv.c
@@ -6,6 +6,8 @@
#include "event_data.h"
#include "fieldmap.h"
#include "field_camera.h"
+#include "field_specials.h"
+#include "fldeff.h"
#include "strings.h"
#include "string_util.h"
#include "international_string_util.h"
@@ -24,7 +26,6 @@
#include "event_scripts.h"
#include "shop.h"
#include "lilycove_lady.h"
-#include "rom6.h"
#include "pokedex.h"
#include "event_object_movement.h"
#include "text.h"
@@ -2572,13 +2573,13 @@ void sub_80EEA70(void)
show->secretBaseSecrets.flags = VarGet(0x40ee) + (VarGet(0x40ef) << 16);
tv_store_id_3x(show);
show->secretBaseSecrets.language = gGameLanguage;
- if (show->secretBaseSecrets.language == LANGUAGE_JAPANESE || gSaveBlock1Ptr->secretBases[VarGet(VAR_0x4054)].language == LANGUAGE_JAPANESE)
+ if (show->secretBaseSecrets.language == LANGUAGE_JAPANESE || gSaveBlock1Ptr->secretBases[VarGet(VAR_CURRENT_SECRET_BASE)].language == LANGUAGE_JAPANESE)
{
show->secretBaseSecrets.baseOwnersNameLanguage = LANGUAGE_JAPANESE;
}
else
{
- show->secretBaseSecrets.baseOwnersNameLanguage = gSaveBlock1Ptr->secretBases[VarGet(VAR_0x4054)].language;
+ show->secretBaseSecrets.baseOwnersNameLanguage = gSaveBlock1Ptr->secretBases[VarGet(VAR_CURRENT_SECRET_BASE)].language;
}
}
}
@@ -3469,7 +3470,7 @@ void ChangeBoxPokemonNickname(void)
void ChangeBoxPokemonNickname_CB(void)
{
- SetBoxMonNickFromAnyBox(gSpecialVar_MonBoxId, gSpecialVar_MonBoxPos, gStringVar2);
+ SetBoxMonNickAt(gSpecialVar_MonBoxId, gSpecialVar_MonBoxPos, gStringVar2);
CB2_ReturnToFieldContinueScriptPlayMapMusic();
}
diff --git a/src/unk_transition.c b/src/unk_transition.c
index 18cee2544..7346e06ab 100644
--- a/src/unk_transition.c
+++ b/src/unk_transition.c
@@ -35,11 +35,13 @@ static bool8 sub_81DB290(struct Task *task);
static bool8 sub_81DB328(struct Task *task);
// const rom data
-// TODO: move those from .s file to .c
-extern const u32 gUnknown_0862AD54[];
-extern const u32 gUnknown_0862AF30[];
-extern const u32 gUnknown_0862B0DC[];
-extern const u16 gUnknown_0862B53C[];
+static const u32 gUnknown_0862AD54[] = INCBIN_U32("graphics/battle_transitions/frontier_transition.4bpp.lz");
+static const u32 gUnknown_0862AF30[] = INCBIN_U32("graphics/battle_transitions/frontier_transition.bin");
+static const u32 gUnknown_0862B0DC[] = INCBIN_U32("graphics/battle_transitions/frontier_transition_circles.4bpp.lz");
+static const u16 gUnknown_0862B53C[] = INCBIN_U16("graphics/battle_transitions/frontier_transition.gbapal");
+
+// Unused Empty data. Feel free to delete.
+static const u8 sFiller[0x1C0] = {0};
static const struct OamData sOamData_862B71C =
{
@@ -185,7 +187,7 @@ static void sub_81DA700(void)
LZ77UnCompVram(gUnknown_0862AD54, dst2);
LZ77UnCompVram(gUnknown_0862AF30, dst1);
LoadPalette(gUnknown_0862B53C, 0xF0, 0x20);
- LoadCompressedObjectPic(&sUnknown_0862B724);
+ LoadCompressedSpriteSheet(&sUnknown_0862B724);
LoadSpritePalette(&sUnknown_0862B72C);
}
diff --git a/src/walda_phrase.c b/src/walda_phrase.c
index ff2ee7399..83004777f 100644
--- a/src/walda_phrase.c
+++ b/src/walda_phrase.c
@@ -7,18 +7,11 @@
#include "text.h"
#include "new_game.h"
#include "overworld.h"
+#include "pokemon_storage_system.h"
+#include "field_screen_effect.h"
extern const u8 gText_Peekaboo[];
-extern u8 *GetWaldaPhrasePtr(void);
-extern bool32 IsWaldaPhraseEmpty(void);
-extern void sub_80AF168(void);
-extern void SetWaldaPhrase(const u8 *src);
-extern void SetWaldaWallpaperPatternId(u8 patternId);
-extern void SetWaldaWallpaperIconId(u8 iconId);
-extern void SetWaldaWallpaperColors(u16 backgroundColor, u16 foregroundColor);
-extern void SetWaldaWallpaperLockedOrUnlocked(bool32 unlocked);
-
// this file's functions
static void CB2_HandleGivenWaldaPhrase(void);
static u32 GetWaldaPhraseInputCase(u8 *inputPtr);
diff --git a/src/wallclock.c b/src/wallclock.c
index 5c8d920e7..58704c8a3 100644
--- a/src/wallclock.c
+++ b/src/wallclock.c
@@ -623,7 +623,7 @@ static void LoadWallClockGraphics(void)
ResetSpriteData();
ResetPaletteFade();
FreeAllSpritePalettes();
- LoadCompressedObjectPic(&gUnknown_085B2208);
+ LoadCompressedSpriteSheet(&gUnknown_085B2208);
LoadSpritePalettes(gUnknown_085B2218);
}
diff --git a/src/water.c b/src/water.c
index 955526ccd..42ab1d67f 100644
--- a/src/water.c
+++ b/src/water.c
@@ -1,21 +1,60 @@
#include "global.h"
+#include "battle.h"
#include "battle_anim.h"
+#include "gpu_regs.h"
+#include "graphics.h"
+#include "palette.h"
+#include "random.h"
+#include "scanline_effect.h"
+#include "sprite.h"
+#include "task.h"
+#include "trig.h"
+#include "util.h"
+#include "constants/battle.h"
#include "constants/rgb.h"
extern void sub_810721C(struct Sprite *);
+extern void sub_8107228(struct Sprite *);
extern void sub_8107260(struct Sprite *);
+extern void sub_8107380(struct Sprite *);
+extern void sub_8107408(struct Sprite *);
+extern void sub_8107430(struct Sprite *);
extern void sub_810744C(struct Sprite *);
+extern void sub_81074E4(struct Sprite *);
extern void sub_81075EC(struct Sprite *);
+extern void sub_8107674(struct Sprite *);
extern void sub_8107730(struct Sprite *);
+extern void sub_81077A4(struct Sprite *);
extern void sub_81077C0(struct Sprite *);
extern void sub_80A78AC(struct Sprite *);
extern void sub_8107894(struct Sprite *);
extern void sub_81078D0(struct Sprite *);
+extern void sub_810790C(struct Sprite *);
extern void sub_8108034(struct Sprite *);
+extern void sub_8108098(struct Sprite *);
extern void sub_810851C(struct Sprite *);
+extern void sub_81087C0(struct Sprite *);
+extern void sub_810886C(struct Sprite *);
+extern void sub_8108B2C(struct Sprite *);
+extern void sub_8108B94(struct Sprite *);
extern void sub_8108BE0(struct Sprite *);
+extern void sub_8108C08(struct Sprite *);
extern void sub_8108C54(struct Sprite *);
+extern void sub_8108CDC(struct Sprite *);
extern void sub_80A8EE4(struct Sprite *);
+void sub_810756C(u8);
+void sub_81076F4(u8);
+void sub_8107B84(u8);
+void sub_8107CC4(u8);
+void sub_8107D58(u8);
+void sub_8108140(u8);
+void sub_810862C(u8);
+void sub_8108978(u8);
+u8 sub_8108384(void);
+void sub_8108408(struct Task*, u8);
+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 gUnknown_08596208[];
@@ -440,3 +479,2149 @@ const struct SpriteTemplate gUnknown_08595328 =
.affineAnims = gUnknown_085952F4,
.callback = sub_80A8EE4,
};
+
+extern const struct SpriteTemplate gUnknown_08597388;
+
+void AnimTask_CreateRaindrops(u8 taskId)
+{
+ u8 x, y;
+
+ if (gTasks[taskId].data[0] == 0)
+ {
+ gTasks[taskId].data[1] = gBattleAnimArgs[0];
+ gTasks[taskId].data[2] = gBattleAnimArgs[1];
+ gTasks[taskId].data[3] = gBattleAnimArgs[2];
+ }
+ gTasks[taskId].data[0]++;
+ if (gTasks[taskId].data[0] % gTasks[taskId].data[2] == 1)
+ {
+ x = Random2() % 240;
+ y = Random2() % 80;
+ CreateSprite(&gUnknown_08595020, x, y, 4);
+ }
+ if (gTasks[taskId].data[0] == gTasks[taskId].data[3])
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_810721C(struct Sprite *sprite)
+{
+ sprite->callback = sub_8107228;
+}
+
+void sub_8107228(struct Sprite *sprite)
+{
+ if (++sprite->data[0] <= 13)
+ {
+ sprite->pos2.x++;
+ sprite->pos2.y += 4;
+ }
+ if (sprite->animEnded)
+ DestroySprite(sprite);
+}
+
+void sub_8107260(struct Sprite *sprite)
+{
+ u8 spriteId;
+
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ {
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) - gBattleAnimArgs[0];
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[1];
+ sprite->animPaused = TRUE;
+ }
+ else
+ {
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[0];
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[1];
+ sprite->animPaused = TRUE;
+ }
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ gBattleAnimArgs[2] = -gBattleAnimArgs[2];
+ sprite->data[0] = gBattleAnimArgs[6];
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->data[3] = sprite->pos1.y;
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ InitAnimLinearTranslation(sprite);
+ spriteId = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy);
+ sprite->data[5] = spriteId;
+ sprite->pos1.x -= Sin((u8)gBattleAnimArgs[4], gBattleAnimArgs[2]);
+ sprite->pos1.y -= Cos((u8)gBattleAnimArgs[4], gBattleAnimArgs[3]);
+ gSprites[spriteId].data[0] = gBattleAnimArgs[2];
+ gSprites[spriteId].data[1] = gBattleAnimArgs[3];
+ gSprites[spriteId].data[2] = gBattleAnimArgs[5];
+ gSprites[spriteId].data[3] = (u8)gBattleAnimArgs[4] * 256;
+ gSprites[spriteId].data[4] = gBattleAnimArgs[6];
+ sprite->callback = sub_8107380;
+ sprite->callback(sprite);
+}
+
+void sub_8107380(struct Sprite *sprite)
+{
+ u8 otherSpriteId = sprite->data[5];
+ u8 timer = gSprites[otherSpriteId].data[4];
+ u16 trigIndex = gSprites[otherSpriteId].data[3];
+
+ sprite->data[0] = 1;
+ AnimTranslateLinear(sprite);
+ sprite->pos2.x += Sin(trigIndex >> 8, gSprites[otherSpriteId].data[0]);
+ sprite->pos2.y += Cos(trigIndex >> 8, gSprites[otherSpriteId].data[1]);
+ gSprites[otherSpriteId].data[3] = trigIndex + gSprites[otherSpriteId].data[2];
+ if (--timer != 0)
+ {
+ gSprites[otherSpriteId].data[4] = timer;
+ }
+ else
+ {
+ sprite->callback = sub_8107408;
+ DestroySprite(&gSprites[otherSpriteId]);
+ }
+}
+
+void sub_8107408(struct Sprite *sprite)
+{
+ sprite->animPaused = FALSE;
+ sprite->callback = RunStoredCallbackWhenAnimEnds;
+ StoreSpriteCallbackInData6(sprite, sub_8107430);
+}
+
+void sub_8107430(struct Sprite *sprite)
+{
+ sprite->data[0] = 10;
+ sprite->callback = WaitAnimForDuration;
+ StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
+}
+
+void sub_810744C(struct Sprite *sprite)
+{
+ s16 unkArg;
+
+ InitSpritePosToAnimAttacker(sprite, TRUE);
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ unkArg = -gBattleAnimArgs[2];
+ else
+ unkArg = gBattleAnimArgs[2];
+ sprite->data[0] = gBattleAnimArgs[4];
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + unkArg;
+ sprite->data[3] = sprite->pos1.y;
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
+ InitAnimLinearTranslation(sprite);
+ sprite->callback = sub_81074E4;
+ sprite->affineAnimPaused = TRUE;
+ sprite->callback(sprite);
+}
+
+void sub_81074E4(struct Sprite *sprite)
+{
+ if ((u16)gBattleAnimArgs[ARG_RET_ID] == 0xFFFF)
+ {
+ StartSpriteAnim(sprite, 1);
+ sprite->affineAnimPaused = FALSE;
+ }
+ if (AnimTranslateLinear(sprite))
+ DestroyAnimSprite(sprite);
+}
+
+void sub_8107528(u8 taskId)
+{
+ gTasks[taskId].data[0] = gBattleAnimArgs[0];
+ gTasks[taskId].data[2] = IndexOfSpritePaletteTag(ANIM_TAG_RAINBOW_RINGS) * 16 + 256;
+ gTasks[taskId].func = sub_810756C;
+}
+
+#ifdef NONMATCHING
+void sub_810756C(u8 taskId)
+{
+ int i;
+ u16 palIndex;
+ u16 *palPtr1;
+ u16 *palPtr2;
+ u16 rgbBuffer;
+
+ if (++gTasks[taskId].data[10] == 3)
+ {
+ gTasks[taskId].data[10] = 0;
+ palIndex = gTasks[taskId].data[2] + 1;
+ palPtr1 = &gPlttBufferFaded[palIndex];
+ rgbBuffer = *palPtr1;
+ palPtr2 = &palPtr1[1];
+ for (i = 0; i < 7; i++)
+ palPtr1[i] = palPtr2[i];
+ gPlttBufferFaded[palIndex + 7] = rgbBuffer;
+ }
+ if (++gTasks[taskId].data[11] == gTasks[taskId].data[0])
+ DestroyAnimVisualTask(taskId);
+}
+#else
+NAKED
+void sub_810756C(u8 taskId)
+{
+ asm_unified("push {r4-r7,lr}\n\
+ lsls r0, 24\n\
+ lsrs r4, r0, 24\n\
+ ldr r1, =gTasks\n\
+ lsls r0, r4, 2\n\
+ adds r0, r4\n\
+ lsls r0, 3\n\
+ adds r2, r0, r1\n\
+ ldrh r0, [r2, 0x1C]\n\
+ adds r0, 0x1\n\
+ strh r0, [r2, 0x1C]\n\
+ lsls r0, 16\n\
+ asrs r0, 16\n\
+ mov r12, r1\n\
+ cmp r0, 0x3\n\
+ bne _081075BE\n\
+ movs r0, 0\n\
+ strh r0, [r2, 0x1C]\n\
+ ldrh r0, [r2, 0xC]\n\
+ adds r0, 0x1\n\
+ lsls r0, 16\n\
+ lsrs r5, r0, 16\n\
+ ldr r1, =gPlttBufferFaded\n\
+ lsls r0, r5, 1\n\
+ adds r0, r1\n\
+ ldrh r6, [r0]\n\
+ adds r7, r1, 0\n\
+ adds r3, r0, 0x2\n\
+ movs r1, 0x6\n\
+ adds r2, r0, 0\n\
+_081075A8:\n\
+ ldrh r0, [r3]\n\
+ strh r0, [r2]\n\
+ adds r3, 0x2\n\
+ adds r2, 0x2\n\
+ subs r1, 0x1\n\
+ cmp r1, 0\n\
+ bge _081075A8\n\
+ adds r0, r5, 0x7\n\
+ lsls r0, 1\n\
+ adds r0, r7\n\
+ strh r6, [r0]\n\
+_081075BE:\n\
+ lsls r0, r4, 2\n\
+ adds r0, r4\n\
+ lsls r0, 3\n\
+ add r0, r12\n\
+ ldrh r1, [r0, 0x1E]\n\
+ adds r1, 0x1\n\
+ strh r1, [r0, 0x1E]\n\
+ lsls r1, 16\n\
+ asrs r1, 16\n\
+ movs r2, 0x8\n\
+ ldrsh r0, [r0, r2]\n\
+ cmp r1, r0\n\
+ bne _081075DE\n\
+ adds r0, r4, 0\n\
+ bl DestroyAnimVisualTask\n\
+_081075DE:\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .pool\n");
+}
+#endif
+
+void sub_81075EC(struct Sprite *sprite)
+{
+ u16 retArg;
+
+ InitSpritePosToAnimAttacker(sprite, TRUE);
+ sprite->data[0] = 30;
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->data[3] = sprite->pos1.y;
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ InitAnimLinearTranslation(sprite);
+ sprite->data[5] = 0xD200 / sprite->data[0];
+ sprite->data[7] = gBattleAnimArgs[3];
+ retArg = gBattleAnimArgs[ARG_RET_ID];
+ if (gBattleAnimArgs[ARG_RET_ID] > 127)
+ {
+ sprite->data[6] = (retArg - 127) * 256;
+ sprite->data[7] = -sprite->data[7];
+ }
+ else
+ {
+ sprite->data[6] = retArg * 256;
+ }
+ sprite->callback = sub_8107674;
+ sprite->callback(sprite);
+}
+
+void sub_8107674(struct Sprite *sprite)
+{
+ if (AnimTranslateLinear(sprite))
+ DestroyAnimSprite(sprite);
+ sprite->pos2.y += Sin(sprite->data[6] >> 8, sprite->data[7]);
+ if ((sprite->data[6] + sprite->data[5]) >> 8 > 127)
+ {
+ sprite->data[6] = 0;
+ sprite->data[7] = -sprite->data[7];
+ }
+ else
+ {
+ sprite->data[6] += sprite->data[5];
+ }
+}
+
+void sub_81076C8(u8 taskId)
+{
+ gTasks[taskId].data[0] = gBattleAnimArgs[0];
+ gBattleAnimArgs[ARG_RET_ID] = 0;
+ gTasks[taskId].func = sub_81076F4;
+}
+
+void sub_81076F4(u8 taskId)
+{
+ gBattleAnimArgs[ARG_RET_ID] = (gBattleAnimArgs[ARG_RET_ID] + 3) & 0xFF;
+ if (--gTasks[taskId].data[0] == 0)
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_8107730(struct Sprite *sprite)
+{
+ u8 priority;
+
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
+ sprite->pos2.y = -10;
+ priority = GetBattlerSpriteSubpriority(gBattleAnimAttacker);
+ if (!IsContest())
+ {
+ if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
+ {
+ sprite->pos2.x = 10;
+ sprite->subpriority = priority + 2;
+ }
+ else
+ {
+ sprite->pos2.x = -10;
+ sprite->subpriority = priority - 2;
+ }
+ }
+ else
+ {
+ sprite->pos2.x = -10;
+ sprite->subpriority = priority + 2;
+ }
+ sprite->callback = sub_81077A4;
+}
+
+void sub_81077A4(struct Sprite *sprite)
+{
+ if (sprite->affineAnimEnded)
+ DestroyAnimSprite(sprite);
+}
+
+void sub_81077C0(struct Sprite *sprite)
+{
+ bool8 animType;
+ u8 coordType;
+ if (GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget))
+ {
+ gBattleAnimArgs[0] *= -1;
+ if (GetBattlerPosition(gBattleAnimAttacker) == B_POSITION_PLAYER_LEFT || GetBattlerPosition(gBattleAnimAttacker) == B_POSITION_OPPONENT_LEFT)
+ gBattleAnimArgs[0] *= -1;
+ }
+ if ((gBattleAnimArgs[5] & 0xFF00) == 0)
+ animType = TRUE;
+ else
+ animType = FALSE;
+ if ((u8)gBattleAnimArgs[5] == 0)
+ coordType = 3;
+ else
+ coordType = 1;
+ InitSpritePosToAnimAttacker(sprite, animType);
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ gBattleAnimArgs[2] = -gBattleAnimArgs[2];
+ sprite->data[0] = gBattleAnimArgs[4];
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2];
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, coordType) + gBattleAnimArgs[3];
+ sprite->callback = StartAnimLinearTranslation;
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+}
+
+void sub_8107894(struct Sprite *sprite)
+{
+ InitSpritePosToAnimTarget(sprite, TRUE);
+ sprite->data[0] = gBattleAnimArgs[4];
+ sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[2];
+ sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[4];
+ sprite->callback = StartAnimLinearTranslation;
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+}
+
+void sub_81078D0(struct Sprite *sprite)
+{
+ if (gBattleAnimArgs[3])
+ InitSpritePosToAnimTarget(sprite, TRUE);
+ else
+ InitSpritePosToAnimAttacker(sprite, TRUE);
+ sprite->data[7] = gBattleAnimArgs[2];
+ sprite->callback = sub_810790C;
+}
+
+void sub_810790C(struct Sprite *sprite)
+{
+ sprite->data[0] = (sprite->data[0] + 11) & 0xFF;
+ sprite->pos2.x = Sin(sprite->data[0], 4);
+ sprite->data[1] += 48;
+ sprite->pos2.y = -(sprite->data[1] >> 8);
+ if (--sprite->data[7] == -1)
+ DestroyAnimSprite(sprite);
+}
+
+#ifdef NONMATCHING
+void AnimTask_CreateSurfWave(u8 taskId)
+{
+ struct UnknownAnimStruct2 unk;
+ u8 taskId2;
+
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16));
+ SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1);
+ SetAnimBgAttribute(1, BG_ANIM_SCREEN_SIZE, 1);
+ sub_80A6B30(&unk);
+ if (!IsContest())
+ {
+ SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1);
+ if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT)
+ sub_80A6D48(unk.bgId, gUnknown_08D95E00);
+ else
+ sub_80A6D48(unk.bgId, gUnknown_08D960D0);
+ }
+ else
+ {
+ sub_80A6D60(&unk, gUnknown_08D963A4, 1);
+ }
+ sub_80A6CC0(unk.bgId, gBattleAnimBackgroundImage_Surf, unk.tilesOffset);
+ if (gBattleAnimArgs[0] == 0)
+ LoadCompressedPalette(gBattleAnimBackgroundPalette_Surf, unk.unk8 * 16, 32);
+ else
+ LoadCompressedPalette(gBattleAnimBackgroundImageMuddyWater_Pal, unk.unk8 * 16, 32);
+ taskId2 = CreateTask(sub_8107D58, gTasks[taskId].priority + 1);
+ gTasks[taskId].data[15] = taskId2;
+ gTasks[taskId2].data[0] = 0;
+ gTasks[taskId2].data[1] = 0x1000;
+ gTasks[taskId2].data[2] = 0x1000;
+ if (IsContest())
+ {
+ gBattle_BG1_X = -80;
+ gBattle_BG1_Y = -48;
+ gTasks[taskId].data[0] = 2;
+ gTasks[taskId].data[1] = 1;
+ gTasks[taskId2].data[3] = 0;
+ }
+ else if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT)
+ {
+ gBattle_BG1_X = -224;
+ gBattle_BG1_Y = 256;
+ gTasks[taskId].data[0] = 2;
+ gTasks[taskId].data[1] = -1;
+ gTasks[taskId2].data[3] = 1;
+ }
+ else
+ {
+ gBattle_BG1_X = 0;
+ gBattle_BG1_Y = -48;
+ gTasks[taskId].data[0] = -2;
+ gTasks[taskId].data[1] = 1;
+ gTasks[taskId2].data[3] = 0;
+ }
+ SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X);
+ SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
+ if (gTasks[taskId2].data[3] == 0)
+ {
+ gTasks[taskId2].data[4] = 48;
+ gTasks[taskId2].data[5] = 112;
+ }
+ else
+ {
+ gTasks[taskId2].data[4] = 0;
+ gTasks[taskId2].data[5] = 0;
+ }
+ gTasks[taskId].data[6] = 1;
+ gTasks[taskId].func = sub_8107B84;
+}
+#else
+NAKED
+void AnimTask_CreateSurfWave(u8 taskId)
+{
+ asm_unified("push {r4-r7,lr}\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ sub sp, 0x10\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ mov r10, r0\n\
+ ldr r1, =0x00003f42\n\
+ movs r0, 0x50\n\
+ bl SetGpuReg\n\
+ movs r1, 0x80\n\
+ lsls r1, 5\n\
+ movs r0, 0x52\n\
+ bl SetGpuReg\n\
+ movs r0, 0x1\n\
+ movs r1, 0x4\n\
+ movs r2, 0x1\n\
+ bl SetAnimBgAttribute\n\
+ movs r0, 0x1\n\
+ movs r1, 0\n\
+ movs r2, 0x1\n\
+ bl SetAnimBgAttribute\n\
+ mov r0, sp\n\
+ bl sub_80A6B30\n\
+ bl IsContest\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ bne _081079E0\n\
+ movs r0, 0x1\n\
+ movs r1, 0x3\n\
+ movs r2, 0x1\n\
+ bl SetAnimBgAttribute\n\
+ ldr r0, =gBattleAnimAttacker\n\
+ ldrb r0, [r0]\n\
+ bl GetBattlerSide\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ cmp r0, 0x1\n\
+ bne _081079D0\n\
+ mov r0, sp\n\
+ ldrb r0, [r0, 0x9]\n\
+ ldr r1, =gUnknown_08D95E00\n\
+ bl sub_80A6D48\n\
+ b _081079EA\n\
+ .pool\n\
+_081079D0:\n\
+ mov r0, sp\n\
+ ldrb r0, [r0, 0x9]\n\
+ ldr r1, =gUnknown_08D960D0\n\
+ bl sub_80A6D48\n\
+ b _081079EA\n\
+ .pool\n\
+_081079E0:\n\
+ ldr r1, =gUnknown_08D963A4\n\
+ mov r0, sp\n\
+ movs r2, 0x1\n\
+ bl sub_80A6D60\n\
+_081079EA:\n\
+ mov r0, sp\n\
+ ldrb r0, [r0, 0x9]\n\
+ ldr r1, =gBattleAnimBackgroundImage_Surf\n\
+ mov r2, sp\n\
+ ldrh r2, [r2, 0xA]\n\
+ bl sub_80A6CC0\n\
+ ldr r0, =gBattleAnimArgs\n\
+ movs r1, 0\n\
+ ldrsh r0, [r0, r1]\n\
+ cmp r0, 0\n\
+ bne _08107A24\n\
+ ldr r0, =gBattleAnimBackgroundPalette_Surf\n\
+ mov r1, sp\n\
+ ldrb r1, [r1, 0x8]\n\
+ lsls r1, 4\n\
+ movs r2, 0x20\n\
+ bl LoadCompressedPalette\n\
+ b _08107A32\n\
+ .pool\n\
+_08107A24:\n\
+ ldr r0, =gBattleAnimBackgroundImageMuddyWater_Pal\n\
+ mov r1, sp\n\
+ ldrb r1, [r1, 0x8]\n\
+ lsls r1, 4\n\
+ movs r2, 0x20\n\
+ bl LoadCompressedPalette\n\
+_08107A32:\n\
+ ldr r0, =sub_8107D58\n\
+ ldr r4, =gTasks\n\
+ mov r2, r10\n\
+ lsls r5, r2, 2\n\
+ adds r1, r5, r2\n\
+ lsls r1, 3\n\
+ adds r6, r1, r4\n\
+ ldrb r1, [r6, 0x7]\n\
+ adds r1, 0x1\n\
+ lsls r1, 24\n\
+ lsrs r1, 24\n\
+ bl CreateTask\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ mov r8, r0\n\
+ movs r0, 0\n\
+ mov r9, r0\n\
+ mov r1, r8\n\
+ strh r1, [r6, 0x26]\n\
+ mov r2, r8\n\
+ lsls r0, r2, 2\n\
+ add r0, r8\n\
+ lsls r0, 3\n\
+ adds r7, r0, r4\n\
+ mov r0, r9\n\
+ strh r0, [r7, 0x8]\n\
+ movs r0, 0x80\n\
+ lsls r0, 5\n\
+ strh r0, [r7, 0xA]\n\
+ strh r0, [r7, 0xC]\n\
+ bl IsContest\n\
+ lsls r0, 24\n\
+ lsrs r4, r0, 24\n\
+ cmp r4, 0\n\
+ beq _08107AB4\n\
+ ldr r1, =0x0000ffb0\n\
+ adds r0, r1, 0\n\
+ ldr r2, =gBattle_BG1_X\n\
+ strh r0, [r2]\n\
+ adds r1, 0x20\n\
+ adds r0, r1, 0\n\
+ ldr r2, =gBattle_BG1_Y\n\
+ strh r0, [r2]\n\
+ movs r0, 0x2\n\
+ strh r0, [r6, 0x8]\n\
+ movs r0, 0x1\n\
+ strh r0, [r6, 0xA]\n\
+ mov r0, r9\n\
+ strh r0, [r7, 0xE]\n\
+ b _08107B0E\n\
+ .pool\n\
+_08107AB4:\n\
+ ldr r0, =gBattleAnimAttacker\n\
+ ldrb r0, [r0]\n\
+ bl GetBattlerSide\n\
+ lsls r0, 24\n\
+ lsrs r1, r0, 24\n\
+ cmp r1, 0x1\n\
+ bne _08107AF8\n\
+ ldr r2, =0x0000ff20\n\
+ adds r0, r2, 0\n\
+ ldr r2, =gBattle_BG1_X\n\
+ strh r0, [r2]\n\
+ movs r2, 0x80\n\
+ lsls r2, 1\n\
+ adds r0, r2, 0\n\
+ ldr r2, =gBattle_BG1_Y\n\
+ strh r0, [r2]\n\
+ movs r0, 0x2\n\
+ strh r0, [r6, 0x8]\n\
+ ldr r0, =0x0000ffff\n\
+ strh r0, [r6, 0xA]\n\
+ strh r1, [r7, 0xE]\n\
+ b _08107B0E\n\
+ .pool\n\
+_08107AF8:\n\
+ ldr r0, =gBattle_BG1_X\n\
+ strh r4, [r0]\n\
+ ldr r1, =0x0000ffd0\n\
+ adds r0, r1, 0\n\
+ ldr r2, =gBattle_BG1_Y\n\
+ strh r0, [r2]\n\
+ ldr r0, =0x0000fffe\n\
+ strh r0, [r6, 0x8]\n\
+ movs r0, 0x1\n\
+ strh r0, [r6, 0xA]\n\
+ strh r4, [r7, 0xE]\n\
+_08107B0E:\n\
+ ldr r0, =gBattle_BG1_X\n\
+ ldrh r1, [r0]\n\
+ movs r0, 0x14\n\
+ bl SetGpuReg\n\
+ ldr r2, =gBattle_BG1_Y\n\
+ ldrh r1, [r2]\n\
+ movs r0, 0x16\n\
+ bl SetGpuReg\n\
+ ldr r1, =gTasks\n\
+ mov r2, r8\n\
+ lsls r0, r2, 2\n\
+ add r0, r8\n\
+ lsls r0, 3\n\
+ adds r1, r0, r1\n\
+ movs r2, 0xE\n\
+ ldrsh r0, [r1, r2]\n\
+ cmp r0, 0\n\
+ bne _08107B54\n\
+ movs r0, 0x30\n\
+ strh r0, [r1, 0x10]\n\
+ movs r0, 0x70\n\
+ b _08107B58\n\
+ .pool\n\
+_08107B54:\n\
+ movs r0, 0\n\
+ strh r0, [r1, 0x10]\n\
+_08107B58:\n\
+ strh r0, [r1, 0x12]\n\
+ ldr r1, =gTasks\n\
+ mov r2, r10\n\
+ adds r0, r5, r2\n\
+ lsls r0, 3\n\
+ adds r0, r1\n\
+ movs r1, 0x1\n\
+ strh r1, [r0, 0x14]\n\
+ ldr r1, =sub_8107B84\n\
+ str r1, [r0]\n\
+ add sp, 0x10\n\
+ pop {r3-r5}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ mov r10, r5\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .pool\n");
+}
+#endif
+
+#ifdef NONMATCHING
+void sub_8107B84(u8 taskId)
+{
+ struct UnknownAnimStruct2 unk;
+ u8 i;
+ u16 rgbBuffer;
+ u16 *BGptrX = &gBattle_BG1_X;
+ u16 *BGptrY = &gBattle_BG1_Y;
+ s16 unkUse;
+ u32 palOffset;
+ u16 palNum;
+
+ *BGptrX += gTasks[taskId].data[0];
+ *BGptrY += gTasks[taskId].data[1];
+ sub_80A6B30(&unk);
+ gTasks[taskId].data[2] += gTasks[taskId].data[1];
+ if (++gTasks[taskId].data[5] == 4)
+ {
+ rgbBuffer = gPlttBufferFaded[unk.unk8 * 16 + 7];
+ for (i = 6; i != 0; i--)
+ {
+ palNum = unk.unk8 * 16;
+ palOffset = 1 + i;
+ gPlttBufferFaded[palNum + palOffset] = gPlttBufferFaded[palNum + palOffset - 1];
+ }
+ gPlttBufferFaded[unk.unk8 * 16 + 1] = rgbBuffer;
+ gTasks[taskId].data[5] = 0;
+ }
+ if (++gTasks[taskId].data[6] > 1)
+ {
+ gTasks[taskId].data[6] = 0;
+ unkUse = ++gTasks[taskId].data[3];
+ if (unkUse <= 13)
+ {
+ gTasks[gTasks[taskId].data[15]].data[1] = unkUse | ((16 - unkUse) * 256);
+ gTasks[taskId].data[4]++;
+ }
+ if (gTasks[taskId].data[3] > 54)
+ {
+ unkUse = --gTasks[taskId].data[4];
+ gTasks[gTasks[taskId].data[15]].data[1] = unkUse | ((16 - unkUse) * 256);
+ }
+ }
+ if (!(gTasks[gTasks[taskId].data[15]].data[1] & 0x1F))
+ {
+ gTasks[taskId].data[0] = gTasks[gTasks[taskId].data[15]].data[1] & 0x1F;
+ gTasks[taskId].func = sub_8107CC4;
+ }
+}
+#else
+NAKED
+void sub_8107B84(u8 taskId)
+{
+ asm_unified("push {r4-r7,lr}\n\
+ sub sp, 0x10\n\
+ lsls r0, 24\n\
+ lsrs r5, r0, 24\n\
+ ldr r1, =gBattle_BG1_X\n\
+ ldr r2, =gBattle_BG1_Y\n\
+ ldr r0, =gTasks\n\
+ lsls r4, r5, 2\n\
+ adds r4, r5\n\
+ lsls r4, 3\n\
+ adds r4, r0\n\
+ ldrh r0, [r4, 0x8]\n\
+ ldrh r3, [r1]\n\
+ adds r0, r3\n\
+ strh r0, [r1]\n\
+ ldrh r0, [r4, 0xA]\n\
+ ldrh r1, [r2]\n\
+ adds r0, r1\n\
+ strh r0, [r2]\n\
+ mov r0, sp\n\
+ bl sub_80A6B30\n\
+ ldrh r0, [r4, 0xA]\n\
+ ldrh r3, [r4, 0xC]\n\
+ adds r0, r3\n\
+ strh r0, [r4, 0xC]\n\
+ ldrh r0, [r4, 0x12]\n\
+ adds r0, 0x1\n\
+ strh r0, [r4, 0x12]\n\
+ lsls r0, 16\n\
+ asrs r0, 16\n\
+ cmp r0, 0x4\n\
+ bne _08107C18\n\
+ ldr r1, =gPlttBufferFaded\n\
+ mov r0, sp\n\
+ ldrb r0, [r0, 0x8]\n\
+ lsls r0, 4\n\
+ adds r0, 0x7\n\
+ lsls r0, 1\n\
+ adds r0, r1\n\
+ ldrh r6, [r0]\n\
+ movs r2, 0x6\n\
+ adds r7, r1, 0\n\
+ adds r3, r7, 0\n\
+ mov r4, sp\n\
+_08107BDE:\n\
+ ldrb r0, [r4, 0x8]\n\
+ lsls r0, 4\n\
+ adds r1, r2, 0x1\n\
+ adds r0, r1\n\
+ lsls r1, r0, 1\n\
+ adds r1, r3\n\
+ subs r0, 0x1\n\
+ lsls r0, 1\n\
+ adds r0, r3\n\
+ ldrh r0, [r0]\n\
+ strh r0, [r1]\n\
+ subs r0, r2, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r2, r0, 24\n\
+ cmp r2, 0\n\
+ bne _08107BDE\n\
+ mov r0, sp\n\
+ ldrb r0, [r0, 0x8]\n\
+ lsls r0, 4\n\
+ adds r0, 0x1\n\
+ lsls r0, 1\n\
+ adds r0, r7\n\
+ strh r6, [r0]\n\
+ ldr r1, =gTasks\n\
+ lsls r0, r5, 2\n\
+ adds r0, r5\n\
+ lsls r0, 3\n\
+ adds r0, r1\n\
+ strh r2, [r0, 0x12]\n\
+_08107C18:\n\
+ ldr r1, =gTasks\n\
+ lsls r2, r5, 2\n\
+ adds r0, r2, r5\n\
+ lsls r0, 3\n\
+ adds r3, r0, r1\n\
+ ldrh r0, [r3, 0x14]\n\
+ adds r0, 0x1\n\
+ strh r0, [r3, 0x14]\n\
+ lsls r0, 16\n\
+ asrs r0, 16\n\
+ adds r4, r1, 0\n\
+ adds r6, r2, 0\n\
+ cmp r0, 0x1\n\
+ ble _08107C86\n\
+ movs r0, 0\n\
+ strh r0, [r3, 0x14]\n\
+ ldrh r0, [r3, 0xE]\n\
+ adds r2, r0, 0x1\n\
+ strh r2, [r3, 0xE]\n\
+ lsls r0, r2, 16\n\
+ asrs r0, 16\n\
+ cmp r0, 0xD\n\
+ bgt _08107C62\n\
+ movs r1, 0x26\n\
+ ldrsh r0, [r3, r1]\n\
+ lsls r1, r0, 2\n\
+ adds r1, r0\n\
+ lsls r1, 3\n\
+ adds r1, r4\n\
+ movs r0, 0x10\n\
+ subs r0, r2\n\
+ lsls r0, 8\n\
+ orrs r2, r0\n\
+ strh r2, [r1, 0xA]\n\
+ ldrh r0, [r3, 0x10]\n\
+ adds r0, 0x1\n\
+ strh r0, [r3, 0x10]\n\
+_08107C62:\n\
+ movs r1, 0xE\n\
+ ldrsh r0, [r3, r1]\n\
+ cmp r0, 0x36\n\
+ ble _08107C86\n\
+ ldrh r2, [r3, 0x10]\n\
+ subs r2, 0x1\n\
+ strh r2, [r3, 0x10]\n\
+ movs r1, 0x26\n\
+ ldrsh r0, [r3, r1]\n\
+ lsls r1, r0, 2\n\
+ adds r1, r0\n\
+ lsls r1, 3\n\
+ adds r1, r4\n\
+ movs r0, 0x10\n\
+ subs r0, r2\n\
+ lsls r0, 8\n\
+ orrs r2, r0\n\
+ strh r2, [r1, 0xA]\n\
+_08107C86:\n\
+ adds r0, r6, r5\n\
+ lsls r0, 3\n\
+ adds r2, r0, r4\n\
+ movs r3, 0x26\n\
+ ldrsh r1, [r2, r3]\n\
+ lsls r0, r1, 2\n\
+ adds r0, r1\n\
+ lsls r0, 3\n\
+ adds r0, r4\n\
+ ldrh r0, [r0, 0xA]\n\
+ movs r3, 0x1F\n\
+ ands r3, r0\n\
+ cmp r3, 0\n\
+ bne _08107CA8\n\
+ strh r3, [r2, 0x8]\n\
+ ldr r0, =sub_8107CC4\n\
+ str r0, [r2]\n\
+_08107CA8:\n\
+ add sp, 0x10\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .pool\n");
+}
+#endif
+
+void sub_8107CC4(u8 taskId)
+{
+ u16 *BGptrX = &gBattle_BG1_X;
+ u16 *BGptrY = &gBattle_BG1_Y;
+ if (gTasks[taskId].data[0] == 0)
+ {
+ sub_80A6C68(1);
+ sub_80A6C68(2);
+ gTasks[taskId].data[0]++;
+ }
+ else
+ {
+ if (!IsContest())
+ SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 0);
+ *BGptrX = 0;
+ *BGptrY = 0;
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 0));
+ gTasks[gTasks[taskId].data[15]].data[15] = -1;
+ DestroyAnimVisualTask(taskId);
+ }
+}
+
+#ifdef NONMATCHING
+void sub_8107D58(u8 taskId)
+{
+ s16 i;
+ struct ScanlineEffectParams params;
+ struct Task *task = &gTasks[taskId];
+ // u16 *scanlineBuffer;
+
+ switch (task->data[0])
+ {
+ case 0:
+ for (i = 0; i < task->data[4]; i++)
+ {
+ /* scanlineBuffer = &gScanlineEffectRegBuffers[0][i];
+ *(u16 *)(&gScanlineEffect) = task->data[2];
+ *scanlineBuffer = task->data[2] & -1; */
+ gScanlineEffectRegBuffers[1][i] = task->data[2];
+ gScanlineEffectRegBuffers[0][i] = (u16)((int)(task->data[2] & 0xFFFF));
+ }
+ for (i = task->data[4]; i < task->data[5]; i++)
+ {
+ gScanlineEffectRegBuffers[1][i] = task->data[1];
+ gScanlineEffectRegBuffers[0][i] = (u16)((int)(task->data[1] & 0xFFFF));
+ }
+ for (i = task->data[5]; i < 160; i++)
+ {
+ gScanlineEffectRegBuffers[1][i] = task->data[2];
+ gScanlineEffectRegBuffers[0][i] = (u16)((int)(task->data[2] & 0xFFFF));
+ }
+ if (task->data[4] == 0)
+ {
+ gScanlineEffectRegBuffers[1][i] = task->data[1];
+ gScanlineEffectRegBuffers[0][i] = task->data[1];
+ }
+ else
+ {
+ gScanlineEffectRegBuffers[1][i] = task->data[2];
+ gScanlineEffectRegBuffers[0][i] = task->data[2];
+ }
+ params.dmaDest = (vu16 *)REG_ADDR_BLDALPHA;
+ params.dmaControl = SCANLINE_EFFECT_DMACNT_16BIT;
+ params.initState = 1;
+ params.unused9 = 0;
+ ScanlineEffect_SetParams(params);
+ task->data[0]++;
+ break;
+ case 1:
+ if (task->data[3] == 0)
+ {
+ if (--task->data[4] <= 0)
+ {
+ task->data[4] = 0;
+ task->data[0]++;
+ }
+ }
+ else if (++task->data[5] > 111)
+ {
+ task->data[0]++;
+ }
+ for (i = 0; i < task->data[4]; i++)
+ {
+ gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2];
+ }
+ for (i = task->data[4]; i < task->data[5]; i++)
+ {
+ gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[1];
+ }
+ for (i = task->data[5]; i < 160; i++)
+ {
+ gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2];
+ }
+ break;
+ case 2:
+ for (i = 0; i < task->data[4]; i++)
+ {
+ gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2];
+ }
+ for (i = task->data[4]; i < task->data[5]; i++)
+ {
+ gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[1];
+ }
+ for (i = task->data[5]; i < 160; i++)
+ {
+ gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = task->data[2];
+ }
+ if (task->data[15] == -1)
+ {
+ ScanlineEffect_Stop();
+ DestroyTask(taskId);
+ }
+ break;
+ }
+}
+#else
+NAKED
+void sub_8107D58(u8 taskId)
+{
+ asm_unified("push {r4-r7,lr}\n\
+ sub sp, 0xC\n\
+ lsls r0, 24\n\
+ lsrs r7, r0, 24\n\
+ lsls r0, r7, 2\n\
+ adds r0, r7\n\
+ lsls r0, 3\n\
+ ldr r1, =gTasks\n\
+ adds r4, r0, r1\n\
+ movs r1, 0x8\n\
+ ldrsh r0, [r4, r1]\n\
+ cmp r0, 0x1\n\
+ bne _08107D74\n\
+ b _08107EAC\n\
+_08107D74:\n\
+ cmp r0, 0x1\n\
+ bgt _08107D84\n\
+ cmp r0, 0\n\
+ beq _08107D8C\n\
+ b _08108022\n\
+ .pool\n\
+_08107D84:\n\
+ cmp r0, 0x2\n\
+ bne _08107D8A\n\
+ b _08107F78\n\
+_08107D8A:\n\
+ b _08108022\n\
+_08107D8C:\n\
+ movs r3, 0\n\
+ movs r2, 0x10\n\
+ ldrsh r0, [r4, r2]\n\
+ ldr r1, =gScanlineEffectRegBuffers\n\
+ mov r12, r1\n\
+ cmp r3, r0\n\
+ bge _08107DCA\n\
+ mov r7, r12\n\
+ movs r5, 0xF0\n\
+ lsls r5, 3\n\
+ add r5, r12\n\
+ ldr r6, =0x0000ffff\n\
+_08107DA4:\n\
+ lsls r2, r3, 16\n\
+ asrs r2, 16\n\
+ lsls r1, r2, 1\n\
+ adds r3, r1, r7\n\
+ adds r1, r5\n\
+ ldrh r0, [r4, 0xC]\n\
+ strh r0, [r1]\n\
+ ldrh r1, [r4, 0xC]\n\
+ adds r0, r6, 0\n\
+ ands r0, r1\n\
+ strh r0, [r3]\n\
+ adds r2, 0x1\n\
+ lsls r2, 16\n\
+ lsrs r3, r2, 16\n\
+ asrs r2, 16\n\
+ movs r1, 0x10\n\
+ ldrsh r0, [r4, r1]\n\
+ cmp r2, r0\n\
+ blt _08107DA4\n\
+_08107DCA:\n\
+ ldrh r3, [r4, 0x10]\n\
+ lsls r2, r3, 16\n\
+ asrs r1, r2, 16\n\
+ movs r3, 0x12\n\
+ ldrsh r0, [r4, r3]\n\
+ cmp r1, r0\n\
+ bge _08107E04\n\
+ ldr r5, =gScanlineEffectRegBuffers\n\
+ movs r0, 0xF0\n\
+ lsls r0, 3\n\
+ adds r6, r5, r0\n\
+ ldr r7, =0x0000ffff\n\
+_08107DE2:\n\
+ asrs r2, 16\n\
+ lsls r1, r2, 1\n\
+ adds r3, r1, r5\n\
+ adds r1, r6\n\
+ ldrh r0, [r4, 0xA]\n\
+ strh r0, [r1]\n\
+ ldrh r1, [r4, 0xA]\n\
+ adds r0, r7, 0\n\
+ ands r0, r1\n\
+ strh r0, [r3]\n\
+ adds r2, 0x1\n\
+ lsls r2, 16\n\
+ asrs r1, r2, 16\n\
+ movs r3, 0x12\n\
+ ldrsh r0, [r4, r3]\n\
+ cmp r1, r0\n\
+ blt _08107DE2\n\
+_08107E04:\n\
+ ldrh r3, [r4, 0x12]\n\
+ lsls r2, r3, 16\n\
+ asrs r0, r2, 16\n\
+ cmp r0, 0x9F\n\
+ bgt _08107E3A\n\
+ ldr r5, =gScanlineEffectRegBuffers\n\
+ movs r0, 0xF0\n\
+ lsls r0, 3\n\
+ adds r6, r5, r0\n\
+ ldr r7, =0x0000ffff\n\
+_08107E18:\n\
+ asrs r2, 16\n\
+ lsls r1, r2, 1\n\
+ adds r3, r1, r5\n\
+ adds r1, r6\n\
+ ldrh r0, [r4, 0xC]\n\
+ strh r0, [r1]\n\
+ ldrh r1, [r4, 0xC]\n\
+ adds r0, r7, 0\n\
+ ands r0, r1\n\
+ strh r0, [r3]\n\
+ adds r2, 0x1\n\
+ lsls r2, 16\n\
+ lsrs r3, r2, 16\n\
+ lsls r2, r3, 16\n\
+ asrs r0, r2, 16\n\
+ cmp r0, 0x9F\n\
+ ble _08107E18\n\
+_08107E3A:\n\
+ movs r1, 0x10\n\
+ ldrsh r0, [r4, r1]\n\
+ cmp r0, 0\n\
+ bne _08107E64\n\
+ lsls r0, r3, 16\n\
+ asrs r0, 15\n\
+ mov r3, r12\n\
+ adds r2, r0, r3\n\
+ movs r1, 0xF0\n\
+ lsls r1, 3\n\
+ add r1, r12\n\
+ adds r0, r1\n\
+ ldrh r1, [r4, 0xA]\n\
+ strh r1, [r0]\n\
+ ldrh r0, [r4, 0xA]\n\
+ b _08107E7A\n\
+ .pool\n\
+_08107E64:\n\
+ lsls r0, r3, 16\n\
+ asrs r0, 15\n\
+ mov r1, r12\n\
+ adds r2, r0, r1\n\
+ movs r1, 0xF0\n\
+ lsls r1, 3\n\
+ add r1, r12\n\
+ adds r0, r1\n\
+ ldrh r1, [r4, 0xC]\n\
+ strh r1, [r0]\n\
+ ldrh r0, [r4, 0xC]\n\
+_08107E7A:\n\
+ strh r0, [r2]\n\
+ ldr r0, =0x04000052\n\
+ str r0, [sp]\n\
+ ldr r0, =0xa2600001\n\
+ str r0, [sp, 0x4]\n\
+ mov r1, sp\n\
+ movs r2, 0\n\
+ movs r0, 0x1\n\
+ strb r0, [r1, 0x8]\n\
+ mov r0, sp\n\
+ strb r2, [r0, 0x9]\n\
+ ldr r0, [sp]\n\
+ ldr r1, [sp, 0x4]\n\
+ ldr r2, [sp, 0x8]\n\
+ bl ScanlineEffect_SetParams\n\
+ ldrh r0, [r4, 0x8]\n\
+ adds r0, 0x1\n\
+ strh r0, [r4, 0x8]\n\
+ b _08108022\n\
+ .pool\n\
+_08107EAC:\n\
+ movs r2, 0xE\n\
+ ldrsh r1, [r4, r2]\n\
+ cmp r1, 0\n\
+ bne _08107EC4\n\
+ ldrh r0, [r4, 0x10]\n\
+ subs r0, 0x1\n\
+ strh r0, [r4, 0x10]\n\
+ lsls r0, 16\n\
+ cmp r0, 0\n\
+ bgt _08107ED8\n\
+ strh r1, [r4, 0x10]\n\
+ b _08107ED2\n\
+_08107EC4:\n\
+ ldrh r0, [r4, 0x12]\n\
+ adds r0, 0x1\n\
+ strh r0, [r4, 0x12]\n\
+ lsls r0, 16\n\
+ asrs r0, 16\n\
+ cmp r0, 0x6F\n\
+ ble _08107ED8\n\
+_08107ED2:\n\
+ ldrh r0, [r4, 0x8]\n\
+ adds r0, 0x1\n\
+ strh r0, [r4, 0x8]\n\
+_08107ED8:\n\
+ movs r3, 0\n\
+ movs r1, 0x10\n\
+ ldrsh r0, [r4, r1]\n\
+ cmp r3, r0\n\
+ bge _08107F0C\n\
+ ldr r6, =gScanlineEffectRegBuffers\n\
+ ldr r5, =gScanlineEffect\n\
+_08107EE6:\n\
+ lsls r1, r3, 16\n\
+ asrs r1, 16\n\
+ lsls r3, r1, 1\n\
+ ldrb r2, [r5, 0x14]\n\
+ lsls r0, r2, 4\n\
+ subs r0, r2\n\
+ lsls r0, 7\n\
+ adds r3, r0\n\
+ adds r3, r6\n\
+ ldrh r0, [r4, 0xC]\n\
+ strh r0, [r3]\n\
+ adds r1, 0x1\n\
+ lsls r1, 16\n\
+ lsrs r3, r1, 16\n\
+ asrs r1, 16\n\
+ movs r2, 0x10\n\
+ ldrsh r0, [r4, r2]\n\
+ cmp r1, r0\n\
+ blt _08107EE6\n\
+_08107F0C:\n\
+ ldrh r3, [r4, 0x10]\n\
+ lsls r2, r3, 16\n\
+ asrs r1, r2, 16\n\
+ movs r3, 0x12\n\
+ ldrsh r0, [r4, r3]\n\
+ cmp r1, r0\n\
+ bge _08107F40\n\
+ ldr r6, =gScanlineEffectRegBuffers\n\
+ ldr r5, =gScanlineEffect\n\
+_08107F1E:\n\
+ asrs r3, r2, 16\n\
+ lsls r2, r3, 1\n\
+ ldrb r1, [r5, 0x14]\n\
+ lsls r0, r1, 4\n\
+ subs r0, r1\n\
+ lsls r0, 7\n\
+ adds r2, r0\n\
+ adds r2, r6\n\
+ ldrh r0, [r4, 0xA]\n\
+ strh r0, [r2]\n\
+ adds r3, 0x1\n\
+ lsls r2, r3, 16\n\
+ asrs r1, r2, 16\n\
+ movs r3, 0x12\n\
+ ldrsh r0, [r4, r3]\n\
+ cmp r1, r0\n\
+ blt _08107F1E\n\
+_08107F40:\n\
+ ldrh r3, [r4, 0x12]\n\
+ lsls r1, r3, 16\n\
+ asrs r0, r1, 16\n\
+ cmp r0, 0x9F\n\
+ bgt _08108022\n\
+ ldr r6, =gScanlineEffectRegBuffers\n\
+ ldr r5, =gScanlineEffect\n\
+_08107F4E:\n\
+ asrs r3, r1, 16\n\
+ lsls r2, r3, 1\n\
+ ldrb r1, [r5, 0x14]\n\
+ lsls r0, r1, 4\n\
+ subs r0, r1\n\
+ lsls r0, 7\n\
+ adds r2, r0\n\
+ adds r2, r6\n\
+ ldrh r0, [r4, 0xC]\n\
+ strh r0, [r2]\n\
+ adds r3, 0x1\n\
+ lsls r1, r3, 16\n\
+ asrs r0, r1, 16\n\
+ cmp r0, 0x9F\n\
+ ble _08107F4E\n\
+ b _08108022\n\
+ .pool\n\
+_08107F78:\n\
+ movs r3, 0\n\
+ movs r1, 0x10\n\
+ ldrsh r0, [r4, r1]\n\
+ cmp r3, r0\n\
+ bge _08107FAC\n\
+ ldr r6, =gScanlineEffectRegBuffers\n\
+ ldr r5, =gScanlineEffect\n\
+_08107F86:\n\
+ lsls r1, r3, 16\n\
+ asrs r1, 16\n\
+ lsls r3, r1, 1\n\
+ ldrb r2, [r5, 0x14]\n\
+ lsls r0, r2, 4\n\
+ subs r0, r2\n\
+ lsls r0, 7\n\
+ adds r3, r0\n\
+ adds r3, r6\n\
+ ldrh r0, [r4, 0xC]\n\
+ strh r0, [r3]\n\
+ adds r1, 0x1\n\
+ lsls r1, 16\n\
+ lsrs r3, r1, 16\n\
+ asrs r1, 16\n\
+ movs r2, 0x10\n\
+ ldrsh r0, [r4, r2]\n\
+ cmp r1, r0\n\
+ blt _08107F86\n\
+_08107FAC:\n\
+ ldrh r3, [r4, 0x10]\n\
+ lsls r2, r3, 16\n\
+ asrs r1, r2, 16\n\
+ movs r3, 0x12\n\
+ ldrsh r0, [r4, r3]\n\
+ cmp r1, r0\n\
+ bge _08107FE0\n\
+ ldr r6, =gScanlineEffectRegBuffers\n\
+ ldr r5, =gScanlineEffect\n\
+_08107FBE:\n\
+ asrs r3, r2, 16\n\
+ lsls r2, r3, 1\n\
+ ldrb r1, [r5, 0x14]\n\
+ lsls r0, r1, 4\n\
+ subs r0, r1\n\
+ lsls r0, 7\n\
+ adds r2, r0\n\
+ adds r2, r6\n\
+ ldrh r0, [r4, 0xA]\n\
+ strh r0, [r2]\n\
+ adds r3, 0x1\n\
+ lsls r2, r3, 16\n\
+ asrs r1, r2, 16\n\
+ movs r3, 0x12\n\
+ ldrsh r0, [r4, r3]\n\
+ cmp r1, r0\n\
+ blt _08107FBE\n\
+_08107FE0:\n\
+ ldrh r3, [r4, 0x12]\n\
+ lsls r1, r3, 16\n\
+ asrs r0, r1, 16\n\
+ cmp r0, 0x9F\n\
+ bgt _0810800C\n\
+ ldr r6, =gScanlineEffectRegBuffers\n\
+ ldr r5, =gScanlineEffect\n\
+_08107FEE:\n\
+ asrs r3, r1, 16\n\
+ lsls r2, r3, 1\n\
+ ldrb r1, [r5, 0x14]\n\
+ lsls r0, r1, 4\n\
+ subs r0, r1\n\
+ lsls r0, 7\n\
+ adds r2, r0\n\
+ adds r2, r6\n\
+ ldrh r0, [r4, 0xC]\n\
+ strh r0, [r2]\n\
+ adds r3, 0x1\n\
+ lsls r1, r3, 16\n\
+ asrs r0, r1, 16\n\
+ cmp r0, 0x9F\n\
+ ble _08107FEE\n\
+_0810800C:\n\
+ movs r0, 0x26\n\
+ ldrsh r1, [r4, r0]\n\
+ movs r0, 0x1\n\
+ negs r0, r0\n\
+ cmp r1, r0\n\
+ bne _08108022\n\
+ bl ScanlineEffect_Stop\n\
+ adds r0, r7, 0\n\
+ bl DestroyTask\n\
+_08108022:\n\
+ add sp, 0xC\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .pool\n");
+}
+#endif
+
+void sub_8108034(struct Sprite *sprite)
+{
+ s16 randData;
+ s16 randData2;
+
+ sprite->oam.tileNum += 8;
+ InitSpritePosToAnimTarget(sprite, TRUE);
+ randData = (Random2() & 0xFF) | 256;
+ randData2 = (Random2() & 0x1FF);
+ if (randData2 > 255)
+ randData2 = 256 - randData2;
+ sprite->data[1] = randData;
+ sprite->data[2] = randData2;
+ sprite->callback = sub_8108098;
+}
+
+void sub_8108098(struct Sprite *sprite)
+{
+ sprite->data[3] += sprite->data[1];
+ sprite->data[4] += sprite->data[2];
+ if (sprite->data[1] & 1)
+ sprite->pos2.x = -(sprite->data[3] >> 8);
+ else
+ sprite->pos2.x = sprite->data[3] >> 8;
+ sprite->pos2.y = sprite->data[4] >> 8;
+ if (++sprite->data[0] == 21)
+ DestroyAnimSprite(sprite);
+}
+
+void sub_81080E4(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ task->data[15] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
+ task->data[5] = gSprites[task->data[15]].pos1.y;
+ task->data[1] = sub_8108384();
+ PrepareBattlerSpriteForRotScale(task->data[15], ST_OAM_OBJ_NORMAL);
+ task->func = sub_8108140;
+}
+
+void sub_8108140(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->data[0])
+ {
+ case 0:
+ sub_80A805C(task, task->data[15], 0x100, 0x100, 224, 0x200, 32);
+ task->data[0]++;
+ case 1:
+ if (++task->data[3] > 1)
+ {
+ task->data[3] = 0;
+ if (++task->data[4] & 1)
+ {
+ gSprites[task->data[15]].pos2.x = 3;
+ gSprites[task->data[15]].pos1.y++;
+ }
+ else
+ {
+ gSprites[task->data[15]].pos2.x = -3;
+ }
+ }
+ if (sub_80A80C8(task) == 0)
+ {
+ SetBattlerSpriteYOffsetFromYScale(task->data[15]);
+ gSprites[task->data[15]].pos2.x = 0;
+ task->data[3] = 0;
+ task->data[4] = 0;
+ task->data[0]++;
+ }
+ break;
+ case 2:
+ if (++task->data[3] > 4)
+ {
+ sub_80A805C(task, task->data[15], 224, 0x200, 384, 224, 8);
+ task->data[3] = 0;
+ task->data[0]++;
+ }
+ break;
+ case 3:
+ if (sub_80A80C8(task) == 0)
+ {
+ task->data[3] = 0;
+ task->data[4] = 0;
+ task->data[0]++;
+ }
+ break;
+ case 4:
+ sub_8108408(task, taskId);
+ task->data[0]++;
+ case 5:
+ if (++task->data[3] > 1)
+ {
+ task->data[3] = 0;
+ if (++task->data[4] & 1)
+ gSprites[task->data[15]].pos2.y += 2;
+ else
+ gSprites[task->data[15]].pos2.y -= 2;
+ if (task->data[4] == 10)
+ {
+ sub_80A805C(task, task->data[15], 384, 224, 0x100, 0x100, 8);
+ task->data[3] = 0;
+ task->data[4] = 0;
+ task->data[0]++;
+ }
+ }
+ break;
+ case 6:
+ gSprites[task->data[15]].pos1.y--;
+ if (sub_80A80C8(task) == 0)
+ {
+ ResetSpriteRotScale(task->data[15]);
+ gSprites[task->data[15]].pos1.y = task->data[5];
+ task->data[4] = 0;
+ task->data[0]++;
+ }
+ break;
+ case 7:
+ if (task->data[2] == 0)
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+}
+
+u8 sub_8108384(void)
+{
+ u8 i;
+ u16 hp;
+ u16 maxhp;
+ u16 partyIndex;
+ struct Pokemon *slot;
+
+ if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
+ {
+ partyIndex = gBattlerPartyIndexes[gBattleAnimAttacker];
+ slot = &gPlayerParty[partyIndex];
+ maxhp = GetMonData(slot, MON_DATA_MAX_HP);
+ hp = GetMonData(slot, MON_DATA_HP);
+ maxhp /= 4;
+ }
+ else
+ {
+ partyIndex = gBattlerPartyIndexes[gBattleAnimAttacker];
+ slot = &gEnemyParty[partyIndex];
+ maxhp = GetMonData(slot, MON_DATA_MAX_HP);
+ hp = GetMonData(slot, MON_DATA_HP);
+ maxhp /= 4;
+ }
+ for (i = 0; i < 3; i++)
+ {
+ if (hp < maxhp * (i + 1))
+ return i;
+ }
+ return 3;
+}
+
+void sub_8108408(struct Task *task, u8 taskId)
+{
+ s16 i;
+ s16 attackerCoordX = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
+ s16 attackerCoordY = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ s16 trigIndex = 172;
+ u8 subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 1;
+ s16 increment = 4 - task->data[1];
+ u8 spriteId;
+
+ if (increment <= 0)
+ increment = 1;
+ for (i = 0; i < 20; i += increment)
+ {
+ spriteId = CreateSprite(&gUnknown_08595268, attackerCoordX, attackerCoordY, subpriority);
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].data[1] = i;
+ gSprites[spriteId].data[2] = attackerCoordX * 16;
+ gSprites[spriteId].data[3] = attackerCoordY * 16;
+ gSprites[spriteId].data[4] = Cos(trigIndex, 64);
+ gSprites[spriteId].data[5] = Sin(trigIndex, 64);
+ gSprites[spriteId].data[6] = taskId;
+ gSprites[spriteId].data[7] = 2;
+ if (task->data[2] & 1)
+ sub_810851C(&gSprites[spriteId]);
+ task->data[2]++;
+ }
+ trigIndex = (trigIndex + increment * 2);
+ trigIndex &= 0xFF;
+ }
+}
+
+void sub_810851C(struct Sprite *sprite)
+{
+ switch (sprite->data[0])
+ {
+ case 0:
+ sprite->data[4] += (sprite->data[1] % 6) * 3;
+ sprite->data[5] += (sprite->data[1] % 3) * 3;
+ sprite->data[0]++;
+ case 1:
+ sprite->data[2] += sprite->data[4];
+ sprite->data[3] += sprite->data[5];
+ sprite->pos1.x = sprite->data[2] >> 4;
+ sprite->pos1.y = sprite->data[3] >> 4;
+ if (sprite->pos1.x < -8 || sprite->pos1.x > 248 || sprite->pos1.y < -8 || sprite->pos1.y > 120)
+ {
+ gTasks[sprite->data[6]].data[sprite->data[7]]--;
+ DestroySprite(sprite);
+ }
+ break;
+ }
+}
+
+void sub_81085C8(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ task->data[1] = sub_8108384();
+ if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
+ {
+ task->data[4] = 136;
+ task->data[6] = 40;
+ }
+ else
+ {
+ task->data[4] = 16;
+ task->data[6] = 80;
+ }
+ task->data[5] = 98;
+ task->data[7] = task->data[4] + 49;
+ task->data[12] = task->data[1] * 5 + 5;
+ task->func = sub_810862C;
+}
+
+void sub_810862C(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+ u8 taskId2;
+
+ switch (task->data[0])
+ {
+ case 0:
+ if (++task->data[2] > 2)
+ {
+ task->data[2] = 0;
+ sub_810871C(task, taskId);
+ }
+ if (task->data[10] != 0 && task->data[13] == 0)
+ {
+ gBattleAnimArgs[0] = 1;
+ gBattleAnimArgs[1] = 0;
+ gBattleAnimArgs[2] = 12;
+ taskId2 = CreateTask(sub_81152DC, 80);
+ if (taskId2 != 0xFF)
+ {
+ gTasks[taskId2].func(taskId2);
+ gAnimVisualTaskCount++;
+ }
+ gBattleAnimArgs[0] = 3;
+ taskId2 = CreateTask(sub_81152DC, 80);
+ if (taskId2 != 0xFF)
+ {
+ gTasks[taskId2].func(taskId2);
+ gAnimVisualTaskCount++;
+ }
+ task->data[13] = 1;
+ }
+ if (task->data[11] >= task->data[12])
+ task->data[0]++;
+ break;
+ case 1:
+ if (task->data[9] == 0)
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+}
+
+void sub_810871C(struct Task *task, u8 taskId)
+{
+ u16 yPosArg = ((gSineTable[task->data[8]] + 3) >> 4) + task->data[6];
+ u8 spriteId = CreateSprite(&gUnknown_08595268, task->data[7], 0, 0);
+
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].callback = sub_81087C0;
+ gSprites[spriteId].data[5] = yPosArg;
+ gSprites[spriteId].data[6] = taskId;
+ gSprites[spriteId].data[7] = 9;
+ task->data[9]++;
+ }
+ task->data[11]++;
+ task->data[8] = (task->data[8] + 39) & 0xFF;
+ task->data[7] = ((task->data[7] * 0x41c64e6d + 0x3039) % task->data[5]) + task->data[4];
+}
+
+void sub_81087C0(struct Sprite *sprite)
+{
+ if (sprite->data[0] == 0)
+ {
+ sprite->pos1.y += 8;
+ if (sprite->pos1.y >= sprite->data[5])
+ {
+ gTasks[sprite->data[6]].data[10] = 1;
+ sprite->data[1] = CreateSprite(&gUnknown_08597388, sprite->pos1.x, sprite->pos1.y, 1);
+ if (sprite->data[1] != MAX_SPRITES)
+ {
+ StartSpriteAffineAnim(&gSprites[sprite->data[1]], 3);
+ gSprites[sprite->data[1]].data[6] = sprite->data[6];
+ gSprites[sprite->data[1]].data[7] = sprite->data[7];
+ gSprites[sprite->data[1]].callback = sub_810886C;
+ }
+ DestroySprite(sprite);
+ }
+ }
+}
+
+void sub_810886C(struct Sprite *sprite)
+{
+ if (++sprite->data[1] > 1)
+ {
+ sprite->data[1] = 0;
+ sprite->invisible ^= 1;
+ if (++sprite->data[2] == 12)
+ {
+ gTasks[sprite->data[6]].data[sprite->data[7]]--;
+ FreeOamMatrix(sprite->oam.matrixNum);
+ DestroySprite(sprite);
+ }
+ }
+}
+
+void sub_81088E4(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ task->data[3] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
+ task->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ task->data[7] = (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) ? 1 : -1;
+ if (IsContest())
+ task->data[7] *= -1;
+ task->data[5] = task->data[3] + task->data[7] * 8;
+ task->data[6] = task->data[4] - task->data[7] * 8;
+ task->data[9] = -32;
+ task->data[1] = 0;
+ task->data[0] = 0;
+ task->func = sub_8108978;
+}
+
+void sub_8108978(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->data[0])
+ {
+ case 0:
+ sub_8108AC0(task);
+ if (task->data[10] != 0)
+ task->data[0]++;
+ break;
+ case 1:
+ sub_8108AC0(task);
+ if (++task->data[1] > 16)
+ {
+ task->data[1] = 0;
+ task->data[0]++;
+ }
+ break;
+ case 2:
+ sub_8108AC0(task);
+ task->data[5] += task->data[7] * 6;
+ if (!(task->data[5] >= -16 && task->data[5] <= 256))
+ {
+ if (++task->data[12] > 2)
+ {
+ task->data[13] = 1;
+ task->data[0] = 6;
+ task->data[1] = 0;
+ }
+ else
+ {
+ task->data[1] = 0;
+ task->data[0]++;
+ }
+ }
+ break;
+ case 3:
+ sub_8108AC0(task);
+ task->data[6] -= task->data[7] * 2;
+ if (++task->data[1] > 7)
+ task->data[0]++;
+ break;
+ case 4:
+ sub_8108AC0(task);
+ task->data[5] -= task->data[7] * 6;
+ if (!(task->data[5] >= -16 && task->data[5] <= 256))
+ {
+ task->data[12]++;
+ task->data[1] = 0;
+ task->data[0]++;
+ }
+ break;
+ case 5:
+ sub_8108AC0(task);
+ task->data[6] -= task->data[7] * 2;
+ if (++task->data[1] > 7)
+ task->data[0] = 2;
+ break;
+ case 6:
+ if (task->data[8] == 0)
+ task->data[0]++;
+ break;
+ default:
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+}
+
+void sub_8108AC0(struct Task *task)
+{
+ u8 spriteId;
+
+ if (++task->data[2] > 1)
+ {
+ task->data[2] = 0;
+ spriteId = CreateSprite(&gUnknown_08595268, task->data[3], task->data[4], 10);
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].data[0] = 16;
+ gSprites[spriteId].data[2] = task->data[5];
+ gSprites[spriteId].data[4] = task->data[6];
+ gSprites[spriteId].data[5] = task->data[9];
+ InitAnimArcTranslation(&gSprites[spriteId]);
+ gSprites[spriteId].callback = sub_8108B2C;
+ task->data[8]++;
+ }
+ }
+}
+
+void sub_8108B2C(struct Sprite *sprite)
+{
+ if (TranslateAnimArc(sprite))
+ {
+ sprite->pos1.x += sprite->pos2.x;
+ sprite->pos1.y += sprite->pos2.y;
+ sprite->data[0] = 6;
+ sprite->data[2] = (Random2() & 0x1F) - 16 + sprite->pos1.x;
+ sprite->data[4] = (Random2() & 0x1F) - 16 + sprite->pos1.y;
+ sprite->data[5] = ~(Random2() & 7);
+ InitAnimArcTranslation(sprite);
+ sprite->callback = sub_8108B94;
+ }
+}
+
+void sub_8108B94(struct Sprite *sprite)
+{
+ u16 i;
+
+ if (TranslateAnimArc(sprite))
+ {
+ for (i = 0; i < NUM_TASKS; i++)
+ {
+ if (gTasks[i].func == sub_8108978)
+ {
+ gTasks[i].data[10] = 1;
+ gTasks[i].data[8]--;
+ DestroySprite(sprite);
+ }
+ }
+ }
+}
+
+void sub_8108BE0(struct Sprite *sprite)
+{
+ sprite->pos1.x = gBattleAnimArgs[0];
+ sprite->pos1.y = gBattleAnimArgs[1];
+ sprite->data[0] = gBattleAnimArgs[2];
+ sprite->data[1] = gBattleAnimArgs[3];
+ sprite->data[2] = gBattleAnimArgs[4];
+ sprite->data[3] = gBattleAnimArgs[5];
+ sprite->callback = sub_8108C08;
+}
+
+void sub_8108C08(struct Sprite *sprite)
+{
+ sprite->data[4] -= sprite->data[0];
+ sprite->pos2.y = sprite->data[4] / 10;
+ sprite->data[5] = (sprite->data[5] + sprite->data[1]) & 0xFF;
+ sprite->pos2.x = Sin(sprite->data[5], sprite->data[2]);
+ if (--sprite->data[3] == 0)
+ DestroyAnimSprite(sprite);
+}
+
+void sub_8108C54(struct Sprite *sprite)
+{
+ sprite->data[3] += sprite->data[1];
+ sprite->data[4] += sprite->data[2];
+ sprite->pos2.x = sprite->data[3] >> 7;
+ sprite->pos2.y = sprite->data[4] >> 7;
+ if (--sprite->data[0] == 0)
+ {
+ FreeSpriteOamMatrix(sprite);
+ DestroySprite(sprite);
+ }
+}
+
+void sub_8108C94(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;
+}
+
+void sub_8108CDC(struct Sprite *sprite)
+{
+ int xDiff = sprite->data[1] - sprite->pos1.x;
+ int yDiff = sprite->data[2] - sprite->pos1.y;
+
+ sprite->pos2.x = (sprite->data[0] * xDiff) / sprite->data[3];
+ sprite->pos2.y = (sprite->data[0] * yDiff) / sprite->data[3];
+ if (++sprite->data[5] == sprite->data[4])
+ {
+ sprite->data[5] = 0;
+ sub_8108D54(sprite, xDiff, yDiff);
+ }
+ if (sprite->data[3] == sprite->data[0])
+ DestroyAnimSprite(sprite);
+ sprite->data[0]++;
+}
+
+#ifdef NONMATCHING
+void sub_8108D54(struct Sprite *sprite, int xDiff, int yDiff)
+{
+ s16 something = sprite->data[0] / 2;
+ s16 combinedX = sprite->pos1.x + sprite->pos2.x;
+ s16 combinedY = sprite->pos1.y + sprite->pos2.y;
+ s16 randomSomethingY = yDiff + (Random2() % 10) - 5;
+ s16 randomSomethingX = -xDiff + (Random2() % 10) - 5;
+ s16 i;
+ u8 spriteId;
+
+ for (i = 0; i <= 0; i++)
+ {
+ spriteId = CreateSprite(&gUnknown_08595310, combinedX, combinedY + something, 130);
+ gSprites[spriteId].data[0] = 20;
+ gSprites[spriteId].data[1] = randomSomethingY;
+ gSprites[spriteId].subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 1;
+ if (randomSomethingX < 0)
+ gSprites[spriteId].data[2] = -randomSomethingX;
+ else
+ gSprites[spriteId].data[2] = randomSomethingX;
+ }
+ for (i = 0; i <= 0; i++)
+ {
+ spriteId = CreateSprite(&gUnknown_08595310, combinedX, combinedY - something, 130);
+ gSprites[spriteId].data[0] = 20;
+ gSprites[spriteId].data[1] = randomSomethingY;
+ gSprites[spriteId].subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 1;
+ if (randomSomethingX > 0)
+ gSprites[spriteId].data[2] = -randomSomethingX;
+ else
+ gSprites[spriteId].data[2] = randomSomethingX;
+ }
+}
+#else
+NAKED
+void sub_8108D54(struct Sprite *sprite, int xDiff, int yDiff)
+{
+ asm_unified("push {r4-r7,lr}\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ sub sp, 0x18\n\
+ adds r4, r1, 0\n\
+ adds r5, r2, 0\n\
+ movs r2, 0x2E\n\
+ ldrsh r1, [r0, r2]\n\
+ lsrs r2, r1, 31\n\
+ adds r1, r2\n\
+ lsls r1, 15\n\
+ lsrs r1, 16\n\
+ str r1, [sp]\n\
+ ldrh r1, [r0, 0x24]\n\
+ ldrh r3, [r0, 0x20]\n\
+ adds r1, r3\n\
+ lsls r1, 16\n\
+ lsrs r1, 16\n\
+ mov r8, r1\n\
+ ldrh r1, [r0, 0x26]\n\
+ ldrh r0, [r0, 0x22]\n\
+ adds r1, r0\n\
+ lsls r1, 16\n\
+ lsrs r1, 16\n\
+ mov r10, r1\n\
+ bl Random2\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ movs r1, 0xA\n\
+ bl __umodsi3\n\
+ adds r0, r5, r0\n\
+ subs r0, 0x5\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ mov r9, r0\n\
+ bl Random2\n\
+ negs r4, r4\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ movs r1, 0xA\n\
+ bl __umodsi3\n\
+ adds r4, r0\n\
+ subs r4, 0x5\n\
+ lsls r4, 16\n\
+ lsrs r7, r4, 16\n\
+ movs r6, 0\n\
+ mov r0, r8\n\
+ lsls r0, 16\n\
+ mov r8, r0\n\
+ mov r1, r10\n\
+ lsls r1, 16\n\
+ str r1, [sp, 0xC]\n\
+ ldr r2, [sp]\n\
+ lsls r2, 16\n\
+ str r2, [sp, 0x10]\n\
+ asrs r1, 16\n\
+ lsls r0, r7, 16\n\
+ asrs r5, r0, 16\n\
+ str r0, [sp, 0x14]\n\
+ negs r3, r5\n\
+ str r3, [sp, 0x4]\n\
+ asrs r0, r2, 16\n\
+ adds r1, r0\n\
+ lsls r1, 16\n\
+ mov r10, r1\n\
+_08108DE2:\n\
+ ldr r0, =gUnknown_08595310\n\
+ mov r2, r8\n\
+ asrs r1, r2, 16\n\
+ mov r3, r10\n\
+ asrs r2, r3, 16\n\
+ movs r3, 0x82\n\
+ bl CreateSprite\n\
+ lsls r0, 24\n\
+ lsrs r2, r0, 24\n\
+ ldr r1, =gSprites\n\
+ lsls r0, r2, 4\n\
+ adds r0, r2\n\
+ lsls r0, 2\n\
+ adds r4, r0, r1\n\
+ movs r0, 0x14\n\
+ strh r0, [r4, 0x2E]\n\
+ mov r0, r9\n\
+ strh r0, [r4, 0x30]\n\
+ ldr r0, =gBattleAnimAttacker\n\
+ ldrb r0, [r0]\n\
+ bl GetBattlerSpriteSubpriority\n\
+ subs r0, 0x1\n\
+ adds r1, r4, 0\n\
+ adds r1, 0x43\n\
+ strb r0, [r1]\n\
+ cmp r5, 0\n\
+ bge _08108E30\n\
+ mov r1, sp\n\
+ ldrh r1, [r1, 0x4]\n\
+ strh r1, [r4, 0x32]\n\
+ b _08108E32\n\
+ .pool\n\
+_08108E30:\n\
+ strh r7, [r4, 0x32]\n\
+_08108E32:\n\
+ lsls r0, r6, 16\n\
+ movs r2, 0x80\n\
+ lsls r2, 9\n\
+ adds r0, r2\n\
+ lsrs r6, r0, 16\n\
+ cmp r0, 0\n\
+ ble _08108DE2\n\
+ movs r6, 0\n\
+ ldr r3, [sp, 0xC]\n\
+ asrs r1, r3, 16\n\
+ ldr r0, [sp, 0x14]\n\
+ asrs r5, r0, 16\n\
+ negs r2, r5\n\
+ str r2, [sp, 0x8]\n\
+ ldr r3, [sp, 0x10]\n\
+ asrs r0, r3, 16\n\
+ subs r1, r0\n\
+ lsls r1, 16\n\
+ mov r10, r1\n\
+_08108E58:\n\
+ ldr r0, =gUnknown_08595310\n\
+ mov r2, r8\n\
+ asrs r1, r2, 16\n\
+ mov r3, r10\n\
+ asrs r2, r3, 16\n\
+ movs r3, 0x82\n\
+ bl CreateSprite\n\
+ lsls r0, 24\n\
+ lsrs r2, r0, 24\n\
+ ldr r1, =gSprites\n\
+ lsls r0, r2, 4\n\
+ adds r0, r2\n\
+ lsls r0, 2\n\
+ adds r4, r0, r1\n\
+ movs r0, 0x14\n\
+ strh r0, [r4, 0x2E]\n\
+ mov r0, r9\n\
+ strh r0, [r4, 0x30]\n\
+ ldr r0, =gBattleAnimAttacker\n\
+ ldrb r0, [r0]\n\
+ bl GetBattlerSpriteSubpriority\n\
+ subs r0, 0x1\n\
+ adds r1, r4, 0\n\
+ adds r1, 0x43\n\
+ strb r0, [r1]\n\
+ cmp r5, 0\n\
+ ble _08108EA8\n\
+ mov r1, sp\n\
+ ldrh r1, [r1, 0x8]\n\
+ strh r1, [r4, 0x32]\n\
+ b _08108EAA\n\
+ .pool\n\
+_08108EA8:\n\
+ strh r7, [r4, 0x32]\n\
+_08108EAA:\n\
+ lsls r0, r6, 16\n\
+ movs r2, 0x80\n\
+ lsls r2, 9\n\
+ adds r0, r2\n\
+ lsrs r6, r0, 16\n\
+ cmp r0, 0\n\
+ ble _08108E58\n\
+ add sp, 0x18\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");
+}
+#endif
diff --git a/src/wild_encounter.c b/src/wild_encounter.c
index 3a8adaf15..2e6f1642a 100644
--- a/src/wild_encounter.c
+++ b/src/wild_encounter.c
@@ -40,4558 +40,7 @@ static bool8 IsAbilityAllowingEncounter(u8 level);
EWRAM_DATA static u8 sWildEncountersDisabled = 0;
EWRAM_DATA static u32 sFeebasRngValue = 0;
-// const rom data
-const struct WildPokemon gRoute101_LandMons[] =
-{
- {2, 2, SPECIES_WURMPLE},
- {2, 2, SPECIES_POOCHYENA},
- {2, 2, SPECIES_WURMPLE},
- {3, 3, SPECIES_WURMPLE},
- {3, 3, SPECIES_POOCHYENA},
- {3, 3, SPECIES_POOCHYENA},
- {3, 3, SPECIES_WURMPLE},
- {3, 3, SPECIES_POOCHYENA},
- {2, 2, SPECIES_ZIGZAGOON},
- {2, 2, SPECIES_ZIGZAGOON},
- {3, 3, SPECIES_ZIGZAGOON},
- {3, 3, SPECIES_ZIGZAGOON},
-};
-
-const struct WildPokemonInfo gRoute101_LandMonsInfo = {20, gRoute101_LandMons};
-
-const struct WildPokemon gRoute102_LandMons[] =
-{
- {3, 3, SPECIES_POOCHYENA},
- {3, 3, SPECIES_WURMPLE},
- {4, 4, SPECIES_POOCHYENA},
- {4, 4, SPECIES_WURMPLE},
- {3, 3, SPECIES_LOTAD},
- {4, 4, SPECIES_LOTAD},
- {3, 3, SPECIES_ZIGZAGOON},
- {3, 3, SPECIES_ZIGZAGOON},
- {4, 4, SPECIES_ZIGZAGOON},
- {4, 4, SPECIES_RALTS},
- {4, 4, SPECIES_ZIGZAGOON},
- {3, 3, SPECIES_SEEDOT},
-};
-
-const struct WildPokemonInfo gRoute102_LandMonsInfo = {20, gRoute102_LandMons};
-
-const struct WildPokemon gRoute102_WaterMons[] =
-{
- {20, 30, SPECIES_MARILL},
- {10, 20, SPECIES_MARILL},
- {30, 35, SPECIES_MARILL},
- {5, 10, SPECIES_MARILL},
- {20, 30, SPECIES_GOLDEEN},
-};
-
-const struct WildPokemonInfo gRoute102_WaterMonsInfo = {4, gRoute102_WaterMons};
-
-const struct WildPokemon gRoute102_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_GOLDEEN},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_GOLDEEN},
- {10, 30, SPECIES_CORPHISH},
- {25, 30, SPECIES_CORPHISH},
- {30, 35, SPECIES_CORPHISH},
- {20, 25, SPECIES_CORPHISH},
- {35, 40, SPECIES_CORPHISH},
- {40, 45, SPECIES_CORPHISH},
-};
-
-const struct WildPokemonInfo gRoute102_FishingMonsInfo = {30, gRoute102_FishingMons};
-
-const struct WildPokemon gRoute103_LandMons[] =
-{
- {2, 2, SPECIES_POOCHYENA},
- {3, 3, SPECIES_POOCHYENA},
- {3, 3, SPECIES_POOCHYENA},
- {4, 4, SPECIES_POOCHYENA},
- {2, 2, SPECIES_WINGULL},
- {3, 3, SPECIES_ZIGZAGOON},
- {3, 3, SPECIES_ZIGZAGOON},
- {4, 4, SPECIES_ZIGZAGOON},
- {3, 3, SPECIES_WINGULL},
- {3, 3, SPECIES_WINGULL},
- {2, 2, SPECIES_WINGULL},
- {4, 4, SPECIES_WINGULL},
-};
-
-const struct WildPokemonInfo gRoute103_LandMonsInfo = {20, gRoute103_LandMons};
-
-const struct WildPokemon gRoute103_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
-};
-
-const struct WildPokemonInfo gRoute103_WaterMonsInfo = {4, gRoute103_WaterMons};
-
-const struct WildPokemon gRoute103_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_SHARPEDO},
- {30, 35, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
-};
-
-const struct WildPokemonInfo gRoute103_FishingMonsInfo = {30, gRoute103_FishingMons};
-
-const struct WildPokemon gRoute104_LandMons[] =
-{
- {4, 4, SPECIES_POOCHYENA},
- {4, 4, SPECIES_WURMPLE},
- {5, 5, SPECIES_POOCHYENA},
- {5, 5, SPECIES_MARILL},
- {4, 4, SPECIES_MARILL},
- {5, 5, SPECIES_POOCHYENA},
- {4, 4, SPECIES_TAILLOW},
- {5, 5, SPECIES_TAILLOW},
- {4, 4, SPECIES_WINGULL},
- {4, 4, SPECIES_WINGULL},
- {3, 3, SPECIES_WINGULL},
- {5, 5, SPECIES_WINGULL},
-};
-
-const struct WildPokemonInfo gRoute104_LandMonsInfo = {20, gRoute104_LandMons};
-
-const struct WildPokemon gRoute104_WaterMons[] =
-{
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
-};
-
-const struct WildPokemonInfo gRoute104_WaterMonsInfo = {4, gRoute104_WaterMons};
-
-const struct WildPokemon gRoute104_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_MAGIKARP},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_MAGIKARP},
- {25, 30, SPECIES_MAGIKARP},
- {30, 35, SPECIES_MAGIKARP},
- {20, 25, SPECIES_MAGIKARP},
- {35, 40, SPECIES_MAGIKARP},
- {40, 45, SPECIES_MAGIKARP},
-};
-
-const struct WildPokemonInfo gRoute104_FishingMonsInfo = {30, gRoute104_FishingMons};
-
-const struct WildPokemon gRoute105_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
-};
-
-const struct WildPokemonInfo gRoute105_WaterMonsInfo = {4, gRoute105_WaterMons};
-
-const struct WildPokemon gRoute105_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_WAILMER},
- {20, 25, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
-};
-
-const struct WildPokemonInfo gRoute105_FishingMonsInfo = {30, gRoute105_FishingMons};
-
-const struct WildPokemon gRoute110_LandMons[] =
-{
- {12, 12, SPECIES_POOCHYENA},
- {12, 12, SPECIES_ELECTRIKE},
- {12, 12, SPECIES_GULPIN},
- {13, 13, SPECIES_ELECTRIKE},
- {13, 13, SPECIES_MINUN},
- {13, 13, SPECIES_ODDISH},
- {13, 13, SPECIES_MINUN},
- {13, 13, SPECIES_GULPIN},
- {12, 12, SPECIES_WINGULL},
- {12, 12, SPECIES_WINGULL},
- {12, 12, SPECIES_PLUSLE},
- {13, 13, SPECIES_PLUSLE},
-};
-
-const struct WildPokemonInfo gRoute110_LandMonsInfo = {20, gRoute110_LandMons};
-
-const struct WildPokemon gRoute110_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
-};
-
-const struct WildPokemonInfo gRoute110_WaterMonsInfo = {4, gRoute110_WaterMons};
-
-const struct WildPokemon gRoute110_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_WAILMER},
- {20, 25, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
-};
-
-const struct WildPokemonInfo gRoute110_FishingMonsInfo = {30, gRoute110_FishingMons};
-
-const struct WildPokemon gRoute111_LandMons[] =
-{
- {20, 20, SPECIES_SANDSHREW},
- {20, 20, SPECIES_TRAPINCH},
- {21, 21, SPECIES_SANDSHREW},
- {21, 21, SPECIES_TRAPINCH},
- {19, 19, SPECIES_BALTOY},
- {21, 21, SPECIES_BALTOY},
- {19, 19, SPECIES_SANDSHREW},
- {19, 19, SPECIES_TRAPINCH},
- {20, 20, SPECIES_BALTOY},
- {20, 20, SPECIES_CACNEA},
- {22, 22, SPECIES_CACNEA},
- {22, 22, SPECIES_CACNEA},
-};
-
-const struct WildPokemonInfo gRoute111_LandMonsInfo = {10, gRoute111_LandMons};
-
-const struct WildPokemon gRoute111_WaterMons[] =
-{
- {20, 30, SPECIES_MARILL},
- {10, 20, SPECIES_MARILL},
- {30, 35, SPECIES_MARILL},
- {5, 10, SPECIES_MARILL},
- {20, 30, SPECIES_GOLDEEN},
-};
-
-const struct WildPokemonInfo gRoute111_WaterMonsInfo = {4, gRoute111_WaterMons};
-
-const struct WildPokemon gRoute111_RockSmashMons[] =
-{
- {10, 15, SPECIES_GEODUDE},
- {5, 10, SPECIES_GEODUDE},
- {15, 20, SPECIES_GEODUDE},
- {15, 20, SPECIES_GEODUDE},
- {15, 20, SPECIES_GEODUDE},
-};
-
-const struct WildPokemonInfo gRoute111_RockSmashMonsInfo = {20, gRoute111_RockSmashMons};
-
-const struct WildPokemon gRoute111_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_GOLDEEN},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_GOLDEEN},
- {10, 30, SPECIES_BARBOACH},
- {25, 30, SPECIES_BARBOACH},
- {30, 35, SPECIES_BARBOACH},
- {20, 25, SPECIES_BARBOACH},
- {35, 40, SPECIES_BARBOACH},
- {40, 45, SPECIES_BARBOACH},
-};
-
-const struct WildPokemonInfo gRoute111_FishingMonsInfo = {30, gRoute111_FishingMons};
-
-const struct WildPokemon gRoute112_LandMons[] =
-{
- {15, 15, SPECIES_NUMEL},
- {15, 15, SPECIES_NUMEL},
- {15, 15, SPECIES_MARILL},
- {14, 14, SPECIES_NUMEL},
- {14, 14, SPECIES_NUMEL},
- {14, 14, SPECIES_MARILL},
- {16, 16, SPECIES_NUMEL},
- {16, 16, SPECIES_MARILL},
- {16, 16, SPECIES_NUMEL},
- {16, 16, SPECIES_NUMEL},
- {16, 16, SPECIES_NUMEL},
- {16, 16, SPECIES_NUMEL},
-};
-
-const struct WildPokemonInfo gRoute112_LandMonsInfo = {20, gRoute112_LandMons};
-
-const struct WildPokemon gRoute113_LandMons[] =
-{
- {15, 15, SPECIES_SPINDA},
- {15, 15, SPECIES_SPINDA},
- {15, 15, SPECIES_SLUGMA},
- {14, 14, SPECIES_SPINDA},
- {14, 14, SPECIES_SPINDA},
- {14, 14, SPECIES_SLUGMA},
- {16, 16, SPECIES_SPINDA},
- {16, 16, SPECIES_SLUGMA},
- {16, 16, SPECIES_SPINDA},
- {16, 16, SPECIES_SKARMORY},
- {16, 16, SPECIES_SPINDA},
- {16, 16, SPECIES_SKARMORY},
-};
-
-const struct WildPokemonInfo gRoute113_LandMonsInfo = {20, gRoute113_LandMons};
-
-const struct WildPokemon gRoute114_LandMons[] =
-{
- {16, 16, SPECIES_SWABLU},
- {16, 16, SPECIES_LOTAD},
- {17, 17, SPECIES_SWABLU},
- {15, 15, SPECIES_SWABLU},
- {15, 15, SPECIES_LOTAD},
- {16, 16, SPECIES_LOMBRE},
- {16, 16, SPECIES_LOMBRE},
- {18, 18, SPECIES_LOMBRE},
- {17, 17, SPECIES_SEVIPER},
- {15, 15, SPECIES_SEVIPER},
- {17, 17, SPECIES_SEVIPER},
- {15, 15, SPECIES_NUZLEAF},
-};
-
-const struct WildPokemonInfo gRoute114_LandMonsInfo = {20, gRoute114_LandMons};
-
-const struct WildPokemon gRoute114_WaterMons[] =
-{
- {20, 30, SPECIES_MARILL},
- {10, 20, SPECIES_MARILL},
- {30, 35, SPECIES_MARILL},
- {5, 10, SPECIES_MARILL},
- {20, 30, SPECIES_GOLDEEN},
-};
-
-const struct WildPokemonInfo gRoute114_WaterMonsInfo = {4, gRoute114_WaterMons};
-
-const struct WildPokemon gRoute114_RockSmashMons[] =
-{
- {10, 15, SPECIES_GEODUDE},
- {5, 10, SPECIES_GEODUDE},
- {15, 20, SPECIES_GEODUDE},
- {15, 20, SPECIES_GEODUDE},
- {15, 20, SPECIES_GEODUDE},
-};
-
-const struct WildPokemonInfo gRoute114_RockSmashMonsInfo = {20, gRoute114_RockSmashMons};
-
-const struct WildPokemon gRoute114_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_GOLDEEN},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_GOLDEEN},
- {10, 30, SPECIES_BARBOACH},
- {25, 30, SPECIES_BARBOACH},
- {30, 35, SPECIES_BARBOACH},
- {20, 25, SPECIES_BARBOACH},
- {35, 40, SPECIES_BARBOACH},
- {40, 45, SPECIES_BARBOACH},
-};
-
-const struct WildPokemonInfo gRoute114_FishingMonsInfo = {30, gRoute114_FishingMons};
-
-const struct WildPokemon gRoute116_LandMons[] =
-{
- {6, 6, SPECIES_POOCHYENA},
- {6, 6, SPECIES_WHISMUR},
- {6, 6, SPECIES_NINCADA},
- {7, 7, SPECIES_ABRA},
- {7, 7, SPECIES_NINCADA},
- {6, 6, SPECIES_TAILLOW},
- {7, 7, SPECIES_TAILLOW},
- {8, 8, SPECIES_TAILLOW},
- {7, 7, SPECIES_POOCHYENA},
- {8, 8, SPECIES_POOCHYENA},
- {7, 7, SPECIES_SKITTY},
- {8, 8, SPECIES_SKITTY},
-};
-
-const struct WildPokemonInfo gRoute116_LandMonsInfo = {20, gRoute116_LandMons};
-
-const struct WildPokemon gRoute117_LandMons[] =
-{
- {13, 13, SPECIES_POOCHYENA},
- {13, 13, SPECIES_ODDISH},
- {14, 14, SPECIES_POOCHYENA},
- {14, 14, SPECIES_ODDISH},
- {13, 13, SPECIES_MARILL},
- {13, 13, SPECIES_ODDISH},
- {13, 13, SPECIES_ILLUMISE},
- {13, 13, SPECIES_ILLUMISE},
- {14, 14, SPECIES_ILLUMISE},
- {14, 14, SPECIES_ILLUMISE},
- {13, 13, SPECIES_VOLBEAT},
- {13, 13, SPECIES_SEEDOT},
-};
-
-const struct WildPokemonInfo gRoute117_LandMonsInfo = {20, gRoute117_LandMons};
-
-const struct WildPokemon gRoute117_WaterMons[] =
-{
- {20, 30, SPECIES_MARILL},
- {10, 20, SPECIES_MARILL},
- {30, 35, SPECIES_MARILL},
- {5, 10, SPECIES_MARILL},
- {20, 30, SPECIES_GOLDEEN},
-};
-
-const struct WildPokemonInfo gRoute117_WaterMonsInfo = {4, gRoute117_WaterMons};
-
-const struct WildPokemon gRoute117_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_GOLDEEN},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_GOLDEEN},
- {10, 30, SPECIES_CORPHISH},
- {25, 30, SPECIES_CORPHISH},
- {30, 35, SPECIES_CORPHISH},
- {20, 25, SPECIES_CORPHISH},
- {35, 40, SPECIES_CORPHISH},
- {40, 45, SPECIES_CORPHISH},
-};
-
-const struct WildPokemonInfo gRoute117_FishingMonsInfo = {30, gRoute117_FishingMons};
-
-const struct WildPokemon gRoute118_LandMons[] =
-{
- {24, 24, SPECIES_ZIGZAGOON},
- {24, 24, SPECIES_ELECTRIKE},
- {26, 26, SPECIES_ZIGZAGOON},
- {26, 26, SPECIES_ELECTRIKE},
- {26, 26, SPECIES_LINOONE},
- {26, 26, SPECIES_MANECTRIC},
- {25, 25, SPECIES_WINGULL},
- {25, 25, SPECIES_WINGULL},
- {26, 26, SPECIES_WINGULL},
- {26, 26, SPECIES_WINGULL},
- {27, 27, SPECIES_WINGULL},
- {25, 25, SPECIES_KECLEON},
-};
-
-const struct WildPokemonInfo gRoute118_LandMonsInfo = {20, gRoute118_LandMons};
-
-const struct WildPokemon gRoute118_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
-};
-
-const struct WildPokemonInfo gRoute118_WaterMonsInfo = {4, gRoute118_WaterMons};
-
-const struct WildPokemon gRoute118_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_CARVANHA},
- {30, 35, SPECIES_SHARPEDO},
- {30, 35, SPECIES_CARVANHA},
- {20, 25, SPECIES_CARVANHA},
- {35, 40, SPECIES_CARVANHA},
- {40, 45, SPECIES_CARVANHA},
-};
-
-const struct WildPokemonInfo gRoute118_FishingMonsInfo = {30, gRoute118_FishingMons};
-
-const struct WildPokemon gRoute124_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
-};
-
-const struct WildPokemonInfo gRoute124_WaterMonsInfo = {4, gRoute124_WaterMons};
-
-const struct WildPokemon gRoute124_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_SHARPEDO},
- {30, 35, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
-};
-
-const struct WildPokemonInfo gRoute124_FishingMonsInfo = {30, gRoute124_FishingMons};
-
-const struct WildPokemon gPetalburgWoods_LandMons[] =
-{
- {5, 5, SPECIES_POOCHYENA},
- {5, 5, SPECIES_WURMPLE},
- {5, 5, SPECIES_SHROOMISH},
- {6, 6, SPECIES_POOCHYENA},
- {5, 5, SPECIES_SILCOON},
- {5, 5, SPECIES_CASCOON},
- {6, 6, SPECIES_WURMPLE},
- {6, 6, SPECIES_SHROOMISH},
- {5, 5, SPECIES_TAILLOW},
- {5, 5, SPECIES_SLAKOTH},
- {6, 6, SPECIES_TAILLOW},
- {6, 6, SPECIES_SLAKOTH},
-};
-
-const struct WildPokemonInfo gPetalburgWoods_LandMonsInfo = {20, gPetalburgWoods_LandMons};
-
-const struct WildPokemon gRusturfTunnel_LandMons[] =
-{
- {6, 6, SPECIES_WHISMUR},
- {7, 7, SPECIES_WHISMUR},
- {6, 6, SPECIES_WHISMUR},
- {6, 6, SPECIES_WHISMUR},
- {7, 7, SPECIES_WHISMUR},
- {7, 7, SPECIES_WHISMUR},
- {5, 5, SPECIES_WHISMUR},
- {8, 8, SPECIES_WHISMUR},
- {5, 5, SPECIES_WHISMUR},
- {8, 8, SPECIES_WHISMUR},
- {5, 5, SPECIES_WHISMUR},
- {8, 8, SPECIES_WHISMUR},
-};
-
-const struct WildPokemonInfo gRusturfTunnel_LandMonsInfo = {10, gRusturfTunnel_LandMons};
-
-const struct WildPokemon gGraniteCave_1F_LandMons[] =
-{
- {7, 7, SPECIES_ZUBAT},
- {8, 8, SPECIES_MAKUHITA},
- {7, 7, SPECIES_MAKUHITA},
- {8, 8, SPECIES_ZUBAT},
- {9, 9, SPECIES_MAKUHITA},
- {8, 8, SPECIES_ABRA},
- {10, 10, SPECIES_MAKUHITA},
- {6, 6, SPECIES_MAKUHITA},
- {7, 7, SPECIES_GEODUDE},
- {8, 8, SPECIES_GEODUDE},
- {6, 6, SPECIES_GEODUDE},
- {9, 9, SPECIES_GEODUDE},
-};
-
-const struct WildPokemonInfo gGraniteCave_1F_LandMonsInfo = {10, gGraniteCave_1F_LandMons};
-
-const struct WildPokemon gGraniteCave_B1F_LandMons[] =
-{
- {9, 9, SPECIES_ZUBAT},
- {10, 10, SPECIES_ARON},
- {9, 9, SPECIES_ARON},
- {11, 11, SPECIES_ARON},
- {10, 10, SPECIES_ZUBAT},
- {9, 9, SPECIES_ABRA},
- {10, 10, SPECIES_MAKUHITA},
- {11, 11, SPECIES_MAKUHITA},
- {10, 10, SPECIES_SABLEYE},
- {10, 10, SPECIES_SABLEYE},
- {9, 9, SPECIES_SABLEYE},
- {11, 11, SPECIES_SABLEYE},
-};
-
-const struct WildPokemonInfo gGraniteCave_B1F_LandMonsInfo = {10, gGraniteCave_B1F_LandMons};
-
-const struct WildPokemon gMtPyre_1F_LandMons[] =
-{
- {27, 27, SPECIES_SHUPPET},
- {28, 28, SPECIES_SHUPPET},
- {26, 26, SPECIES_SHUPPET},
- {25, 25, SPECIES_SHUPPET},
- {29, 29, SPECIES_SHUPPET},
- {24, 24, SPECIES_SHUPPET},
- {23, 23, SPECIES_SHUPPET},
- {22, 22, SPECIES_SHUPPET},
- {29, 29, SPECIES_SHUPPET},
- {24, 24, SPECIES_SHUPPET},
- {29, 29, SPECIES_SHUPPET},
- {24, 24, SPECIES_SHUPPET},
-};
-
-const struct WildPokemonInfo gMtPyre_1F_LandMonsInfo = {10, gMtPyre_1F_LandMons};
-
-const struct WildPokemon gVictoryRoad_1F_LandMons[] =
-{
- {40, 40, SPECIES_GOLBAT},
- {40, 40, SPECIES_HARIYAMA},
- {40, 40, SPECIES_LAIRON},
- {40, 40, SPECIES_LOUDRED},
- {36, 36, SPECIES_ZUBAT},
- {36, 36, SPECIES_MAKUHITA},
- {38, 38, SPECIES_GOLBAT},
- {38, 38, SPECIES_HARIYAMA},
- {36, 36, SPECIES_ARON},
- {36, 36, SPECIES_WHISMUR},
- {36, 36, SPECIES_ARON},
- {36, 36, SPECIES_WHISMUR},
-};
-
-const struct WildPokemonInfo gVictoryRoad_1F_LandMonsInfo = {10, gVictoryRoad_1F_LandMons};
-
-const struct WildPokemon gSafariZone_South_LandMons[] =
-{
- {25, 25, SPECIES_ODDISH},
- {27, 27, SPECIES_ODDISH},
- {25, 25, SPECIES_GIRAFARIG},
- {27, 27, SPECIES_GIRAFARIG},
- {25, 25, SPECIES_NATU},
- {25, 25, SPECIES_DODUO},
- {25, 25, SPECIES_GLOOM},
- {27, 27, SPECIES_WOBBUFFET},
- {25, 25, SPECIES_PIKACHU},
- {27, 27, SPECIES_WOBBUFFET},
- {27, 27, SPECIES_PIKACHU},
- {29, 29, SPECIES_WOBBUFFET},
-};
-
-const struct WildPokemonInfo gSafariZone_South_LandMonsInfo = {25, gSafariZone_South_LandMons};
-
-const struct WildPokemon gUnderwater2_WaterMons[] =
-{
- {20, 30, SPECIES_CLAMPERL},
- {20, 30, SPECIES_CHINCHOU},
- {30, 35, SPECIES_CLAMPERL},
- {30, 35, SPECIES_RELICANTH},
- {30, 35, SPECIES_RELICANTH},
-};
-
-const struct WildPokemonInfo gUnderwater2_WaterMonsInfo = {4, gUnderwater2_WaterMons};
-
-const struct WildPokemon gAbandonedShip_Rooms_B1F_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {5, 35, SPECIES_TENTACOOL},
- {5, 35, SPECIES_TENTACOOL},
- {5, 35, SPECIES_TENTACOOL},
- {30, 35, SPECIES_TENTACRUEL},
-};
-
-const struct WildPokemonInfo gAbandonedShip_Rooms_B1F_WaterMonsInfo = {4, gAbandonedShip_Rooms_B1F_WaterMons};
-
-const struct WildPokemon gAbandonedShip_Rooms_B1F_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_TENTACOOL},
- {25, 30, SPECIES_TENTACOOL},
- {30, 35, SPECIES_TENTACOOL},
- {30, 35, SPECIES_TENTACRUEL},
- {25, 30, SPECIES_TENTACRUEL},
- {20, 25, SPECIES_TENTACRUEL},
-};
-
-const struct WildPokemonInfo gAbandonedShip_Rooms_B1F_FishingMonsInfo = {20, gAbandonedShip_Rooms_B1F_FishingMons};
-
-const struct WildPokemon gGraniteCave_B2F_LandMons[] =
-{
- {10, 10, SPECIES_ZUBAT},
- {11, 11, SPECIES_ARON},
- {10, 10, SPECIES_ARON},
- {11, 11, SPECIES_ZUBAT},
- {12, 12, SPECIES_ARON},
- {10, 10, SPECIES_ABRA},
- {10, 10, SPECIES_SABLEYE},
- {11, 11, SPECIES_SABLEYE},
- {12, 12, SPECIES_SABLEYE},
- {10, 10, SPECIES_SABLEYE},
- {12, 12, SPECIES_SABLEYE},
- {10, 10, SPECIES_SABLEYE},
-};
-
-const struct WildPokemonInfo gGraniteCave_B2F_LandMonsInfo = {10, gGraniteCave_B2F_LandMons};
-
-const struct WildPokemon gGraniteCave_B2F_RockSmashMons[] =
-{
- {10, 15, SPECIES_GEODUDE},
- {10, 20, SPECIES_NOSEPASS},
- {5, 10, SPECIES_GEODUDE},
- {15, 20, SPECIES_GEODUDE},
- {15, 20, SPECIES_GEODUDE},
-};
-
-const struct WildPokemonInfo gGraniteCave_B2F_RockSmashMonsInfo = {20, gGraniteCave_B2F_RockSmashMons};
-
-const struct WildPokemon gFieryPath_LandMons[] =
-{
- {15, 15, SPECIES_NUMEL},
- {15, 15, SPECIES_KOFFING},
- {16, 16, SPECIES_NUMEL},
- {15, 15, SPECIES_MACHOP},
- {15, 15, SPECIES_TORKOAL},
- {15, 15, SPECIES_SLUGMA},
- {16, 16, SPECIES_KOFFING},
- {16, 16, SPECIES_MACHOP},
- {14, 14, SPECIES_TORKOAL},
- {16, 16, SPECIES_TORKOAL},
- {14, 14, SPECIES_GRIMER},
- {14, 14, SPECIES_GRIMER},
-};
-
-const struct WildPokemonInfo gFieryPath_LandMonsInfo = {10, gFieryPath_LandMons};
-
-const struct WildPokemon gMeteorFalls_B1F_2R_LandMons[] =
-{
- {33, 33, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {30, 30, SPECIES_BAGON},
- {35, 35, SPECIES_SOLROCK},
- {35, 35, SPECIES_BAGON},
- {37, 37, SPECIES_SOLROCK},
- {25, 25, SPECIES_BAGON},
- {39, 39, SPECIES_SOLROCK},
- {38, 38, SPECIES_GOLBAT},
- {40, 40, SPECIES_GOLBAT},
- {38, 38, SPECIES_GOLBAT},
- {40, 40, SPECIES_GOLBAT},
-};
-
-const struct WildPokemonInfo gMeteorFalls_B1F_2R_LandMonsInfo = {10, gMeteorFalls_B1F_2R_LandMons};
-
-const struct WildPokemon gMeteorFalls_B1F_2R_WaterMons[] =
-{
- {30, 35, SPECIES_GOLBAT},
- {30, 35, SPECIES_GOLBAT},
- {25, 35, SPECIES_SOLROCK},
- {15, 25, SPECIES_SOLROCK},
- {5, 15, SPECIES_SOLROCK},
-};
-
-const struct WildPokemonInfo gMeteorFalls_B1F_2R_WaterMonsInfo = {4, gMeteorFalls_B1F_2R_WaterMons};
-
-const struct WildPokemon gMeteorFalls_B1F_2R_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_GOLDEEN},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_GOLDEEN},
- {10, 30, SPECIES_BARBOACH},
- {25, 30, SPECIES_BARBOACH},
- {30, 35, SPECIES_BARBOACH},
- {30, 35, SPECIES_WHISCASH},
- {35, 40, SPECIES_WHISCASH},
- {40, 45, SPECIES_WHISCASH},
-};
-
-const struct WildPokemonInfo gMeteorFalls_B1F_2R_FishingMonsInfo = {30, gMeteorFalls_B1F_2R_FishingMons};
-
-const struct WildPokemon gJaggedPass_LandMons[] =
-{
- {21, 21, SPECIES_NUMEL},
- {21, 21, SPECIES_NUMEL},
- {21, 21, SPECIES_MACHOP},
- {20, 20, SPECIES_NUMEL},
- {20, 20, SPECIES_SPOINK},
- {20, 20, SPECIES_MACHOP},
- {21, 21, SPECIES_SPOINK},
- {22, 22, SPECIES_MACHOP},
- {22, 22, SPECIES_NUMEL},
- {22, 22, SPECIES_SPOINK},
- {22, 22, SPECIES_NUMEL},
- {22, 22, SPECIES_SPOINK},
-};
-
-const struct WildPokemonInfo gJaggedPass_LandMonsInfo = {20, gJaggedPass_LandMons};
-
-const struct WildPokemon gRoute106_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
-};
-
-const struct WildPokemonInfo gRoute106_WaterMonsInfo = {4, gRoute106_WaterMons};
-
-const struct WildPokemon gRoute106_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_WAILMER},
- {20, 25, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
-};
-
-const struct WildPokemonInfo gRoute106_FishingMonsInfo = {30, gRoute106_FishingMons};
-
-const struct WildPokemon gRoute107_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
-};
-
-const struct WildPokemonInfo gRoute107_WaterMonsInfo = {4, gRoute107_WaterMons};
-
-const struct WildPokemon gRoute107_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_WAILMER},
- {20, 25, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
-};
-
-const struct WildPokemonInfo gRoute107_FishingMonsInfo = {30, gRoute107_FishingMons};
-
-const struct WildPokemon gRoute108_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
-};
-
-const struct WildPokemonInfo gRoute108_WaterMonsInfo = {4, gRoute108_WaterMons};
-
-const struct WildPokemon gRoute108_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_WAILMER},
- {20, 25, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
-};
-
-const struct WildPokemonInfo gRoute108_FishingMonsInfo = {30, gRoute108_FishingMons};
-
-const struct WildPokemon gRoute109_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
-};
-
-const struct WildPokemonInfo gRoute109_WaterMonsInfo = {4, gRoute109_WaterMons};
-
-const struct WildPokemon gRoute109_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_WAILMER},
- {20, 25, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
-};
-
-const struct WildPokemonInfo gRoute109_FishingMonsInfo = {30, gRoute109_FishingMons};
-
-const struct WildPokemon gRoute115_LandMons[] =
-{
- {23, 23, SPECIES_SWABLU},
- {23, 23, SPECIES_TAILLOW},
- {25, 25, SPECIES_SWABLU},
- {24, 24, SPECIES_TAILLOW},
- {25, 25, SPECIES_TAILLOW},
- {25, 25, SPECIES_SWELLOW},
- {24, 24, SPECIES_JIGGLYPUFF},
- {25, 25, SPECIES_JIGGLYPUFF},
- {24, 24, SPECIES_WINGULL},
- {24, 24, SPECIES_WINGULL},
- {26, 26, SPECIES_WINGULL},
- {25, 25, SPECIES_WINGULL},
-};
-
-const struct WildPokemonInfo gRoute115_LandMonsInfo = {20, gRoute115_LandMons};
-
-const struct WildPokemon gRoute115_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
-};
-
-const struct WildPokemonInfo gRoute115_WaterMonsInfo = {4, gRoute115_WaterMons};
-
-const struct WildPokemon gRoute115_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_WAILMER},
- {20, 25, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
-};
-
-const struct WildPokemonInfo gRoute115_FishingMonsInfo = {30, gRoute115_FishingMons};
-
-const struct WildPokemon gNewMauville_Inside_LandMons[] =
-{
- {24, 24, SPECIES_VOLTORB},
- {24, 24, SPECIES_MAGNEMITE},
- {25, 25, SPECIES_VOLTORB},
- {25, 25, SPECIES_MAGNEMITE},
- {23, 23, SPECIES_VOLTORB},
- {23, 23, SPECIES_MAGNEMITE},
- {26, 26, SPECIES_VOLTORB},
- {26, 26, SPECIES_MAGNEMITE},
- {22, 22, SPECIES_VOLTORB},
- {22, 22, SPECIES_MAGNEMITE},
- {26, 26, SPECIES_ELECTRODE},
- {26, 26, SPECIES_MAGNETON},
-};
-
-const struct WildPokemonInfo gNewMauville_Inside_LandMonsInfo = {10, gNewMauville_Inside_LandMons};
-
-const struct WildPokemon gRoute119_LandMons[] =
-{
- {25, 25, SPECIES_ZIGZAGOON},
- {25, 25, SPECIES_LINOONE},
- {27, 27, SPECIES_ZIGZAGOON},
- {25, 25, SPECIES_ODDISH},
- {27, 27, SPECIES_LINOONE},
- {26, 26, SPECIES_ODDISH},
- {27, 27, SPECIES_ODDISH},
- {24, 24, SPECIES_ODDISH},
- {25, 25, SPECIES_TROPIUS},
- {26, 26, SPECIES_TROPIUS},
- {27, 27, SPECIES_TROPIUS},
- {25, 25, SPECIES_KECLEON},
-};
-
-const struct WildPokemonInfo gRoute119_LandMonsInfo = {15, gRoute119_LandMons};
-
-const struct WildPokemon gRoute119_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
-};
-
-const struct WildPokemonInfo gRoute119_WaterMonsInfo = {4, gRoute119_WaterMons};
-
-const struct WildPokemon gRoute119_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_CARVANHA},
- {25, 30, SPECIES_CARVANHA},
- {30, 35, SPECIES_CARVANHA},
- {20, 25, SPECIES_CARVANHA},
- {35, 40, SPECIES_CARVANHA},
- {40, 45, SPECIES_CARVANHA},
-};
-
-const struct WildPokemonInfo gRoute119_FishingMonsInfo = {30, gRoute119_FishingMons};
-
-const struct WildPokemon gRoute120_LandMons[] =
-{
- {25, 25, SPECIES_POOCHYENA},
- {25, 25, SPECIES_MIGHTYENA},
- {27, 27, SPECIES_MIGHTYENA},
- {25, 25, SPECIES_ODDISH},
- {25, 25, SPECIES_MARILL},
- {26, 26, SPECIES_ODDISH},
- {27, 27, SPECIES_ODDISH},
- {27, 27, SPECIES_MARILL},
- {25, 25, SPECIES_ABSOL},
- {27, 27, SPECIES_ABSOL},
- {25, 25, SPECIES_KECLEON},
- {25, 25, SPECIES_SEEDOT},
-};
-
-const struct WildPokemonInfo gRoute120_LandMonsInfo = {20, gRoute120_LandMons};
-
-const struct WildPokemon gRoute120_WaterMons[] =
-{
- {20, 30, SPECIES_MARILL},
- {10, 20, SPECIES_MARILL},
- {30, 35, SPECIES_MARILL},
- {5, 10, SPECIES_MARILL},
- {20, 30, SPECIES_GOLDEEN},
-};
-
-const struct WildPokemonInfo gRoute120_WaterMonsInfo = {4, gRoute120_WaterMons};
-
-const struct WildPokemon gRoute120_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_GOLDEEN},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_GOLDEEN},
- {10, 30, SPECIES_BARBOACH},
- {25, 30, SPECIES_BARBOACH},
- {30, 35, SPECIES_BARBOACH},
- {20, 25, SPECIES_BARBOACH},
- {35, 40, SPECIES_BARBOACH},
- {40, 45, SPECIES_BARBOACH},
-};
-
-const struct WildPokemonInfo gRoute120_FishingMonsInfo = {30, gRoute120_FishingMons};
-
-const struct WildPokemon gRoute121_LandMons[] =
-{
- {26, 26, SPECIES_POOCHYENA},
- {26, 26, SPECIES_SHUPPET},
- {26, 26, SPECIES_MIGHTYENA},
- {28, 28, SPECIES_SHUPPET},
- {28, 28, SPECIES_MIGHTYENA},
- {26, 26, SPECIES_ODDISH},
- {28, 28, SPECIES_ODDISH},
- {28, 28, SPECIES_GLOOM},
- {26, 26, SPECIES_WINGULL},
- {27, 27, SPECIES_WINGULL},
- {28, 28, SPECIES_WINGULL},
- {25, 25, SPECIES_KECLEON},
-};
-
-const struct WildPokemonInfo gRoute121_LandMonsInfo = {20, gRoute121_LandMons};
-
-const struct WildPokemon gRoute121_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
-};
-
-const struct WildPokemonInfo gRoute121_WaterMonsInfo = {4, gRoute121_WaterMons};
-
-const struct WildPokemon gRoute121_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_WAILMER},
- {20, 25, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
-};
-
-const struct WildPokemonInfo gRoute121_FishingMonsInfo = {30, gRoute121_FishingMons};
-
-const struct WildPokemon gRoute122_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
-};
-
-const struct WildPokemonInfo gRoute122_WaterMonsInfo = {4, gRoute122_WaterMons};
-
-const struct WildPokemon gRoute122_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_SHARPEDO},
- {30, 35, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
-};
-
-const struct WildPokemonInfo gRoute122_FishingMonsInfo = {30, gRoute122_FishingMons};
-
-const struct WildPokemon gRoute123_LandMons[] =
-{
- {26, 26, SPECIES_POOCHYENA},
- {26, 26, SPECIES_SHUPPET},
- {26, 26, SPECIES_MIGHTYENA},
- {28, 28, SPECIES_SHUPPET},
- {28, 28, SPECIES_MIGHTYENA},
- {26, 26, SPECIES_ODDISH},
- {28, 28, SPECIES_ODDISH},
- {28, 28, SPECIES_GLOOM},
- {26, 26, SPECIES_WINGULL},
- {27, 27, SPECIES_WINGULL},
- {28, 28, SPECIES_WINGULL},
- {25, 25, SPECIES_KECLEON},
-};
-
-const struct WildPokemonInfo gRoute123_LandMonsInfo = {20, gRoute123_LandMons};
-
-const struct WildPokemon gRoute123_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
-};
-
-const struct WildPokemonInfo gRoute123_WaterMonsInfo = {4, gRoute123_WaterMons};
-
-const struct WildPokemon gRoute123_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_WAILMER},
- {20, 25, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
-};
-
-const struct WildPokemonInfo gRoute123_FishingMonsInfo = {30, gRoute123_FishingMons};
-
-const struct WildPokemon gMtPyre_2F_LandMons[] =
-{
- {27, 27, SPECIES_SHUPPET},
- {28, 28, SPECIES_SHUPPET},
- {26, 26, SPECIES_SHUPPET},
- {25, 25, SPECIES_SHUPPET},
- {29, 29, SPECIES_SHUPPET},
- {24, 24, SPECIES_SHUPPET},
- {23, 23, SPECIES_SHUPPET},
- {22, 22, SPECIES_SHUPPET},
- {29, 29, SPECIES_SHUPPET},
- {24, 24, SPECIES_SHUPPET},
- {29, 29, SPECIES_SHUPPET},
- {24, 24, SPECIES_SHUPPET},
-};
-
-const struct WildPokemonInfo gMtPyre_2F_LandMonsInfo = {10, gMtPyre_2F_LandMons};
-
-const struct WildPokemon gMtPyre_3F_LandMons[] =
-{
- {27, 27, SPECIES_SHUPPET},
- {28, 28, SPECIES_SHUPPET},
- {26, 26, SPECIES_SHUPPET},
- {25, 25, SPECIES_SHUPPET},
- {29, 29, SPECIES_SHUPPET},
- {24, 24, SPECIES_SHUPPET},
- {23, 23, SPECIES_SHUPPET},
- {22, 22, SPECIES_SHUPPET},
- {29, 29, SPECIES_SHUPPET},
- {24, 24, SPECIES_SHUPPET},
- {29, 29, SPECIES_SHUPPET},
- {24, 24, SPECIES_SHUPPET},
-};
-
-const struct WildPokemonInfo gMtPyre_3F_LandMonsInfo = {10, gMtPyre_3F_LandMons};
-
-const struct WildPokemon gMtPyre_4F_LandMons[] =
-{
- {27, 27, SPECIES_SHUPPET},
- {28, 28, SPECIES_SHUPPET},
- {26, 26, SPECIES_SHUPPET},
- {25, 25, SPECIES_SHUPPET},
- {29, 29, SPECIES_SHUPPET},
- {24, 24, SPECIES_SHUPPET},
- {23, 23, SPECIES_SHUPPET},
- {22, 22, SPECIES_SHUPPET},
- {27, 27, SPECIES_DUSKULL},
- {27, 27, SPECIES_DUSKULL},
- {25, 25, SPECIES_DUSKULL},
- {29, 29, SPECIES_DUSKULL},
-};
-
-const struct WildPokemonInfo gMtPyre_4F_LandMonsInfo = {10, gMtPyre_4F_LandMons};
-
-const struct WildPokemon gMtPyre_5F_LandMons[] =
-{
- {27, 27, SPECIES_SHUPPET},
- {28, 28, SPECIES_SHUPPET},
- {26, 26, SPECIES_SHUPPET},
- {25, 25, SPECIES_SHUPPET},
- {29, 29, SPECIES_SHUPPET},
- {24, 24, SPECIES_SHUPPET},
- {23, 23, SPECIES_SHUPPET},
- {22, 22, SPECIES_SHUPPET},
- {27, 27, SPECIES_DUSKULL},
- {27, 27, SPECIES_DUSKULL},
- {25, 25, SPECIES_DUSKULL},
- {29, 29, SPECIES_DUSKULL},
-};
-
-const struct WildPokemonInfo gMtPyre_5F_LandMonsInfo = {10, gMtPyre_5F_LandMons};
-
-const struct WildPokemon gMtPyre_6F_LandMons[] =
-{
- {27, 27, SPECIES_SHUPPET},
- {28, 28, SPECIES_SHUPPET},
- {26, 26, SPECIES_SHUPPET},
- {25, 25, SPECIES_SHUPPET},
- {29, 29, SPECIES_SHUPPET},
- {24, 24, SPECIES_SHUPPET},
- {23, 23, SPECIES_SHUPPET},
- {22, 22, SPECIES_SHUPPET},
- {27, 27, SPECIES_DUSKULL},
- {27, 27, SPECIES_DUSKULL},
- {25, 25, SPECIES_DUSKULL},
- {29, 29, SPECIES_DUSKULL},
-};
-
-const struct WildPokemonInfo gMtPyre_6F_LandMonsInfo = {10, gMtPyre_6F_LandMons};
-
-const struct WildPokemon gMtPyre_Exterior_LandMons[] =
-{
- {27, 27, SPECIES_SHUPPET},
- {27, 27, SPECIES_SHUPPET},
- {28, 28, SPECIES_SHUPPET},
- {29, 29, SPECIES_SHUPPET},
- {29, 29, SPECIES_VULPIX},
- {27, 27, SPECIES_VULPIX},
- {29, 29, SPECIES_VULPIX},
- {25, 25, SPECIES_VULPIX},
- {27, 27, SPECIES_WINGULL},
- {27, 27, SPECIES_WINGULL},
- {26, 26, SPECIES_WINGULL},
- {28, 28, SPECIES_WINGULL},
-};
-
-const struct WildPokemonInfo gMtPyre_Exterior_LandMonsInfo = {10, gMtPyre_Exterior_LandMons};
-
-const struct WildPokemon gMtPyre_Summit_LandMons[] =
-{
- {28, 28, SPECIES_SHUPPET},
- {29, 29, SPECIES_SHUPPET},
- {27, 27, SPECIES_SHUPPET},
- {26, 26, SPECIES_SHUPPET},
- {30, 30, SPECIES_SHUPPET},
- {25, 25, SPECIES_SHUPPET},
- {24, 24, SPECIES_SHUPPET},
- {28, 28, SPECIES_DUSKULL},
- {26, 26, SPECIES_DUSKULL},
- {30, 30, SPECIES_DUSKULL},
- {28, 28, SPECIES_CHIMECHO},
- {28, 28, SPECIES_CHIMECHO},
-};
-
-const struct WildPokemonInfo gMtPyre_Summit_LandMonsInfo = {10, gMtPyre_Summit_LandMons};
-
-const struct WildPokemon gGraniteCave_StevensRoom_LandMons[] =
-{
- {7, 7, SPECIES_ZUBAT},
- {8, 8, SPECIES_MAKUHITA},
- {7, 7, SPECIES_MAKUHITA},
- {8, 8, SPECIES_ZUBAT},
- {9, 9, SPECIES_MAKUHITA},
- {8, 8, SPECIES_ABRA},
- {10, 10, SPECIES_MAKUHITA},
- {6, 6, SPECIES_MAKUHITA},
- {7, 7, SPECIES_ARON},
- {8, 8, SPECIES_ARON},
- {7, 7, SPECIES_ARON},
- {8, 8, SPECIES_ARON},
-};
-
-const struct WildPokemonInfo gGraniteCave_StevensRoom_LandMonsInfo = {10, gGraniteCave_StevensRoom_LandMons};
-
-const struct WildPokemon gRoute125_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
-};
-
-const struct WildPokemonInfo gRoute125_WaterMonsInfo = {4, gRoute125_WaterMons};
-
-const struct WildPokemon gRoute125_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_SHARPEDO},
- {30, 35, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
-};
-
-const struct WildPokemonInfo gRoute125_FishingMonsInfo = {30, gRoute125_FishingMons};
-
-const struct WildPokemon gRoute126_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
-};
-
-const struct WildPokemonInfo gRoute126_WaterMonsInfo = {4, gRoute126_WaterMons};
-
-const struct WildPokemon gRoute126_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_SHARPEDO},
- {30, 35, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
-};
-
-const struct WildPokemonInfo gRoute126_FishingMonsInfo = {30, gRoute126_FishingMons};
-
-const struct WildPokemon gRoute127_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
-};
-
-const struct WildPokemonInfo gRoute127_WaterMonsInfo = {4, gRoute127_WaterMons};
-
-const struct WildPokemon gRoute127_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_SHARPEDO},
- {30, 35, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
-};
-
-const struct WildPokemonInfo gRoute127_FishingMonsInfo = {30, gRoute127_FishingMons};
-
-const struct WildPokemon gRoute128_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
-};
-
-const struct WildPokemonInfo gRoute128_WaterMonsInfo = {4, gRoute128_WaterMons};
-
-const struct WildPokemon gRoute128_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_LUVDISC},
- {10, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_LUVDISC},
- {30, 35, SPECIES_WAILMER},
- {30, 35, SPECIES_CORSOLA},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
-};
-
-const struct WildPokemonInfo gRoute128_FishingMonsInfo = {30, gRoute128_FishingMons};
-
-const struct WildPokemon gRoute129_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_WAILORD},
-};
-
-const struct WildPokemonInfo gRoute129_WaterMonsInfo = {4, gRoute129_WaterMons};
-
-const struct WildPokemon gRoute129_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_SHARPEDO},
- {30, 35, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
-};
-
-const struct WildPokemonInfo gRoute129_FishingMonsInfo = {30, gRoute129_FishingMons};
-
-const struct WildPokemon gRoute130_LandMons[] =
-{
- {30, 30, SPECIES_WYNAUT},
- {35, 35, SPECIES_WYNAUT},
- {25, 25, SPECIES_WYNAUT},
- {40, 40, SPECIES_WYNAUT},
- {20, 20, SPECIES_WYNAUT},
- {45, 45, SPECIES_WYNAUT},
- {15, 15, SPECIES_WYNAUT},
- {50, 50, SPECIES_WYNAUT},
- {10, 10, SPECIES_WYNAUT},
- {5, 5, SPECIES_WYNAUT},
- {10, 10, SPECIES_WYNAUT},
- {5, 5, SPECIES_WYNAUT},
-};
-
-const struct WildPokemonInfo gRoute130_LandMonsInfo = {20, gRoute130_LandMons};
-
-const struct WildPokemon gRoute130_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
-};
-
-const struct WildPokemonInfo gRoute130_WaterMonsInfo = {4, gRoute130_WaterMons};
-
-const struct WildPokemon gRoute130_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_SHARPEDO},
- {30, 35, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
-};
-
-const struct WildPokemonInfo gRoute130_FishingMonsInfo = {30, gRoute130_FishingMons};
-
-const struct WildPokemon gRoute131_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
-};
-
-const struct WildPokemonInfo gRoute131_WaterMonsInfo = {4, gRoute131_WaterMons};
-
-const struct WildPokemon gRoute131_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_SHARPEDO},
- {30, 35, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
-};
-
-const struct WildPokemonInfo gRoute131_FishingMonsInfo = {30, gRoute131_FishingMons};
-
-const struct WildPokemon gRoute132_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
-};
-
-const struct WildPokemonInfo gRoute132_WaterMonsInfo = {4, gRoute132_WaterMons};
-
-const struct WildPokemon gRoute132_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_SHARPEDO},
- {30, 35, SPECIES_WAILMER},
- {25, 30, SPECIES_HORSEA},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
-};
-
-const struct WildPokemonInfo gRoute132_FishingMonsInfo = {30, gRoute132_FishingMons};
-
-const struct WildPokemon gRoute133_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
-};
-
-const struct WildPokemonInfo gRoute133_WaterMonsInfo = {4, gRoute133_WaterMons};
-
-const struct WildPokemon gRoute133_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_SHARPEDO},
- {30, 35, SPECIES_WAILMER},
- {25, 30, SPECIES_HORSEA},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
-};
-
-const struct WildPokemonInfo gRoute133_FishingMonsInfo = {30, gRoute133_FishingMons};
-
-const struct WildPokemon gRoute134_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
-};
-
-const struct WildPokemonInfo gRoute134_WaterMonsInfo = {4, gRoute134_WaterMons};
-
-const struct WildPokemon gRoute134_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_SHARPEDO},
- {30, 35, SPECIES_WAILMER},
- {25, 30, SPECIES_HORSEA},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
-};
-
-const struct WildPokemonInfo gRoute134_FishingMonsInfo = {30, gRoute134_FishingMons};
-
-const struct WildPokemon gAbandonedShip_HiddenFloorCorridors_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {5, 35, SPECIES_TENTACOOL},
- {5, 35, SPECIES_TENTACOOL},
- {5, 35, SPECIES_TENTACOOL},
- {30, 35, SPECIES_TENTACRUEL},
-};
-
-const struct WildPokemonInfo gAbandonedShip_HiddenFloorCorridors_WaterMonsInfo = {4, gAbandonedShip_HiddenFloorCorridors_WaterMons};
-
-const struct WildPokemon gAbandonedShip_HiddenFloorCorridors_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_TENTACOOL},
- {25, 30, SPECIES_TENTACOOL},
- {30, 35, SPECIES_TENTACOOL},
- {30, 35, SPECIES_TENTACRUEL},
- {25, 30, SPECIES_TENTACRUEL},
- {20, 25, SPECIES_TENTACRUEL},
-};
-
-const struct WildPokemonInfo gAbandonedShip_HiddenFloorCorridors_FishingMonsInfo = {20, gAbandonedShip_HiddenFloorCorridors_FishingMons};
-
-const struct WildPokemon gSeafloorCavern_Room1_LandMons[] =
-{
- {30, 30, SPECIES_ZUBAT},
- {31, 31, SPECIES_ZUBAT},
- {32, 32, SPECIES_ZUBAT},
- {33, 33, SPECIES_ZUBAT},
- {28, 28, SPECIES_ZUBAT},
- {29, 29, SPECIES_ZUBAT},
- {34, 34, SPECIES_ZUBAT},
- {35, 35, SPECIES_ZUBAT},
- {34, 34, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {33, 33, SPECIES_GOLBAT},
- {36, 36, SPECIES_GOLBAT},
-};
-
-const struct WildPokemonInfo gSeafloorCavern_Room1_LandMonsInfo = {4, gSeafloorCavern_Room1_LandMons};
-
-const struct WildPokemon gSeafloorCavern_Room2_LandMons[] =
-{
- {30, 30, SPECIES_ZUBAT},
- {31, 31, SPECIES_ZUBAT},
- {32, 32, SPECIES_ZUBAT},
- {33, 33, SPECIES_ZUBAT},
- {28, 28, SPECIES_ZUBAT},
- {29, 29, SPECIES_ZUBAT},
- {34, 34, SPECIES_ZUBAT},
- {35, 35, SPECIES_ZUBAT},
- {34, 34, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {33, 33, SPECIES_GOLBAT},
- {36, 36, SPECIES_GOLBAT},
-};
-
-const struct WildPokemonInfo gSeafloorCavern_Room2_LandMonsInfo = {4, gSeafloorCavern_Room2_LandMons};
-
-const struct WildPokemon gSeafloorCavern_Room3_LandMons[] =
-{
- {30, 30, SPECIES_ZUBAT},
- {31, 31, SPECIES_ZUBAT},
- {32, 32, SPECIES_ZUBAT},
- {33, 33, SPECIES_ZUBAT},
- {28, 28, SPECIES_ZUBAT},
- {29, 29, SPECIES_ZUBAT},
- {34, 34, SPECIES_ZUBAT},
- {35, 35, SPECIES_ZUBAT},
- {34, 34, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {33, 33, SPECIES_GOLBAT},
- {36, 36, SPECIES_GOLBAT},
-};
-
-const struct WildPokemonInfo gSeafloorCavern_Room3_LandMonsInfo = {4, gSeafloorCavern_Room3_LandMons};
-
-const struct WildPokemon gSeafloorCavern_Room4_LandMons[] =
-{
- {30, 30, SPECIES_ZUBAT},
- {31, 31, SPECIES_ZUBAT},
- {32, 32, SPECIES_ZUBAT},
- {33, 33, SPECIES_ZUBAT},
- {28, 28, SPECIES_ZUBAT},
- {29, 29, SPECIES_ZUBAT},
- {34, 34, SPECIES_ZUBAT},
- {35, 35, SPECIES_ZUBAT},
- {34, 34, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {33, 33, SPECIES_GOLBAT},
- {36, 36, SPECIES_GOLBAT},
-};
-
-const struct WildPokemonInfo gSeafloorCavern_Room4_LandMonsInfo = {4, gSeafloorCavern_Room4_LandMons};
-
-const struct WildPokemon gSeafloorCavern_Room5_LandMons[] =
-{
- {30, 30, SPECIES_ZUBAT},
- {31, 31, SPECIES_ZUBAT},
- {32, 32, SPECIES_ZUBAT},
- {33, 33, SPECIES_ZUBAT},
- {28, 28, SPECIES_ZUBAT},
- {29, 29, SPECIES_ZUBAT},
- {34, 34, SPECIES_ZUBAT},
- {35, 35, SPECIES_ZUBAT},
- {34, 34, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {33, 33, SPECIES_GOLBAT},
- {36, 36, SPECIES_GOLBAT},
-};
-
-const struct WildPokemonInfo gSeafloorCavern_Room5_LandMonsInfo = {4, gSeafloorCavern_Room5_LandMons};
-
-const struct WildPokemon gSeafloorCavern_Room6_LandMons[] =
-{
- {30, 30, SPECIES_ZUBAT},
- {31, 31, SPECIES_ZUBAT},
- {32, 32, SPECIES_ZUBAT},
- {33, 33, SPECIES_ZUBAT},
- {28, 28, SPECIES_ZUBAT},
- {29, 29, SPECIES_ZUBAT},
- {34, 34, SPECIES_ZUBAT},
- {35, 35, SPECIES_ZUBAT},
- {34, 34, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {33, 33, SPECIES_GOLBAT},
- {36, 36, SPECIES_GOLBAT},
-};
-
-const struct WildPokemonInfo gSeafloorCavern_Room6_LandMonsInfo = {4, gSeafloorCavern_Room6_LandMons};
-
-const struct WildPokemon gSeafloorCavern_Room6_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {5, 35, SPECIES_ZUBAT},
- {30, 35, SPECIES_ZUBAT},
- {30, 35, SPECIES_GOLBAT},
- {30, 35, SPECIES_GOLBAT},
-};
-
-const struct WildPokemonInfo gSeafloorCavern_Room6_WaterMonsInfo = {4, gSeafloorCavern_Room6_WaterMons};
-
-const struct WildPokemon gSeafloorCavern_Room6_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_WAILMER},
- {20, 25, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
-};
-
-const struct WildPokemonInfo gSeafloorCavern_Room6_FishingMonsInfo = {10, gSeafloorCavern_Room6_FishingMons};
-
-const struct WildPokemon gSeafloorCavern_Room7_LandMons[] =
-{
- {30, 30, SPECIES_ZUBAT},
- {31, 31, SPECIES_ZUBAT},
- {32, 32, SPECIES_ZUBAT},
- {33, 33, SPECIES_ZUBAT},
- {28, 28, SPECIES_ZUBAT},
- {29, 29, SPECIES_ZUBAT},
- {34, 34, SPECIES_ZUBAT},
- {35, 35, SPECIES_ZUBAT},
- {34, 34, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {33, 33, SPECIES_GOLBAT},
- {36, 36, SPECIES_GOLBAT},
-};
-
-const struct WildPokemonInfo gSeafloorCavern_Room7_LandMonsInfo = {4, gSeafloorCavern_Room7_LandMons};
-
-const struct WildPokemon gSeafloorCavern_Room7_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {5, 35, SPECIES_ZUBAT},
- {30, 35, SPECIES_ZUBAT},
- {30, 35, SPECIES_GOLBAT},
- {30, 35, SPECIES_GOLBAT},
-};
-
-const struct WildPokemonInfo gSeafloorCavern_Room7_WaterMonsInfo = {4, gSeafloorCavern_Room7_WaterMons};
-
-const struct WildPokemon gSeafloorCavern_Room7_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_WAILMER},
- {20, 25, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
-};
-
-const struct WildPokemonInfo gSeafloorCavern_Room7_FishingMonsInfo = {10, gSeafloorCavern_Room7_FishingMons};
-
-const struct WildPokemon gSeafloorCavern_Room8_LandMons[] =
-{
- {30, 30, SPECIES_ZUBAT},
- {31, 31, SPECIES_ZUBAT},
- {32, 32, SPECIES_ZUBAT},
- {33, 33, SPECIES_ZUBAT},
- {28, 28, SPECIES_ZUBAT},
- {29, 29, SPECIES_ZUBAT},
- {34, 34, SPECIES_ZUBAT},
- {35, 35, SPECIES_ZUBAT},
- {34, 34, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {33, 33, SPECIES_GOLBAT},
- {36, 36, SPECIES_GOLBAT},
-};
-
-const struct WildPokemonInfo gSeafloorCavern_Room8_LandMonsInfo = {4, gSeafloorCavern_Room8_LandMons};
-
-const struct WildPokemon gSeafloorCavern_Entrance_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {5, 35, SPECIES_ZUBAT},
- {30, 35, SPECIES_ZUBAT},
- {30, 35, SPECIES_GOLBAT},
- {30, 35, SPECIES_GOLBAT},
-};
-
-const struct WildPokemonInfo gSeafloorCavern_Entrance_WaterMonsInfo = {4, gSeafloorCavern_Entrance_WaterMons};
-
-const struct WildPokemon gSeafloorCavern_Entrance_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_WAILMER},
- {20, 25, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
-};
-
-const struct WildPokemonInfo gSeafloorCavern_Entrance_FishingMonsInfo = {10, gSeafloorCavern_Entrance_FishingMons};
-
-const struct WildPokemon gCaveOfOrigin_Entrance_LandMons[] =
-{
- {30, 30, SPECIES_ZUBAT},
- {31, 31, SPECIES_ZUBAT},
- {32, 32, SPECIES_ZUBAT},
- {33, 33, SPECIES_ZUBAT},
- {28, 28, SPECIES_ZUBAT},
- {29, 29, SPECIES_ZUBAT},
- {34, 34, SPECIES_ZUBAT},
- {35, 35, SPECIES_ZUBAT},
- {34, 34, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {33, 33, SPECIES_GOLBAT},
- {36, 36, SPECIES_GOLBAT},
-};
-
-const struct WildPokemonInfo gCaveOfOrigin_Entrance_LandMonsInfo = {4, gCaveOfOrigin_Entrance_LandMons};
-
-const struct WildPokemon gCaveOfOrigin_1F_LandMons[] =
-{
- {30, 30, SPECIES_ZUBAT},
- {31, 31, SPECIES_ZUBAT},
- {32, 32, SPECIES_ZUBAT},
- {30, 30, SPECIES_SABLEYE},
- {32, 32, SPECIES_SABLEYE},
- {34, 34, SPECIES_SABLEYE},
- {33, 33, SPECIES_ZUBAT},
- {34, 34, SPECIES_ZUBAT},
- {34, 34, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {33, 33, SPECIES_GOLBAT},
- {36, 36, SPECIES_GOLBAT},
-};
-
-const struct WildPokemonInfo gCaveOfOrigin_1F_LandMonsInfo = {4, gCaveOfOrigin_1F_LandMons};
-
-const struct WildPokemon gCaveOfOrigin_UnusedRubySapphireMap1_LandMons[] =
-{
- {30, 30, SPECIES_ZUBAT},
- {31, 31, SPECIES_ZUBAT},
- {32, 32, SPECIES_ZUBAT},
- {30, 30, SPECIES_SABLEYE},
- {32, 32, SPECIES_SABLEYE},
- {34, 34, SPECIES_SABLEYE},
- {33, 33, SPECIES_ZUBAT},
- {34, 34, SPECIES_ZUBAT},
- {34, 34, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {33, 33, SPECIES_GOLBAT},
- {36, 36, SPECIES_GOLBAT},
-};
-
-const struct WildPokemonInfo gCaveOfOrigin_UnusedRubySapphireMap1_LandMonsInfo = {4, gCaveOfOrigin_UnusedRubySapphireMap1_LandMons};
-
-const struct WildPokemon gCaveOfOrigin_UnusedRubySapphireMap2_LandMons[] =
-{
- {30, 30, SPECIES_ZUBAT},
- {31, 31, SPECIES_ZUBAT},
- {32, 32, SPECIES_ZUBAT},
- {30, 30, SPECIES_SABLEYE},
- {32, 32, SPECIES_SABLEYE},
- {34, 34, SPECIES_SABLEYE},
- {33, 33, SPECIES_ZUBAT},
- {34, 34, SPECIES_ZUBAT},
- {34, 34, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {33, 33, SPECIES_GOLBAT},
- {36, 36, SPECIES_GOLBAT},
-};
-
-const struct WildPokemonInfo gCaveOfOrigin_UnusedRubySapphireMap2_LandMonsInfo = {4, gCaveOfOrigin_UnusedRubySapphireMap2_LandMons};
-
-const struct WildPokemon gCaveOfOrigin_UnusedRubySapphireMap3_LandMons[] =
-{
- {30, 30, SPECIES_ZUBAT},
- {31, 31, SPECIES_ZUBAT},
- {32, 32, SPECIES_ZUBAT},
- {30, 30, SPECIES_SABLEYE},
- {32, 32, SPECIES_SABLEYE},
- {34, 34, SPECIES_SABLEYE},
- {33, 33, SPECIES_ZUBAT},
- {34, 34, SPECIES_ZUBAT},
- {34, 34, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {33, 33, SPECIES_GOLBAT},
- {36, 36, SPECIES_GOLBAT},
-};
-
-const struct WildPokemonInfo gCaveOfOrigin_UnusedRubySapphireMap3_LandMonsInfo = {4, gCaveOfOrigin_UnusedRubySapphireMap3_LandMons};
-
-const struct WildPokemon gNewMauville_Entrance_LandMons[] =
-{
- {24, 24, SPECIES_VOLTORB},
- {24, 24, SPECIES_MAGNEMITE},
- {25, 25, SPECIES_VOLTORB},
- {25, 25, SPECIES_MAGNEMITE},
- {23, 23, SPECIES_VOLTORB},
- {23, 23, SPECIES_MAGNEMITE},
- {26, 26, SPECIES_VOLTORB},
- {26, 26, SPECIES_MAGNEMITE},
- {22, 22, SPECIES_VOLTORB},
- {22, 22, SPECIES_MAGNEMITE},
- {22, 22, SPECIES_VOLTORB},
- {22, 22, SPECIES_MAGNEMITE},
-};
-
-const struct WildPokemonInfo gNewMauville_Entrance_LandMonsInfo = {10, gNewMauville_Entrance_LandMons};
-
-const struct WildPokemon gSafariZone_Southwest_LandMons[] =
-{
- {25, 25, SPECIES_ODDISH},
- {27, 27, SPECIES_ODDISH},
- {25, 25, SPECIES_GIRAFARIG},
- {27, 27, SPECIES_GIRAFARIG},
- {25, 25, SPECIES_NATU},
- {27, 27, SPECIES_DODUO},
- {25, 25, SPECIES_GLOOM},
- {27, 27, SPECIES_WOBBUFFET},
- {25, 25, SPECIES_PIKACHU},
- {27, 27, SPECIES_WOBBUFFET},
- {27, 27, SPECIES_PIKACHU},
- {29, 29, SPECIES_WOBBUFFET},
-};
-
-const struct WildPokemonInfo gSafariZone_Southwest_LandMonsInfo = {25, gSafariZone_Southwest_LandMons};
-
-const struct WildPokemon gSafariZone_Southwest_WaterMons[] =
-{
- {20, 30, SPECIES_PSYDUCK},
- {20, 30, SPECIES_PSYDUCK},
- {30, 35, SPECIES_PSYDUCK},
- {30, 35, SPECIES_PSYDUCK},
- {30, 35, SPECIES_PSYDUCK},
-};
-
-const struct WildPokemonInfo gSafariZone_Southwest_WaterMonsInfo = {9, gSafariZone_Southwest_WaterMons};
-
-const struct WildPokemon gSafariZone_Southwest_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_GOLDEEN},
- {10, 30, SPECIES_MAGIKARP},
- {10, 25, SPECIES_GOLDEEN},
- {10, 30, SPECIES_GOLDEEN},
- {25, 30, SPECIES_GOLDEEN},
- {30, 35, SPECIES_GOLDEEN},
- {30, 35, SPECIES_SEAKING},
- {35, 40, SPECIES_SEAKING},
- {25, 30, SPECIES_SEAKING},
-};
-
-const struct WildPokemonInfo gSafariZone_Southwest_FishingMonsInfo = {35, gSafariZone_Southwest_FishingMons};
-
-const struct WildPokemon gSafariZone_North_LandMons[] =
-{
- {27, 27, SPECIES_PHANPY},
- {27, 27, SPECIES_ODDISH},
- {29, 29, SPECIES_PHANPY},
- {29, 29, SPECIES_ODDISH},
- {27, 27, SPECIES_NATU},
- {29, 29, SPECIES_GLOOM},
- {31, 31, SPECIES_GLOOM},
- {29, 29, SPECIES_NATU},
- {29, 29, SPECIES_XATU},
- {27, 27, SPECIES_HERACROSS},
- {31, 31, SPECIES_XATU},
- {29, 29, SPECIES_HERACROSS},
-};
-
-const struct WildPokemonInfo gSafariZone_North_LandMonsInfo = {25, gSafariZone_North_LandMons};
-
-const struct WildPokemon gSafariZone_North_RockSmashMons[] =
-{
- {10, 15, SPECIES_GEODUDE},
- {5, 10, SPECIES_GEODUDE},
- {15, 20, SPECIES_GEODUDE},
- {20, 25, SPECIES_GEODUDE},
- {25, 30, SPECIES_GEODUDE},
-};
-
-const struct WildPokemonInfo gSafariZone_North_RockSmashMonsInfo = {25, gSafariZone_North_RockSmashMons};
-
-const struct WildPokemon gSafariZone_Northwest_LandMons[] =
-{
- {27, 27, SPECIES_RHYHORN},
- {27, 27, SPECIES_ODDISH},
- {29, 29, SPECIES_RHYHORN},
- {29, 29, SPECIES_ODDISH},
- {27, 27, SPECIES_DODUO},
- {29, 29, SPECIES_GLOOM},
- {31, 31, SPECIES_GLOOM},
- {29, 29, SPECIES_DODUO},
- {29, 29, SPECIES_DODRIO},
- {27, 27, SPECIES_PINSIR},
- {31, 31, SPECIES_DODRIO},
- {29, 29, SPECIES_PINSIR},
-};
-
-const struct WildPokemonInfo gSafariZone_Northwest_LandMonsInfo = {25, gSafariZone_Northwest_LandMons};
-
-const struct WildPokemon gSafariZone_Northwest_WaterMons[] =
-{
- {20, 30, SPECIES_PSYDUCK},
- {20, 30, SPECIES_PSYDUCK},
- {30, 35, SPECIES_PSYDUCK},
- {30, 35, SPECIES_GOLDUCK},
- {25, 40, SPECIES_GOLDUCK},
-};
-
-const struct WildPokemonInfo gSafariZone_Northwest_WaterMonsInfo = {9, gSafariZone_Northwest_WaterMons};
-
-const struct WildPokemon gSafariZone_Northwest_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_GOLDEEN},
- {10, 30, SPECIES_MAGIKARP},
- {10, 25, SPECIES_GOLDEEN},
- {10, 30, SPECIES_GOLDEEN},
- {25, 30, SPECIES_GOLDEEN},
- {30, 35, SPECIES_GOLDEEN},
- {30, 35, SPECIES_SEAKING},
- {35, 40, SPECIES_SEAKING},
- {25, 30, SPECIES_SEAKING},
-};
-
-const struct WildPokemonInfo gSafariZone_Northwest_FishingMonsInfo = {35, gSafariZone_Northwest_FishingMons};
-
-const struct WildPokemon gVictoryRoad_B1F_LandMons[] =
-{
- {40, 40, SPECIES_GOLBAT},
- {40, 40, SPECIES_HARIYAMA},
- {40, 40, SPECIES_LAIRON},
- {40, 40, SPECIES_LAIRON},
- {38, 38, SPECIES_GOLBAT},
- {38, 38, SPECIES_HARIYAMA},
- {42, 42, SPECIES_GOLBAT},
- {42, 42, SPECIES_HARIYAMA},
- {42, 42, SPECIES_LAIRON},
- {38, 38, SPECIES_MAWILE},
- {42, 42, SPECIES_LAIRON},
- {38, 38, SPECIES_MAWILE},
-};
-
-const struct WildPokemonInfo gVictoryRoad_B1F_LandMonsInfo = {10, gVictoryRoad_B1F_LandMons};
-
-const struct WildPokemon gVictoryRoad_B1F_RockSmashMons[] =
-{
- {30, 40, SPECIES_GRAVELER},
- {30, 40, SPECIES_GEODUDE},
- {35, 40, SPECIES_GRAVELER},
- {35, 40, SPECIES_GRAVELER},
- {35, 40, SPECIES_GRAVELER},
-};
-
-const struct WildPokemonInfo gVictoryRoad_B1F_RockSmashMonsInfo = {20, gVictoryRoad_B1F_RockSmashMons};
-
-const struct WildPokemon gVictoryRoad_B2F_LandMons[] =
-{
- {40, 40, SPECIES_GOLBAT},
- {40, 40, SPECIES_SABLEYE},
- {40, 40, SPECIES_LAIRON},
- {40, 40, SPECIES_LAIRON},
- {42, 42, SPECIES_GOLBAT},
- {42, 42, SPECIES_SABLEYE},
- {44, 44, SPECIES_GOLBAT},
- {44, 44, SPECIES_SABLEYE},
- {42, 42, SPECIES_LAIRON},
- {42, 42, SPECIES_MAWILE},
- {44, 44, SPECIES_LAIRON},
- {44, 44, SPECIES_MAWILE},
-};
-
-const struct WildPokemonInfo gVictoryRoad_B2F_LandMonsInfo = {10, gVictoryRoad_B2F_LandMons};
-
-const struct WildPokemon gVictoryRoad_B2F_WaterMons[] =
-{
- {30, 35, SPECIES_GOLBAT},
- {25, 30, SPECIES_GOLBAT},
- {35, 40, SPECIES_GOLBAT},
- {35, 40, SPECIES_GOLBAT},
- {35, 40, SPECIES_GOLBAT},
-};
-
-const struct WildPokemonInfo gVictoryRoad_B2F_WaterMonsInfo = {4, gVictoryRoad_B2F_WaterMons};
-
-const struct WildPokemon gVictoryRoad_B2F_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_GOLDEEN},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_GOLDEEN},
- {10, 30, SPECIES_BARBOACH},
- {25, 30, SPECIES_BARBOACH},
- {30, 35, SPECIES_BARBOACH},
- {30, 35, SPECIES_WHISCASH},
- {35, 40, SPECIES_WHISCASH},
- {40, 45, SPECIES_WHISCASH},
-};
-
-const struct WildPokemonInfo gVictoryRoad_B2F_FishingMonsInfo = {30, gVictoryRoad_B2F_FishingMons};
-
-const struct WildPokemon gMeteorFalls_1F_1R_LandMons[] =
-{
- {16, 16, SPECIES_ZUBAT},
- {17, 17, SPECIES_ZUBAT},
- {18, 18, SPECIES_ZUBAT},
- {15, 15, SPECIES_ZUBAT},
- {14, 14, SPECIES_ZUBAT},
- {16, 16, SPECIES_SOLROCK},
- {18, 18, SPECIES_SOLROCK},
- {14, 14, SPECIES_SOLROCK},
- {19, 19, SPECIES_ZUBAT},
- {20, 20, SPECIES_ZUBAT},
- {19, 19, SPECIES_ZUBAT},
- {20, 20, SPECIES_ZUBAT},
-};
-
-const struct WildPokemonInfo gMeteorFalls_1F_1R_LandMonsInfo = {10, gMeteorFalls_1F_1R_LandMons};
-
-const struct WildPokemon gMeteorFalls_1F_1R_WaterMons[] =
-{
- {5, 35, SPECIES_ZUBAT},
- {30, 35, SPECIES_ZUBAT},
- {25, 35, SPECIES_SOLROCK},
- {15, 25, SPECIES_SOLROCK},
- {5, 15, SPECIES_SOLROCK},
-};
-
-const struct WildPokemonInfo gMeteorFalls_1F_1R_WaterMonsInfo = {4, gMeteorFalls_1F_1R_WaterMons};
-
-const struct WildPokemon gMeteorFalls_1F_1R_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_GOLDEEN},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_GOLDEEN},
- {10, 30, SPECIES_BARBOACH},
- {25, 30, SPECIES_BARBOACH},
- {30, 35, SPECIES_BARBOACH},
- {20, 25, SPECIES_BARBOACH},
- {35, 40, SPECIES_BARBOACH},
- {40, 45, SPECIES_BARBOACH},
-};
-
-const struct WildPokemonInfo gMeteorFalls_1F_1R_FishingMonsInfo = {30, gMeteorFalls_1F_1R_FishingMons};
-
-const struct WildPokemon gMeteorFalls_1F_2R_LandMons[] =
-{
- {33, 33, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {33, 33, SPECIES_GOLBAT},
- {35, 35, SPECIES_SOLROCK},
- {33, 33, SPECIES_SOLROCK},
- {37, 37, SPECIES_SOLROCK},
- {35, 35, SPECIES_GOLBAT},
- {39, 39, SPECIES_SOLROCK},
- {38, 38, SPECIES_GOLBAT},
- {40, 40, SPECIES_GOLBAT},
- {38, 38, SPECIES_GOLBAT},
- {40, 40, SPECIES_GOLBAT},
-};
-
-const struct WildPokemonInfo gMeteorFalls_1F_2R_LandMonsInfo = {10, gMeteorFalls_1F_2R_LandMons};
-
-const struct WildPokemon gMeteorFalls_1F_2R_WaterMons[] =
-{
- {30, 35, SPECIES_GOLBAT},
- {30, 35, SPECIES_GOLBAT},
- {25, 35, SPECIES_SOLROCK},
- {15, 25, SPECIES_SOLROCK},
- {5, 15, SPECIES_SOLROCK},
-};
-
-const struct WildPokemonInfo gMeteorFalls_1F_2R_WaterMonsInfo = {4, gMeteorFalls_1F_2R_WaterMons};
-
-const struct WildPokemon gMeteorFalls_1F_2R_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_GOLDEEN},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_GOLDEEN},
- {10, 30, SPECIES_BARBOACH},
- {25, 30, SPECIES_BARBOACH},
- {30, 35, SPECIES_BARBOACH},
- {30, 35, SPECIES_WHISCASH},
- {35, 40, SPECIES_WHISCASH},
- {40, 45, SPECIES_WHISCASH},
-};
-
-const struct WildPokemonInfo gMeteorFalls_1F_2R_FishingMonsInfo = {30, gMeteorFalls_1F_2R_FishingMons};
-
-const struct WildPokemon gMeteorFalls_B1F_1R_LandMons[] =
-{
- {33, 33, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {33, 33, SPECIES_GOLBAT},
- {35, 35, SPECIES_SOLROCK},
- {33, 33, SPECIES_SOLROCK},
- {37, 37, SPECIES_SOLROCK},
- {35, 35, SPECIES_GOLBAT},
- {39, 39, SPECIES_SOLROCK},
- {38, 38, SPECIES_GOLBAT},
- {40, 40, SPECIES_GOLBAT},
- {38, 38, SPECIES_GOLBAT},
- {40, 40, SPECIES_GOLBAT},
-};
-
-const struct WildPokemonInfo gMeteorFalls_B1F_1R_LandMonsInfo = {10, gMeteorFalls_B1F_1R_LandMons};
-
-const struct WildPokemon gMeteorFalls_B1F_1R_WaterMons[] =
-{
- {30, 35, SPECIES_GOLBAT},
- {30, 35, SPECIES_GOLBAT},
- {25, 35, SPECIES_SOLROCK},
- {15, 25, SPECIES_SOLROCK},
- {5, 15, SPECIES_SOLROCK},
-};
-
-const struct WildPokemonInfo gMeteorFalls_B1F_1R_WaterMonsInfo = {4, gMeteorFalls_B1F_1R_WaterMons};
-
-const struct WildPokemon gMeteorFalls_B1F_1R_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_GOLDEEN},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_GOLDEEN},
- {10, 30, SPECIES_BARBOACH},
- {25, 30, SPECIES_BARBOACH},
- {30, 35, SPECIES_BARBOACH},
- {30, 35, SPECIES_WHISCASH},
- {35, 40, SPECIES_WHISCASH},
- {40, 45, SPECIES_WHISCASH},
-};
-
-const struct WildPokemonInfo gMeteorFalls_B1F_1R_FishingMonsInfo = {30, gMeteorFalls_B1F_1R_FishingMons};
-
-const struct WildPokemon gShoalCave_LowTideStairsRoom_LandMons[] =
-{
- {26, 26, SPECIES_ZUBAT},
- {26, 26, SPECIES_SPHEAL},
- {28, 28, SPECIES_ZUBAT},
- {28, 28, SPECIES_SPHEAL},
- {30, 30, SPECIES_ZUBAT},
- {30, 30, SPECIES_SPHEAL},
- {32, 32, SPECIES_ZUBAT},
- {32, 32, SPECIES_SPHEAL},
- {32, 32, SPECIES_GOLBAT},
- {32, 32, SPECIES_SPHEAL},
- {32, 32, SPECIES_GOLBAT},
- {32, 32, SPECIES_SPHEAL},
-};
-
-const struct WildPokemonInfo gShoalCave_LowTideStairsRoom_LandMonsInfo = {10, gShoalCave_LowTideStairsRoom_LandMons};
-
-const struct WildPokemon gShoalCave_LowTideLowerRoom_LandMons[] =
-{
- {26, 26, SPECIES_ZUBAT},
- {26, 26, SPECIES_SPHEAL},
- {28, 28, SPECIES_ZUBAT},
- {28, 28, SPECIES_SPHEAL},
- {30, 30, SPECIES_ZUBAT},
- {30, 30, SPECIES_SPHEAL},
- {32, 32, SPECIES_ZUBAT},
- {32, 32, SPECIES_SPHEAL},
- {32, 32, SPECIES_GOLBAT},
- {32, 32, SPECIES_SPHEAL},
- {32, 32, SPECIES_GOLBAT},
- {32, 32, SPECIES_SPHEAL},
-};
-
-const struct WildPokemonInfo gShoalCave_LowTideLowerRoom_LandMonsInfo = {10, gShoalCave_LowTideLowerRoom_LandMons};
-
-const struct WildPokemon gShoalCave_LowTideInnerRoom_LandMons[] =
-{
- {26, 26, SPECIES_ZUBAT},
- {26, 26, SPECIES_SPHEAL},
- {28, 28, SPECIES_ZUBAT},
- {28, 28, SPECIES_SPHEAL},
- {30, 30, SPECIES_ZUBAT},
- {30, 30, SPECIES_SPHEAL},
- {32, 32, SPECIES_ZUBAT},
- {32, 32, SPECIES_SPHEAL},
- {32, 32, SPECIES_GOLBAT},
- {32, 32, SPECIES_SPHEAL},
- {32, 32, SPECIES_GOLBAT},
- {32, 32, SPECIES_SPHEAL},
-};
-
-const struct WildPokemonInfo gShoalCave_LowTideInnerRoom_LandMonsInfo = {10, gShoalCave_LowTideInnerRoom_LandMons};
-
-const struct WildPokemon gShoalCave_LowTideInnerRoom_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {5, 35, SPECIES_ZUBAT},
- {25, 30, SPECIES_SPHEAL},
- {25, 30, SPECIES_SPHEAL},
- {25, 35, SPECIES_SPHEAL},
-};
-
-const struct WildPokemonInfo gShoalCave_LowTideInnerRoom_WaterMonsInfo = {4, gShoalCave_LowTideInnerRoom_WaterMons};
-
-const struct WildPokemon gShoalCave_LowTideInnerRoom_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_WAILMER},
- {20, 25, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
-};
-
-const struct WildPokemonInfo gShoalCave_LowTideInnerRoom_FishingMonsInfo = {10, gShoalCave_LowTideInnerRoom_FishingMons};
-
-const struct WildPokemon gShoalCave_LowTideEntranceRoom_LandMons[] =
-{
- {26, 26, SPECIES_ZUBAT},
- {26, 26, SPECIES_SPHEAL},
- {28, 28, SPECIES_ZUBAT},
- {28, 28, SPECIES_SPHEAL},
- {30, 30, SPECIES_ZUBAT},
- {30, 30, SPECIES_SPHEAL},
- {32, 32, SPECIES_ZUBAT},
- {32, 32, SPECIES_SPHEAL},
- {32, 32, SPECIES_GOLBAT},
- {32, 32, SPECIES_SPHEAL},
- {32, 32, SPECIES_GOLBAT},
- {32, 32, SPECIES_SPHEAL},
-};
-
-const struct WildPokemonInfo gShoalCave_LowTideEntranceRoom_LandMonsInfo = {10, gShoalCave_LowTideEntranceRoom_LandMons};
-
-const struct WildPokemon gShoalCave_LowTideEntranceRoom_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {5, 35, SPECIES_ZUBAT},
- {25, 30, SPECIES_SPHEAL},
- {25, 30, SPECIES_SPHEAL},
- {25, 35, SPECIES_SPHEAL},
-};
-
-const struct WildPokemonInfo gShoalCave_LowTideEntranceRoom_WaterMonsInfo = {4, gShoalCave_LowTideEntranceRoom_WaterMons};
-
-const struct WildPokemon gShoalCave_LowTideEntranceRoom_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_WAILMER},
- {20, 25, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
-};
-
-const struct WildPokemonInfo gShoalCave_LowTideEntranceRoom_FishingMonsInfo = {10, gShoalCave_LowTideEntranceRoom_FishingMons};
-
-const struct WildPokemon gLilycoveCity_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
-};
-
-const struct WildPokemonInfo gLilycoveCity_WaterMonsInfo = {4, gLilycoveCity_WaterMons};
-
-const struct WildPokemon gLilycoveCity_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_WAILMER},
- {25, 30, SPECIES_STARYU},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
-};
-
-const struct WildPokemonInfo gLilycoveCity_FishingMonsInfo = {10, gLilycoveCity_FishingMons};
-
-const struct WildPokemon gDewfordTown_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
-};
-
-const struct WildPokemonInfo gDewfordTown_WaterMonsInfo = {4, gDewfordTown_WaterMons};
-
-const struct WildPokemon gDewfordTown_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_WAILMER},
- {20, 25, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
-};
-
-const struct WildPokemonInfo gDewfordTown_FishingMonsInfo = {10, gDewfordTown_FishingMons};
-
-const struct WildPokemon gSlateportCity_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
-};
-
-const struct WildPokemonInfo gSlateportCity_WaterMonsInfo = {4, gSlateportCity_WaterMons};
-
-const struct WildPokemon gSlateportCity_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_WAILMER},
- {20, 25, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
-};
-
-const struct WildPokemonInfo gSlateportCity_FishingMonsInfo = {10, gSlateportCity_FishingMons};
-
-const struct WildPokemon gMossdeepCity_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
-};
-
-const struct WildPokemonInfo gMossdeepCity_WaterMonsInfo = {4, gMossdeepCity_WaterMons};
-
-const struct WildPokemon gMossdeepCity_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_SHARPEDO},
- {30, 35, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
-};
-
-const struct WildPokemonInfo gMossdeepCity_FishingMonsInfo = {10, gMossdeepCity_FishingMons};
-
-const struct WildPokemon gPacifidlogTown_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
-};
-
-const struct WildPokemonInfo gPacifidlogTown_WaterMonsInfo = {4, gPacifidlogTown_WaterMons};
-
-const struct WildPokemon gPacifidlogTown_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_SHARPEDO},
- {30, 35, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
-};
-
-const struct WildPokemonInfo gPacifidlogTown_FishingMonsInfo = {10, gPacifidlogTown_FishingMons};
-
-const struct WildPokemon gEverGrandeCity_WaterMons[] =
-{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
-};
-
-const struct WildPokemonInfo gEverGrandeCity_WaterMonsInfo = {4, gEverGrandeCity_WaterMons};
-
-const struct WildPokemon gEverGrandeCity_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_LUVDISC},
- {10, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_LUVDISC},
- {30, 35, SPECIES_WAILMER},
- {30, 35, SPECIES_CORSOLA},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
-};
-
-const struct WildPokemonInfo gEverGrandeCity_FishingMonsInfo = {10, gEverGrandeCity_FishingMons};
-
-const struct WildPokemon gPetalburgCity_WaterMons[] =
-{
- {20, 30, SPECIES_MARILL},
- {10, 20, SPECIES_MARILL},
- {30, 35, SPECIES_MARILL},
- {5, 10, SPECIES_MARILL},
- {5, 10, SPECIES_MARILL},
-};
-
-const struct WildPokemonInfo gPetalburgCity_WaterMonsInfo = {1, gPetalburgCity_WaterMons};
-
-const struct WildPokemon gPetalburgCity_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_GOLDEEN},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_GOLDEEN},
- {10, 30, SPECIES_CORPHISH},
- {25, 30, SPECIES_CORPHISH},
- {30, 35, SPECIES_CORPHISH},
- {20, 25, SPECIES_CORPHISH},
- {35, 40, SPECIES_CORPHISH},
- {40, 45, SPECIES_CORPHISH},
-};
-
-const struct WildPokemonInfo gPetalburgCity_FishingMonsInfo = {10, gPetalburgCity_FishingMons};
-
-const struct WildPokemon gUnderwater1_WaterMons[] =
-{
- {20, 30, SPECIES_CLAMPERL},
- {20, 30, SPECIES_CHINCHOU},
- {30, 35, SPECIES_CLAMPERL},
- {30, 35, SPECIES_RELICANTH},
- {30, 35, SPECIES_RELICANTH},
-};
-
-const struct WildPokemonInfo gUnderwater1_WaterMonsInfo = {4, gUnderwater1_WaterMons};
-
-const struct WildPokemon gShoalCave_LowTideIceRoom_LandMons[] =
-{
- {26, 26, SPECIES_ZUBAT},
- {26, 26, SPECIES_SPHEAL},
- {28, 28, SPECIES_ZUBAT},
- {28, 28, SPECIES_SPHEAL},
- {30, 30, SPECIES_ZUBAT},
- {30, 30, SPECIES_SPHEAL},
- {26, 26, SPECIES_SNORUNT},
- {32, 32, SPECIES_SPHEAL},
- {30, 30, SPECIES_GOLBAT},
- {28, 28, SPECIES_SNORUNT},
- {32, 32, SPECIES_GOLBAT},
- {30, 30, SPECIES_SNORUNT},
-};
-
-const struct WildPokemonInfo gShoalCave_LowTideIceRoom_LandMonsInfo = {10, gShoalCave_LowTideIceRoom_LandMons};
-
-const struct WildPokemon gSkyPillar_1F_LandMons[] =
-{
- {33, 33, SPECIES_SABLEYE},
- {34, 34, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {34, 34, SPECIES_SABLEYE},
- {36, 36, SPECIES_CLAYDOL},
- {37, 37, SPECIES_BANETTE},
- {38, 38, SPECIES_BANETTE},
- {36, 36, SPECIES_CLAYDOL},
- {37, 37, SPECIES_CLAYDOL},
- {38, 38, SPECIES_CLAYDOL},
- {37, 37, SPECIES_CLAYDOL},
- {38, 38, SPECIES_CLAYDOL},
-};
-
-const struct WildPokemonInfo gSkyPillar_1F_LandMonsInfo = {10, gSkyPillar_1F_LandMons};
-
-const struct WildPokemon gSootopolisCity_WaterMons[] =
-{
- {5, 35, SPECIES_MAGIKARP},
- {10, 30, SPECIES_MAGIKARP},
- {15, 25, SPECIES_MAGIKARP},
- {25, 30, SPECIES_MAGIKARP},
- {25, 30, SPECIES_MAGIKARP},
-};
-
-const struct WildPokemonInfo gSootopolisCity_WaterMonsInfo = {1, gSootopolisCity_WaterMons};
-
-const struct WildPokemon gSootopolisCity_FishingMons[] =
-{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_MAGIKARP},
- {30, 35, SPECIES_MAGIKARP},
- {30, 35, SPECIES_MAGIKARP},
- {35, 40, SPECIES_GYARADOS},
- {35, 45, SPECIES_GYARADOS},
- {5, 45, SPECIES_GYARADOS},
-};
-
-const struct WildPokemonInfo gSootopolisCity_FishingMonsInfo = {10, gSootopolisCity_FishingMons};
-
-const struct WildPokemon gSkyPillar_3F_LandMons[] =
-{
- {33, 33, SPECIES_SABLEYE},
- {34, 34, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {34, 34, SPECIES_SABLEYE},
- {36, 36, SPECIES_CLAYDOL},
- {37, 37, SPECIES_BANETTE},
- {38, 38, SPECIES_BANETTE},
- {36, 36, SPECIES_CLAYDOL},
- {37, 37, SPECIES_CLAYDOL},
- {38, 38, SPECIES_CLAYDOL},
- {37, 37, SPECIES_CLAYDOL},
- {38, 38, SPECIES_CLAYDOL},
-};
-
-const struct WildPokemonInfo gSkyPillar_3F_LandMonsInfo = {10, gSkyPillar_3F_LandMons};
-
-const struct WildPokemon gSkyPillar_5F_LandMons[] =
-{
- {33, 33, SPECIES_SABLEYE},
- {34, 34, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {34, 34, SPECIES_SABLEYE},
- {36, 36, SPECIES_CLAYDOL},
- {37, 37, SPECIES_BANETTE},
- {38, 38, SPECIES_BANETTE},
- {36, 36, SPECIES_CLAYDOL},
- {37, 37, SPECIES_CLAYDOL},
- {38, 38, SPECIES_ALTARIA},
- {39, 39, SPECIES_ALTARIA},
- {39, 39, SPECIES_ALTARIA},
-};
-
-const struct WildPokemonInfo gSkyPillar_5F_LandMonsInfo = {10, gSkyPillar_5F_LandMons};
-
-const struct WildPokemon gSafariZone_Southeast_LandMons[] =
-{
- {33, 33, SPECIES_SUNKERN},
- {34, 34, SPECIES_MAREEP},
- {35, 35, SPECIES_SUNKERN},
- {36, 36, SPECIES_MAREEP},
- {34, 34, SPECIES_AIPOM},
- {33, 33, SPECIES_SPINARAK},
- {35, 35, SPECIES_HOOTHOOT},
- {34, 34, SPECIES_SNUBBULL},
- {36, 36, SPECIES_STANTLER},
- {37, 37, SPECIES_GLIGAR},
- {39, 39, SPECIES_STANTLER},
- {40, 40, SPECIES_GLIGAR},
-};
-
-const struct WildPokemonInfo gSafariZone_Southeast_LandMonsInfo = {25, gSafariZone_Southeast_LandMons};
-
-const struct WildPokemon gSafariZone_Southeast_WaterMons[] =
-{
- {25, 30, SPECIES_WOOPER},
- {25, 30, SPECIES_MARILL},
- {25, 30, SPECIES_MARILL},
- {30, 35, SPECIES_MARILL},
- {35, 40, SPECIES_QUAGSIRE},
-};
-
-const struct WildPokemonInfo gSafariZone_Southeast_WaterMonsInfo = {9, gSafariZone_Southeast_WaterMons};
-
-const struct WildPokemon gSafariZone_Southeast_FishingMons[] =
-{
- {25, 30, SPECIES_MAGIKARP},
- {25, 30, SPECIES_GOLDEEN},
- {25, 30, SPECIES_MAGIKARP},
- {25, 30, SPECIES_GOLDEEN},
- {30, 35, SPECIES_REMORAID},
- {25, 30, SPECIES_GOLDEEN},
- {25, 30, SPECIES_REMORAID},
- {30, 35, SPECIES_REMORAID},
- {30, 35, SPECIES_REMORAID},
- {35, 40, SPECIES_OCTILLERY},
-};
-
-const struct WildPokemonInfo gSafariZone_Southeast_FishingMonsInfo = {35, gSafariZone_Southeast_FishingMons};
-
-const struct WildPokemon gSafariZone_Northeast_LandMons[] =
-{
- {33, 33, SPECIES_AIPOM},
- {34, 34, SPECIES_TEDDIURSA},
- {35, 35, SPECIES_AIPOM},
- {36, 36, SPECIES_TEDDIURSA},
- {34, 34, SPECIES_SUNKERN},
- {33, 33, SPECIES_LEDYBA},
- {35, 35, SPECIES_HOOTHOOT},
- {34, 34, SPECIES_PINECO},
- {36, 36, SPECIES_HOUNDOUR},
- {37, 37, SPECIES_MILTANK},
- {39, 39, SPECIES_HOUNDOUR},
- {40, 40, SPECIES_MILTANK},
-};
-
-const struct WildPokemonInfo gSafariZone_Northeast_LandMonsInfo = {25, gSafariZone_Northeast_LandMons};
-
-const struct WildPokemon gSafariZone_Northeast_RockSmashMons[] =
-{
- {25, 30, SPECIES_SHUCKLE},
- {20, 25, SPECIES_SHUCKLE},
- {30, 35, SPECIES_SHUCKLE},
- {30, 35, SPECIES_SHUCKLE},
- {35, 40, SPECIES_SHUCKLE},
-};
-
-const struct WildPokemonInfo gSafariZone_Northeast_RockSmashMonsInfo = {25, gSafariZone_Northeast_RockSmashMons};
-
-const struct WildPokemon gMagmaHideout_1F_LandMons[] =
-{
- {27, 27, SPECIES_GEODUDE},
- {28, 28, SPECIES_TORKOAL},
- {28, 28, SPECIES_GEODUDE},
- {30, 30, SPECIES_TORKOAL},
- {29, 29, SPECIES_GEODUDE},
- {30, 30, SPECIES_GEODUDE},
- {30, 30, SPECIES_GEODUDE},
- {30, 30, SPECIES_GRAVELER},
- {30, 30, SPECIES_GRAVELER},
- {31, 31, SPECIES_GRAVELER},
- {32, 32, SPECIES_GRAVELER},
- {33, 33, SPECIES_GRAVELER},
-};
-
-const struct WildPokemonInfo gMagmaHideout_1F_LandMonsInfo = {10, gMagmaHideout_1F_LandMons};
-
-const struct WildPokemon gMagmaHideout_2F_1R_LandMons[] =
-{
- {27, 27, SPECIES_GEODUDE},
- {28, 28, SPECIES_TORKOAL},
- {28, 28, SPECIES_GEODUDE},
- {30, 30, SPECIES_TORKOAL},
- {29, 29, SPECIES_GEODUDE},
- {30, 30, SPECIES_GEODUDE},
- {30, 30, SPECIES_GEODUDE},
- {30, 30, SPECIES_GRAVELER},
- {30, 30, SPECIES_GRAVELER},
- {31, 31, SPECIES_GRAVELER},
- {32, 32, SPECIES_GRAVELER},
- {33, 33, SPECIES_GRAVELER},
-};
-
-const struct WildPokemonInfo gMagmaHideout_2F_1R_LandMonsInfo = {10, gMagmaHideout_2F_1R_LandMons};
-
-const struct WildPokemon gMagmaHideout_2F_2R_LandMons[] =
-{
- {27, 27, SPECIES_GEODUDE},
- {28, 28, SPECIES_TORKOAL},
- {28, 28, SPECIES_GEODUDE},
- {30, 30, SPECIES_TORKOAL},
- {29, 29, SPECIES_GEODUDE},
- {30, 30, SPECIES_GEODUDE},
- {30, 30, SPECIES_GEODUDE},
- {30, 30, SPECIES_GRAVELER},
- {30, 30, SPECIES_GRAVELER},
- {31, 31, SPECIES_GRAVELER},
- {32, 32, SPECIES_GRAVELER},
- {33, 33, SPECIES_GRAVELER},
-};
-
-const struct WildPokemonInfo gMagmaHideout_2F_2R_LandMonsInfo = {10, gMagmaHideout_2F_2R_LandMons};
-
-const struct WildPokemon gMagmaHideout_3F_1R_LandMons[] =
-{
- {27, 27, SPECIES_GEODUDE},
- {28, 28, SPECIES_TORKOAL},
- {28, 28, SPECIES_GEODUDE},
- {30, 30, SPECIES_TORKOAL},
- {29, 29, SPECIES_GEODUDE},
- {30, 30, SPECIES_GEODUDE},
- {30, 30, SPECIES_GEODUDE},
- {30, 30, SPECIES_GRAVELER},
- {30, 30, SPECIES_GRAVELER},
- {31, 31, SPECIES_GRAVELER},
- {32, 32, SPECIES_GRAVELER},
- {33, 33, SPECIES_GRAVELER},
-};
-
-const struct WildPokemonInfo gMagmaHideout_3F_1R_LandMonsInfo = {10, gMagmaHideout_3F_1R_LandMons};
-
-const struct WildPokemon gMagmaHideout_3F_2R_LandMons[] =
-{
- {27, 27, SPECIES_GEODUDE},
- {28, 28, SPECIES_TORKOAL},
- {28, 28, SPECIES_GEODUDE},
- {30, 30, SPECIES_TORKOAL},
- {29, 29, SPECIES_GEODUDE},
- {30, 30, SPECIES_GEODUDE},
- {30, 30, SPECIES_GEODUDE},
- {30, 30, SPECIES_GRAVELER},
- {30, 30, SPECIES_GRAVELER},
- {31, 31, SPECIES_GRAVELER},
- {32, 32, SPECIES_GRAVELER},
- {33, 33, SPECIES_GRAVELER},
-};
-
-const struct WildPokemonInfo gMagmaHideout_3F_2R_LandMonsInfo = {10, gMagmaHideout_3F_2R_LandMons};
-
-const struct WildPokemon gMagmaHideout_4F_LandMons[] =
-{
- {27, 27, SPECIES_GEODUDE},
- {28, 28, SPECIES_TORKOAL},
- {28, 28, SPECIES_GEODUDE},
- {30, 30, SPECIES_TORKOAL},
- {29, 29, SPECIES_GEODUDE},
- {30, 30, SPECIES_GEODUDE},
- {30, 30, SPECIES_GEODUDE},
- {30, 30, SPECIES_GRAVELER},
- {30, 30, SPECIES_GRAVELER},
- {31, 31, SPECIES_GRAVELER},
- {32, 32, SPECIES_GRAVELER},
- {33, 33, SPECIES_GRAVELER},
-};
-
-const struct WildPokemonInfo gMagmaHideout_4F_LandMonsInfo = {10, gMagmaHideout_4F_LandMons};
-
-const struct WildPokemon gMagmaHideout_3F_3R_LandMons[] =
-{
- {27, 27, SPECIES_GEODUDE},
- {28, 28, SPECIES_TORKOAL},
- {28, 28, SPECIES_GEODUDE},
- {30, 30, SPECIES_TORKOAL},
- {29, 29, SPECIES_GEODUDE},
- {30, 30, SPECIES_GEODUDE},
- {30, 30, SPECIES_GEODUDE},
- {30, 30, SPECIES_GRAVELER},
- {30, 30, SPECIES_GRAVELER},
- {31, 31, SPECIES_GRAVELER},
- {32, 32, SPECIES_GRAVELER},
- {33, 33, SPECIES_GRAVELER},
-};
-
-const struct WildPokemonInfo gMagmaHideout_3F_3R_LandMonsInfo = {10, gMagmaHideout_3F_3R_LandMons};
-
-const struct WildPokemon gMagmaHideout_2F_3R_LandMons[] =
-{
- {27, 27, SPECIES_GEODUDE},
- {28, 28, SPECIES_TORKOAL},
- {28, 28, SPECIES_GEODUDE},
- {30, 30, SPECIES_TORKOAL},
- {29, 29, SPECIES_GEODUDE},
- {30, 30, SPECIES_GEODUDE},
- {30, 30, SPECIES_GEODUDE},
- {30, 30, SPECIES_GRAVELER},
- {30, 30, SPECIES_GRAVELER},
- {31, 31, SPECIES_GRAVELER},
- {32, 32, SPECIES_GRAVELER},
- {33, 33, SPECIES_GRAVELER},
-};
-
-const struct WildPokemonInfo gMagmaHideout_2F_3R_LandMonsInfo = {10, gMagmaHideout_2F_3R_LandMons};
-
-const struct WildPokemon gMirageTower_1F_LandMons[] =
-{
- {21, 21, SPECIES_SANDSHREW},
- {21, 21, SPECIES_TRAPINCH},
- {20, 20, SPECIES_SANDSHREW},
- {20, 20, SPECIES_TRAPINCH},
- {20, 20, SPECIES_SANDSHREW},
- {20, 20, SPECIES_TRAPINCH},
- {22, 22, SPECIES_SANDSHREW},
- {22, 22, SPECIES_TRAPINCH},
- {23, 23, SPECIES_SANDSHREW},
- {23, 23, SPECIES_TRAPINCH},
- {24, 24, SPECIES_SANDSHREW},
- {24, 24, SPECIES_TRAPINCH},
-};
-
-const struct WildPokemonInfo gMirageTower_1F_LandMonsInfo = {10, gMirageTower_1F_LandMons};
-
-const struct WildPokemon gMirageTower_2F_LandMons[] =
-{
- {21, 21, SPECIES_SANDSHREW},
- {21, 21, SPECIES_TRAPINCH},
- {20, 20, SPECIES_SANDSHREW},
- {20, 20, SPECIES_TRAPINCH},
- {20, 20, SPECIES_SANDSHREW},
- {20, 20, SPECIES_TRAPINCH},
- {22, 22, SPECIES_SANDSHREW},
- {22, 22, SPECIES_TRAPINCH},
- {23, 23, SPECIES_SANDSHREW},
- {23, 23, SPECIES_TRAPINCH},
- {24, 24, SPECIES_SANDSHREW},
- {24, 24, SPECIES_TRAPINCH},
-};
-
-const struct WildPokemonInfo gMirageTower_2F_LandMonsInfo = {10, gMirageTower_2F_LandMons};
-
-const struct WildPokemon gMirageTower_3F_LandMons[] =
-{
- {21, 21, SPECIES_SANDSHREW},
- {21, 21, SPECIES_TRAPINCH},
- {20, 20, SPECIES_SANDSHREW},
- {20, 20, SPECIES_TRAPINCH},
- {20, 20, SPECIES_SANDSHREW},
- {20, 20, SPECIES_TRAPINCH},
- {22, 22, SPECIES_SANDSHREW},
- {22, 22, SPECIES_TRAPINCH},
- {23, 23, SPECIES_SANDSHREW},
- {23, 23, SPECIES_TRAPINCH},
- {24, 24, SPECIES_SANDSHREW},
- {24, 24, SPECIES_TRAPINCH},
-};
-
-const struct WildPokemonInfo gMirageTower_3F_LandMonsInfo = {10, gMirageTower_3F_LandMons};
-
-const struct WildPokemon gMirageTower_4F_LandMons[] =
-{
- {21, 21, SPECIES_SANDSHREW},
- {21, 21, SPECIES_TRAPINCH},
- {20, 20, SPECIES_SANDSHREW},
- {20, 20, SPECIES_TRAPINCH},
- {20, 20, SPECIES_SANDSHREW},
- {20, 20, SPECIES_TRAPINCH},
- {22, 22, SPECIES_SANDSHREW},
- {22, 22, SPECIES_TRAPINCH},
- {23, 23, SPECIES_SANDSHREW},
- {23, 23, SPECIES_TRAPINCH},
- {24, 24, SPECIES_SANDSHREW},
- {24, 24, SPECIES_TRAPINCH},
-};
-
-const struct WildPokemonInfo gMirageTower_4F_LandMonsInfo = {10, gMirageTower_4F_LandMons};
-
-const struct WildPokemon gDesertUnderpass_LandMons[] =
-{
- {38, 38, SPECIES_DITTO},
- {35, 35, SPECIES_WHISMUR},
- {40, 40, SPECIES_DITTO},
- {40, 40, SPECIES_LOUDRED},
- {41, 41, SPECIES_DITTO},
- {36, 36, SPECIES_WHISMUR},
- {38, 38, SPECIES_LOUDRED},
- {42, 42, SPECIES_DITTO},
- {38, 38, SPECIES_WHISMUR},
- {43, 43, SPECIES_DITTO},
- {44, 44, SPECIES_LOUDRED},
- {45, 45, SPECIES_DITTO},
-};
-
-const struct WildPokemonInfo gDesertUnderpass_LandMonsInfo = {10, gDesertUnderpass_LandMons};
-
-const struct WildPokemon gArtisanCave_B1F_LandMons[] =
-{
- {40, 40, SPECIES_SMEARGLE},
- {41, 41, SPECIES_SMEARGLE},
- {42, 42, SPECIES_SMEARGLE},
- {43, 43, SPECIES_SMEARGLE},
- {44, 44, SPECIES_SMEARGLE},
- {45, 45, SPECIES_SMEARGLE},
- {46, 46, SPECIES_SMEARGLE},
- {47, 47, SPECIES_SMEARGLE},
- {48, 48, SPECIES_SMEARGLE},
- {49, 49, SPECIES_SMEARGLE},
- {50, 50, SPECIES_SMEARGLE},
- {50, 50, SPECIES_SMEARGLE},
-};
-
-const struct WildPokemonInfo gArtisanCave_B1F_LandMonsInfo = {10, gArtisanCave_B1F_LandMons};
-
-const struct WildPokemon gArtisanCave_1F_LandMons[] =
-{
- {40, 40, SPECIES_SMEARGLE},
- {41, 41, SPECIES_SMEARGLE},
- {42, 42, SPECIES_SMEARGLE},
- {43, 43, SPECIES_SMEARGLE},
- {44, 44, SPECIES_SMEARGLE},
- {45, 45, SPECIES_SMEARGLE},
- {46, 46, SPECIES_SMEARGLE},
- {47, 47, SPECIES_SMEARGLE},
- {48, 48, SPECIES_SMEARGLE},
- {49, 49, SPECIES_SMEARGLE},
- {50, 50, SPECIES_SMEARGLE},
- {50, 50, SPECIES_SMEARGLE},
-};
-
-const struct WildPokemonInfo gArtisanCave_1F_LandMonsInfo = {10, gArtisanCave_1F_LandMons};
-
-const struct WildPokemon gAlteringCave1_LandMons[] =
-{
- {10, 10, SPECIES_ZUBAT},
- {12, 12, SPECIES_ZUBAT},
- {8, 8, SPECIES_ZUBAT},
- {14, 14, SPECIES_ZUBAT},
- {10, 10, SPECIES_ZUBAT},
- {12, 12, SPECIES_ZUBAT},
- {16, 16, SPECIES_ZUBAT},
- {6, 6, SPECIES_ZUBAT},
- {8, 8, SPECIES_ZUBAT},
- {14, 14, SPECIES_ZUBAT},
- {8, 8, SPECIES_ZUBAT},
- {14, 14, SPECIES_ZUBAT},
-};
-
-const struct WildPokemonInfo gAlteringCave1_LandMonsInfo = {7, gAlteringCave1_LandMons};
-
-const struct WildPokemon gAlteringCave2_LandMons[] =
-{
- {7, 7, SPECIES_MAREEP},
- {9, 9, SPECIES_MAREEP},
- {5, 5, SPECIES_MAREEP},
- {11, 11, SPECIES_MAREEP},
- {7, 7, SPECIES_MAREEP},
- {9, 9, SPECIES_MAREEP},
- {13, 13, SPECIES_MAREEP},
- {3, 3, SPECIES_MAREEP},
- {5, 5, SPECIES_MAREEP},
- {11, 11, SPECIES_MAREEP},
- {5, 5, SPECIES_MAREEP},
- {11, 11, SPECIES_MAREEP},
-};
-
-const struct WildPokemonInfo gAlteringCave2_LandMonsInfo = {7, gAlteringCave2_LandMons};
-
-const struct WildPokemon gAlteringCave3_LandMons[] =
-{
- {23, 23, SPECIES_PINECO},
- {25, 25, SPECIES_PINECO},
- {22, 22, SPECIES_PINECO},
- {27, 27, SPECIES_PINECO},
- {23, 23, SPECIES_PINECO},
- {25, 25, SPECIES_PINECO},
- {29, 29, SPECIES_PINECO},
- {19, 19, SPECIES_PINECO},
- {21, 21, SPECIES_PINECO},
- {27, 27, SPECIES_PINECO},
- {21, 21, SPECIES_PINECO},
- {27, 27, SPECIES_PINECO},
-};
-
-const struct WildPokemonInfo gAlteringCave3_LandMonsInfo = {7, gAlteringCave3_LandMons};
-
-const struct WildPokemon gAlteringCave4_LandMons[] =
-{
- {16, 16, SPECIES_HOUNDOUR},
- {18, 18, SPECIES_HOUNDOUR},
- {14, 14, SPECIES_HOUNDOUR},
- {20, 20, SPECIES_HOUNDOUR},
- {16, 16, SPECIES_HOUNDOUR},
- {18, 18, SPECIES_HOUNDOUR},
- {22, 22, SPECIES_HOUNDOUR},
- {12, 12, SPECIES_HOUNDOUR},
- {14, 14, SPECIES_HOUNDOUR},
- {20, 20, SPECIES_HOUNDOUR},
- {14, 14, SPECIES_HOUNDOUR},
- {20, 20, SPECIES_HOUNDOUR},
-};
-
-const struct WildPokemonInfo gAlteringCave4_LandMonsInfo = {7, gAlteringCave4_LandMons};
-
-const struct WildPokemon gAlteringCave5_LandMons[] =
-{
- {10, 10, SPECIES_TEDDIURSA},
- {12, 12, SPECIES_TEDDIURSA},
- {8, 8, SPECIES_TEDDIURSA},
- {14, 14, SPECIES_TEDDIURSA},
- {10, 10, SPECIES_TEDDIURSA},
- {12, 12, SPECIES_TEDDIURSA},
- {16, 16, SPECIES_TEDDIURSA},
- {6, 6, SPECIES_TEDDIURSA},
- {8, 8, SPECIES_TEDDIURSA},
- {14, 14, SPECIES_TEDDIURSA},
- {8, 8, SPECIES_TEDDIURSA},
- {14, 14, SPECIES_TEDDIURSA},
-};
-
-const struct WildPokemonInfo gAlteringCave5_LandMonsInfo = {7, gAlteringCave5_LandMons};
-
-const struct WildPokemon gAlteringCave6_LandMons[] =
-{
- {22, 22, SPECIES_AIPOM},
- {24, 24, SPECIES_AIPOM},
- {20, 20, SPECIES_AIPOM},
- {26, 26, SPECIES_AIPOM},
- {22, 22, SPECIES_AIPOM},
- {24, 24, SPECIES_AIPOM},
- {28, 28, SPECIES_AIPOM},
- {18, 18, SPECIES_AIPOM},
- {20, 20, SPECIES_AIPOM},
- {26, 26, SPECIES_AIPOM},
- {20, 20, SPECIES_AIPOM},
- {26, 26, SPECIES_AIPOM},
-};
-
-const struct WildPokemonInfo gAlteringCave6_LandMonsInfo = {7, gAlteringCave6_LandMons};
-
-const struct WildPokemon gAlteringCave7_LandMons[] =
-{
- {22, 22, SPECIES_SHUCKLE},
- {24, 24, SPECIES_SHUCKLE},
- {20, 20, SPECIES_SHUCKLE},
- {26, 26, SPECIES_SHUCKLE},
- {22, 22, SPECIES_SHUCKLE},
- {24, 24, SPECIES_SHUCKLE},
- {28, 28, SPECIES_SHUCKLE},
- {18, 18, SPECIES_SHUCKLE},
- {20, 20, SPECIES_SHUCKLE},
- {26, 26, SPECIES_SHUCKLE},
- {20, 20, SPECIES_SHUCKLE},
- {26, 26, SPECIES_SHUCKLE},
-};
-
-const struct WildPokemonInfo gAlteringCave7_LandMonsInfo = {7, gAlteringCave7_LandMons};
-
-const struct WildPokemon gAlteringCave8_LandMons[] =
-{
- {22, 22, SPECIES_STANTLER},
- {24, 24, SPECIES_STANTLER},
- {20, 20, SPECIES_STANTLER},
- {26, 26, SPECIES_STANTLER},
- {22, 22, SPECIES_STANTLER},
- {24, 24, SPECIES_STANTLER},
- {28, 28, SPECIES_STANTLER},
- {18, 18, SPECIES_STANTLER},
- {20, 20, SPECIES_STANTLER},
- {26, 26, SPECIES_STANTLER},
- {20, 20, SPECIES_STANTLER},
- {26, 26, SPECIES_STANTLER},
-};
-
-const struct WildPokemonInfo gAlteringCave8_LandMonsInfo = {7, gAlteringCave8_LandMons};
-
-const struct WildPokemon gAlteringCave9_LandMons[] =
-{
- {22, 22, SPECIES_SMEARGLE},
- {24, 24, SPECIES_SMEARGLE},
- {20, 20, SPECIES_SMEARGLE},
- {26, 26, SPECIES_SMEARGLE},
- {22, 22, SPECIES_SMEARGLE},
- {24, 24, SPECIES_SMEARGLE},
- {28, 28, SPECIES_SMEARGLE},
- {18, 18, SPECIES_SMEARGLE},
- {20, 20, SPECIES_SMEARGLE},
- {26, 26, SPECIES_SMEARGLE},
- {20, 20, SPECIES_SMEARGLE},
- {26, 26, SPECIES_SMEARGLE},
-};
-
-const struct WildPokemonInfo gAlteringCave9_LandMonsInfo = {7, gAlteringCave9_LandMons};
-
-const struct WildPokemon gMeteorFalls_StevensCave_LandMons[] =
-{
- {33, 33, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {33, 33, SPECIES_GOLBAT},
- {35, 35, SPECIES_SOLROCK},
- {33, 33, SPECIES_SOLROCK},
- {37, 37, SPECIES_SOLROCK},
- {35, 35, SPECIES_GOLBAT},
- {39, 39, SPECIES_SOLROCK},
- {38, 38, SPECIES_GOLBAT},
- {40, 40, SPECIES_GOLBAT},
- {38, 38, SPECIES_GOLBAT},
- {40, 40, SPECIES_GOLBAT},
-};
-
-const struct WildPokemonInfo gMeteorFalls_StevensCave_LandMonsInfo = {10, gMeteorFalls_StevensCave_LandMons};
-
-const struct WildPokemonHeader gWildMonHeaders[] =
-{
- {
- .mapGroup = MAP_GROUP(ROUTE101),
- .mapNum = MAP_NUM(ROUTE101),
- .landMonsInfo = &gRoute101_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE102),
- .mapNum = MAP_NUM(ROUTE102),
- .landMonsInfo = &gRoute102_LandMonsInfo,
- .waterMonsInfo = &gRoute102_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute102_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE103),
- .mapNum = MAP_NUM(ROUTE103),
- .landMonsInfo = &gRoute103_LandMonsInfo,
- .waterMonsInfo = &gRoute103_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute103_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE104),
- .mapNum = MAP_NUM(ROUTE104),
- .landMonsInfo = &gRoute104_LandMonsInfo,
- .waterMonsInfo = &gRoute104_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute104_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE105),
- .mapNum = MAP_NUM(ROUTE105),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gRoute105_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute105_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE110),
- .mapNum = MAP_NUM(ROUTE110),
- .landMonsInfo = &gRoute110_LandMonsInfo,
- .waterMonsInfo = &gRoute110_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute110_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE111),
- .mapNum = MAP_NUM(ROUTE111),
- .landMonsInfo = &gRoute111_LandMonsInfo,
- .waterMonsInfo = &gRoute111_WaterMonsInfo,
- .rockSmashMonsInfo = &gRoute111_RockSmashMonsInfo,
- .fishingMonsInfo = &gRoute111_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE112),
- .mapNum = MAP_NUM(ROUTE112),
- .landMonsInfo = &gRoute112_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE113),
- .mapNum = MAP_NUM(ROUTE113),
- .landMonsInfo = &gRoute113_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE114),
- .mapNum = MAP_NUM(ROUTE114),
- .landMonsInfo = &gRoute114_LandMonsInfo,
- .waterMonsInfo = &gRoute114_WaterMonsInfo,
- .rockSmashMonsInfo = &gRoute114_RockSmashMonsInfo,
- .fishingMonsInfo = &gRoute114_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE116),
- .mapNum = MAP_NUM(ROUTE116),
- .landMonsInfo = &gRoute116_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE117),
- .mapNum = MAP_NUM(ROUTE117),
- .landMonsInfo = &gRoute117_LandMonsInfo,
- .waterMonsInfo = &gRoute117_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute117_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE118),
- .mapNum = MAP_NUM(ROUTE118),
- .landMonsInfo = &gRoute118_LandMonsInfo,
- .waterMonsInfo = &gRoute118_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute118_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE124),
- .mapNum = MAP_NUM(ROUTE124),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gRoute124_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute124_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(PETALBURG_WOODS),
- .mapNum = MAP_NUM(PETALBURG_WOODS),
- .landMonsInfo = &gPetalburgWoods_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(RUSTURF_TUNNEL),
- .mapNum = MAP_NUM(RUSTURF_TUNNEL),
- .landMonsInfo = &gRusturfTunnel_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(GRANITE_CAVE_1F),
- .mapNum = MAP_NUM(GRANITE_CAVE_1F),
- .landMonsInfo = &gGraniteCave_1F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(GRANITE_CAVE_B1F),
- .mapNum = MAP_NUM(GRANITE_CAVE_B1F),
- .landMonsInfo = &gGraniteCave_B1F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MT_PYRE_1F),
- .mapNum = MAP_NUM(MT_PYRE_1F),
- .landMonsInfo = &gMtPyre_1F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(VICTORY_ROAD_1F),
- .mapNum = MAP_NUM(VICTORY_ROAD_1F),
- .landMonsInfo = &gVictoryRoad_1F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(SAFARI_ZONE_SOUTH),
- .mapNum = MAP_NUM(SAFARI_ZONE_SOUTH),
- .landMonsInfo = &gSafariZone_South_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(UNDERWATER2),
- .mapNum = MAP_NUM(UNDERWATER2),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gUnderwater2_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ABANDONED_SHIP_ROOMS_B1F),
- .mapNum = MAP_NUM(ABANDONED_SHIP_ROOMS_B1F),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gAbandonedShip_Rooms_B1F_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gAbandonedShip_Rooms_B1F_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(GRANITE_CAVE_B2F),
- .mapNum = MAP_NUM(GRANITE_CAVE_B2F),
- .landMonsInfo = &gGraniteCave_B2F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = &gGraniteCave_B2F_RockSmashMonsInfo,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(FIERY_PATH),
- .mapNum = MAP_NUM(FIERY_PATH),
- .landMonsInfo = &gFieryPath_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(METEOR_FALLS_B1F_2R),
- .mapNum = MAP_NUM(METEOR_FALLS_B1F_2R),
- .landMonsInfo = &gMeteorFalls_B1F_2R_LandMonsInfo,
- .waterMonsInfo = &gMeteorFalls_B1F_2R_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gMeteorFalls_B1F_2R_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(JAGGED_PASS),
- .mapNum = MAP_NUM(JAGGED_PASS),
- .landMonsInfo = &gJaggedPass_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE106),
- .mapNum = MAP_NUM(ROUTE106),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gRoute106_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute106_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE107),
- .mapNum = MAP_NUM(ROUTE107),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gRoute107_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute107_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE108),
- .mapNum = MAP_NUM(ROUTE108),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gRoute108_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute108_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE109),
- .mapNum = MAP_NUM(ROUTE109),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gRoute109_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute109_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE115),
- .mapNum = MAP_NUM(ROUTE115),
- .landMonsInfo = &gRoute115_LandMonsInfo,
- .waterMonsInfo = &gRoute115_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute115_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(NEW_MAUVILLE_INSIDE),
- .mapNum = MAP_NUM(NEW_MAUVILLE_INSIDE),
- .landMonsInfo = &gNewMauville_Inside_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE119),
- .mapNum = MAP_NUM(ROUTE119),
- .landMonsInfo = &gRoute119_LandMonsInfo,
- .waterMonsInfo = &gRoute119_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute119_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE120),
- .mapNum = MAP_NUM(ROUTE120),
- .landMonsInfo = &gRoute120_LandMonsInfo,
- .waterMonsInfo = &gRoute120_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute120_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE121),
- .mapNum = MAP_NUM(ROUTE121),
- .landMonsInfo = &gRoute121_LandMonsInfo,
- .waterMonsInfo = &gRoute121_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute121_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE122),
- .mapNum = MAP_NUM(ROUTE122),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gRoute122_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute122_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE123),
- .mapNum = MAP_NUM(ROUTE123),
- .landMonsInfo = &gRoute123_LandMonsInfo,
- .waterMonsInfo = &gRoute123_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute123_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(MT_PYRE_2F),
- .mapNum = MAP_NUM(MT_PYRE_2F),
- .landMonsInfo = &gMtPyre_2F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MT_PYRE_3F),
- .mapNum = MAP_NUM(MT_PYRE_3F),
- .landMonsInfo = &gMtPyre_3F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MT_PYRE_4F),
- .mapNum = MAP_NUM(MT_PYRE_4F),
- .landMonsInfo = &gMtPyre_4F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MT_PYRE_5F),
- .mapNum = MAP_NUM(MT_PYRE_5F),
- .landMonsInfo = &gMtPyre_5F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MT_PYRE_6F),
- .mapNum = MAP_NUM(MT_PYRE_6F),
- .landMonsInfo = &gMtPyre_6F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MT_PYRE_EXTERIOR),
- .mapNum = MAP_NUM(MT_PYRE_EXTERIOR),
- .landMonsInfo = &gMtPyre_Exterior_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MT_PYRE_SUMMIT),
- .mapNum = MAP_NUM(MT_PYRE_SUMMIT),
- .landMonsInfo = &gMtPyre_Summit_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(GRANITE_CAVE_STEVENS_ROOM),
- .mapNum = MAP_NUM(GRANITE_CAVE_STEVENS_ROOM),
- .landMonsInfo = &gGraniteCave_StevensRoom_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE125),
- .mapNum = MAP_NUM(ROUTE125),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gRoute125_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute125_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE126),
- .mapNum = MAP_NUM(ROUTE126),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gRoute126_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute126_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE127),
- .mapNum = MAP_NUM(ROUTE127),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gRoute127_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute127_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE128),
- .mapNum = MAP_NUM(ROUTE128),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gRoute128_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute128_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE129),
- .mapNum = MAP_NUM(ROUTE129),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gRoute129_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute129_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE130),
- .mapNum = MAP_NUM(ROUTE130),
- .landMonsInfo = &gRoute130_LandMonsInfo,
- .waterMonsInfo = &gRoute130_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute130_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE131),
- .mapNum = MAP_NUM(ROUTE131),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gRoute131_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute131_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE132),
- .mapNum = MAP_NUM(ROUTE132),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gRoute132_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute132_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE133),
- .mapNum = MAP_NUM(ROUTE133),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gRoute133_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute133_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE134),
- .mapNum = MAP_NUM(ROUTE134),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gRoute134_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute134_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS),
- .mapNum = MAP_NUM(ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gAbandonedShip_HiddenFloorCorridors_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gAbandonedShip_HiddenFloorCorridors_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM1),
- .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM1),
- .landMonsInfo = &gSeafloorCavern_Room1_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM2),
- .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM2),
- .landMonsInfo = &gSeafloorCavern_Room2_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM3),
- .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM3),
- .landMonsInfo = &gSeafloorCavern_Room3_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM4),
- .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM4),
- .landMonsInfo = &gSeafloorCavern_Room4_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM5),
- .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM5),
- .landMonsInfo = &gSeafloorCavern_Room5_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM6),
- .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM6),
- .landMonsInfo = &gSeafloorCavern_Room6_LandMonsInfo,
- .waterMonsInfo = &gSeafloorCavern_Room6_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gSeafloorCavern_Room6_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM7),
- .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM7),
- .landMonsInfo = &gSeafloorCavern_Room7_LandMonsInfo,
- .waterMonsInfo = &gSeafloorCavern_Room7_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gSeafloorCavern_Room7_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM8),
- .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM8),
- .landMonsInfo = &gSeafloorCavern_Room8_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ENTRANCE),
- .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ENTRANCE),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gSeafloorCavern_Entrance_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gSeafloorCavern_Entrance_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_ENTRANCE),
- .mapNum = MAP_NUM(CAVE_OF_ORIGIN_ENTRANCE),
- .landMonsInfo = &gCaveOfOrigin_Entrance_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_1F),
- .mapNum = MAP_NUM(CAVE_OF_ORIGIN_1F),
- .landMonsInfo = &gCaveOfOrigin_1F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP1),
- .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP1),
- .landMonsInfo = &gCaveOfOrigin_UnusedRubySapphireMap1_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP2),
- .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP2),
- .landMonsInfo = &gCaveOfOrigin_UnusedRubySapphireMap2_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP3),
- .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP3),
- .landMonsInfo = &gCaveOfOrigin_UnusedRubySapphireMap3_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(NEW_MAUVILLE_ENTRANCE),
- .mapNum = MAP_NUM(NEW_MAUVILLE_ENTRANCE),
- .landMonsInfo = &gNewMauville_Entrance_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(SAFARI_ZONE_SOUTHWEST),
- .mapNum = MAP_NUM(SAFARI_ZONE_SOUTHWEST),
- .landMonsInfo = &gSafariZone_Southwest_LandMonsInfo,
- .waterMonsInfo = &gSafariZone_Southwest_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gSafariZone_Southwest_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(SAFARI_ZONE_NORTH),
- .mapNum = MAP_NUM(SAFARI_ZONE_NORTH),
- .landMonsInfo = &gSafariZone_North_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = &gSafariZone_North_RockSmashMonsInfo,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(SAFARI_ZONE_NORTHWEST),
- .mapNum = MAP_NUM(SAFARI_ZONE_NORTHWEST),
- .landMonsInfo = &gSafariZone_Northwest_LandMonsInfo,
- .waterMonsInfo = &gSafariZone_Northwest_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gSafariZone_Northwest_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(VICTORY_ROAD_B1F),
- .mapNum = MAP_NUM(VICTORY_ROAD_B1F),
- .landMonsInfo = &gVictoryRoad_B1F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = &gVictoryRoad_B1F_RockSmashMonsInfo,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(VICTORY_ROAD_B2F),
- .mapNum = MAP_NUM(VICTORY_ROAD_B2F),
- .landMonsInfo = &gVictoryRoad_B2F_LandMonsInfo,
- .waterMonsInfo = &gVictoryRoad_B2F_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gVictoryRoad_B2F_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(METEOR_FALLS_1F_1R),
- .mapNum = MAP_NUM(METEOR_FALLS_1F_1R),
- .landMonsInfo = &gMeteorFalls_1F_1R_LandMonsInfo,
- .waterMonsInfo = &gMeteorFalls_1F_1R_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gMeteorFalls_1F_1R_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(METEOR_FALLS_1F_2R),
- .mapNum = MAP_NUM(METEOR_FALLS_1F_2R),
- .landMonsInfo = &gMeteorFalls_1F_2R_LandMonsInfo,
- .waterMonsInfo = &gMeteorFalls_1F_2R_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gMeteorFalls_1F_2R_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(METEOR_FALLS_B1F_1R),
- .mapNum = MAP_NUM(METEOR_FALLS_B1F_1R),
- .landMonsInfo = &gMeteorFalls_B1F_1R_LandMonsInfo,
- .waterMonsInfo = &gMeteorFalls_B1F_1R_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gMeteorFalls_B1F_1R_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM),
- .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM),
- .landMonsInfo = &gShoalCave_LowTideStairsRoom_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_LOWER_ROOM),
- .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_LOWER_ROOM),
- .landMonsInfo = &gShoalCave_LowTideLowerRoom_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_INNER_ROOM),
- .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_INNER_ROOM),
- .landMonsInfo = &gShoalCave_LowTideInnerRoom_LandMonsInfo,
- .waterMonsInfo = &gShoalCave_LowTideInnerRoom_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gShoalCave_LowTideInnerRoom_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM),
- .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM),
- .landMonsInfo = &gShoalCave_LowTideEntranceRoom_LandMonsInfo,
- .waterMonsInfo = &gShoalCave_LowTideEntranceRoom_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gShoalCave_LowTideEntranceRoom_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(LILYCOVE_CITY),
- .mapNum = MAP_NUM(LILYCOVE_CITY),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gLilycoveCity_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gLilycoveCity_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(DEWFORD_TOWN),
- .mapNum = MAP_NUM(DEWFORD_TOWN),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gDewfordTown_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gDewfordTown_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(SLATEPORT_CITY),
- .mapNum = MAP_NUM(SLATEPORT_CITY),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gSlateportCity_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gSlateportCity_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(MOSSDEEP_CITY),
- .mapNum = MAP_NUM(MOSSDEEP_CITY),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gMossdeepCity_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gMossdeepCity_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(PACIFIDLOG_TOWN),
- .mapNum = MAP_NUM(PACIFIDLOG_TOWN),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gPacifidlogTown_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gPacifidlogTown_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(EVER_GRANDE_CITY),
- .mapNum = MAP_NUM(EVER_GRANDE_CITY),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gEverGrandeCity_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gEverGrandeCity_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(PETALBURG_CITY),
- .mapNum = MAP_NUM(PETALBURG_CITY),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gPetalburgCity_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gPetalburgCity_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(UNDERWATER1),
- .mapNum = MAP_NUM(UNDERWATER1),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gUnderwater1_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_ICE_ROOM),
- .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_ICE_ROOM),
- .landMonsInfo = &gShoalCave_LowTideIceRoom_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(SKY_PILLAR_1F),
- .mapNum = MAP_NUM(SKY_PILLAR_1F),
- .landMonsInfo = &gSkyPillar_1F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(SOOTOPOLIS_CITY),
- .mapNum = MAP_NUM(SOOTOPOLIS_CITY),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gSootopolisCity_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gSootopolisCity_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(SKY_PILLAR_3F),
- .mapNum = MAP_NUM(SKY_PILLAR_3F),
- .landMonsInfo = &gSkyPillar_3F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(SKY_PILLAR_5F),
- .mapNum = MAP_NUM(SKY_PILLAR_5F),
- .landMonsInfo = &gSkyPillar_5F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(SAFARI_ZONE_SOUTHEAST),
- .mapNum = MAP_NUM(SAFARI_ZONE_SOUTHEAST),
- .landMonsInfo = &gSafariZone_Southeast_LandMonsInfo,
- .waterMonsInfo = &gSafariZone_Southeast_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gSafariZone_Southeast_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(SAFARI_ZONE_NORTHEAST),
- .mapNum = MAP_NUM(SAFARI_ZONE_NORTHEAST),
- .landMonsInfo = &gSafariZone_Northeast_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = &gSafariZone_Northeast_RockSmashMonsInfo,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_1F),
- .mapNum = MAP_NUM(MAGMA_HIDEOUT_1F),
- .landMonsInfo = &gMagmaHideout_1F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_2F_1R),
- .mapNum = MAP_NUM(MAGMA_HIDEOUT_2F_1R),
- .landMonsInfo = &gMagmaHideout_2F_1R_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_2F_2R),
- .mapNum = MAP_NUM(MAGMA_HIDEOUT_2F_2R),
- .landMonsInfo = &gMagmaHideout_2F_2R_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_3F_1R),
- .mapNum = MAP_NUM(MAGMA_HIDEOUT_3F_1R),
- .landMonsInfo = &gMagmaHideout_3F_1R_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_3F_2R),
- .mapNum = MAP_NUM(MAGMA_HIDEOUT_3F_2R),
- .landMonsInfo = &gMagmaHideout_3F_2R_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_4F),
- .mapNum = MAP_NUM(MAGMA_HIDEOUT_4F),
- .landMonsInfo = &gMagmaHideout_4F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_3F_3R),
- .mapNum = MAP_NUM(MAGMA_HIDEOUT_3F_3R),
- .landMonsInfo = &gMagmaHideout_3F_3R_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_2F_3R),
- .mapNum = MAP_NUM(MAGMA_HIDEOUT_2F_3R),
- .landMonsInfo = &gMagmaHideout_2F_3R_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MIRAGE_TOWER_1F),
- .mapNum = MAP_NUM(MIRAGE_TOWER_1F),
- .landMonsInfo = &gMirageTower_1F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MIRAGE_TOWER_2F),
- .mapNum = MAP_NUM(MIRAGE_TOWER_2F),
- .landMonsInfo = &gMirageTower_2F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MIRAGE_TOWER_3F),
- .mapNum = MAP_NUM(MIRAGE_TOWER_3F),
- .landMonsInfo = &gMirageTower_3F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MIRAGE_TOWER_4F),
- .mapNum = MAP_NUM(MIRAGE_TOWER_4F),
- .landMonsInfo = &gMirageTower_4F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(DESERT_UNDERPASS),
- .mapNum = MAP_NUM(DESERT_UNDERPASS),
- .landMonsInfo = &gDesertUnderpass_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ARTISAN_CAVE_B1F),
- .mapNum = MAP_NUM(ARTISAN_CAVE_B1F),
- .landMonsInfo = &gArtisanCave_B1F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ARTISAN_CAVE_1F),
- .mapNum = MAP_NUM(ARTISAN_CAVE_1F),
- .landMonsInfo = &gArtisanCave_1F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ALTERING_CAVE),
- .mapNum = MAP_NUM(ALTERING_CAVE),
- .landMonsInfo = &gAlteringCave1_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ALTERING_CAVE),
- .mapNum = MAP_NUM(ALTERING_CAVE),
- .landMonsInfo = &gAlteringCave2_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ALTERING_CAVE),
- .mapNum = MAP_NUM(ALTERING_CAVE),
- .landMonsInfo = &gAlteringCave3_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ALTERING_CAVE),
- .mapNum = MAP_NUM(ALTERING_CAVE),
- .landMonsInfo = &gAlteringCave4_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ALTERING_CAVE),
- .mapNum = MAP_NUM(ALTERING_CAVE),
- .landMonsInfo = &gAlteringCave5_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ALTERING_CAVE),
- .mapNum = MAP_NUM(ALTERING_CAVE),
- .landMonsInfo = &gAlteringCave6_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ALTERING_CAVE),
- .mapNum = MAP_NUM(ALTERING_CAVE),
- .landMonsInfo = &gAlteringCave7_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ALTERING_CAVE),
- .mapNum = MAP_NUM(ALTERING_CAVE),
- .landMonsInfo = &gAlteringCave8_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ALTERING_CAVE),
- .mapNum = MAP_NUM(ALTERING_CAVE),
- .landMonsInfo = &gAlteringCave9_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(METEOR_FALLS_STEVENS_CAVE),
- .mapNum = MAP_NUM(METEOR_FALLS_STEVENS_CAVE),
- .landMonsInfo = &gMeteorFalls_StevensCave_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(UNDEFINED),
- .mapNum = MAP_NUM(UNDEFINED),
- .landMonsInfo = NULL,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
-};
-
-const struct WildPokemon gBattlePyramidPlaceholders_1[] =
-{
- {5, 5, SPECIES_BULBASAUR},
- {5, 5, SPECIES_BULBASAUR},
- {5, 5, SPECIES_BULBASAUR},
- {5, 5, SPECIES_BULBASAUR},
- {5, 5, SPECIES_IVYSAUR},
- {5, 5, SPECIES_IVYSAUR},
- {5, 5, SPECIES_VENUSAUR},
- {5, 5, SPECIES_VENUSAUR},
- {5, 5, SPECIES_VENUSAUR},
- {5, 5, SPECIES_CHARMANDER},
- {5, 5, SPECIES_VENUSAUR},
- {5, 5, SPECIES_CHARMANDER},
-};
-
-const struct WildPokemonInfo gBattlePyramidPlaceholders_1Info = {4, gBattlePyramidPlaceholders_1};
-
-const struct WildPokemon gBattlePyramidPlaceholders_2[] =
-{
- {5, 5, SPECIES_IVYSAUR},
- {5, 5, SPECIES_IVYSAUR},
- {5, 5, SPECIES_IVYSAUR},
- {5, 5, SPECIES_IVYSAUR},
- {5, 5, SPECIES_VENUSAUR},
- {5, 5, SPECIES_VENUSAUR},
- {5, 5, SPECIES_CHARMANDER},
- {5, 5, SPECIES_CHARMANDER},
- {5, 5, SPECIES_CHARMANDER},
- {5, 5, SPECIES_CHARMELEON},
- {5, 5, SPECIES_CHARMELEON},
- {5, 5, SPECIES_CHARMANDER},
-};
-
-const struct WildPokemonInfo gBattlePyramidPlaceholders_2Info = {4, gBattlePyramidPlaceholders_2};
-
-const struct WildPokemon gBattlePyramidPlaceholders_3[] =
-{
- {5, 5, SPECIES_VENUSAUR},
- {5, 5, SPECIES_VENUSAUR},
- {5, 5, SPECIES_VENUSAUR},
- {5, 5, SPECIES_VENUSAUR},
- {5, 5, SPECIES_CHARMANDER},
- {5, 5, SPECIES_CHARMANDER},
- {5, 5, SPECIES_CHARMELEON},
- {5, 5, SPECIES_CHARMELEON},
- {5, 5, SPECIES_CHARMELEON},
- {5, 5, SPECIES_CHARIZARD},
- {5, 5, SPECIES_CHARMELEON},
- {5, 5, SPECIES_CHARIZARD},
-};
-
-const struct WildPokemonInfo gBattlePyramidPlaceholders_3Info = {4, gBattlePyramidPlaceholders_3};
-
-const struct WildPokemon gBattlePyramidPlaceholders_4[] =
-{
- {5, 5, SPECIES_CHARMANDER},
- {5, 5, SPECIES_CHARMANDER},
- {5, 5, SPECIES_CHARMANDER},
- {5, 5, SPECIES_CHARMANDER},
- {5, 5, SPECIES_CHARMELEON},
- {5, 5, SPECIES_CHARMELEON},
- {5, 5, SPECIES_CHARIZARD},
- {5, 5, SPECIES_CHARIZARD},
- {5, 5, SPECIES_CHARIZARD},
- {5, 5, SPECIES_SQUIRTLE},
- {5, 5, SPECIES_CHARIZARD},
- {5, 5, SPECIES_SQUIRTLE},
-};
-
-const struct WildPokemonInfo gBattlePyramidPlaceholders_4Info = {4, gBattlePyramidPlaceholders_4};
-
-const struct WildPokemon gBattlePyramidPlaceholders_5[] =
-{
- {5, 5, SPECIES_CHARMELEON},
- {5, 5, SPECIES_CHARMELEON},
- {5, 5, SPECIES_CHARMELEON},
- {5, 5, SPECIES_CHARMELEON},
- {5, 5, SPECIES_CHARIZARD},
- {5, 5, SPECIES_CHARIZARD},
- {5, 5, SPECIES_SQUIRTLE},
- {5, 5, SPECIES_SQUIRTLE},
- {5, 5, SPECIES_SQUIRTLE},
- {5, 5, SPECIES_WARTORTLE},
- {5, 5, SPECIES_SQUIRTLE},
- {5, 5, SPECIES_WARTORTLE},
-};
-
-const struct WildPokemonInfo gBattlePyramidPlaceholders_5Info = {4, gBattlePyramidPlaceholders_5};
-
-const struct WildPokemon gBattlePyramidPlaceholders_6[] =
-{
- {5, 5, SPECIES_CHARIZARD},
- {5, 5, SPECIES_CHARIZARD},
- {5, 5, SPECIES_CHARIZARD},
- {5, 5, SPECIES_CHARMELEON},
- {5, 5, SPECIES_SQUIRTLE},
- {5, 5, SPECIES_SQUIRTLE},
- {5, 5, SPECIES_WARTORTLE},
- {5, 5, SPECIES_WARTORTLE},
- {5, 5, SPECIES_WARTORTLE},
- {5, 5, SPECIES_WARTORTLE},
- {5, 5, SPECIES_WARTORTLE},
- {5, 5, SPECIES_WARTORTLE},
-};
-
-const struct WildPokemonInfo gBattlePyramidPlaceholders_6Info = {4, gBattlePyramidPlaceholders_6};
-
-const struct WildPokemon gBattlePyramidPlaceholders_7[] =
-{
- {5, 5, SPECIES_WARTORTLE},
- {5, 5, SPECIES_WARTORTLE},
- {5, 5, SPECIES_SQUIRTLE},
- {5, 5, SPECIES_SQUIRTLE},
- {5, 5, SPECIES_SQUIRTLE},
- {5, 5, SPECIES_CHARIZARD},
- {5, 5, SPECIES_CHARIZARD},
- {5, 5, SPECIES_CHARIZARD},
- {5, 5, SPECIES_CHARMELEON},
- {5, 5, SPECIES_CHARMELEON},
- {5, 5, SPECIES_CHARMELEON},
- {5, 5, SPECIES_CHARMELEON},
-};
-
-const struct WildPokemonInfo gBattlePyramidPlaceholders_7Info = {8, gBattlePyramidPlaceholders_7};
-
-const struct WildPokemonHeader gBattlePyramidWildMonHeaders[] =
-{
- {
- .mapGroup = 0,
- .mapNum = 1,
- .landMonsInfo = &gBattlePyramidPlaceholders_1Info,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = 0,
- .mapNum = 2,
- .landMonsInfo = &gBattlePyramidPlaceholders_2Info,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = 0,
- .mapNum = 3,
- .landMonsInfo = &gBattlePyramidPlaceholders_3Info,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = 0,
- .mapNum = 4,
- .landMonsInfo = &gBattlePyramidPlaceholders_4Info,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = 0,
- .mapNum = 5,
- .landMonsInfo = &gBattlePyramidPlaceholders_5Info,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = 0,
- .mapNum = 6,
- .landMonsInfo = &gBattlePyramidPlaceholders_6Info,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = 0,
- .mapNum = 7,
- .landMonsInfo = &gBattlePyramidPlaceholders_7Info,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = 255,
- .mapNum = 255,
- .landMonsInfo = NULL,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
-};
-
-const struct WildPokemon gBattlePikeMons_1[] =
-{
- {5, 5, SPECIES_SEVIPER},
- {5, 5, SPECIES_MILOTIC},
- {5, 5, SPECIES_DUSCLOPS},
- {5, 5, SPECIES_DUSCLOPS},
- {5, 5, SPECIES_DUSCLOPS},
- {5, 5, SPECIES_DUSCLOPS},
- {5, 5, SPECIES_SEVIPER},
- {5, 5, SPECIES_MILOTIC},
- {5, 5, SPECIES_DUSCLOPS},
- {5, 5, SPECIES_DUSCLOPS},
- {5, 5, SPECIES_SEVIPER},
- {5, 5, SPECIES_MILOTIC},
-};
-
-const struct WildPokemonInfo gBattlePikeMonsInfo_1 = {10, gBattlePikeMons_1};
-
-const struct WildPokemon gBattlePikeMons_2[] =
-{
- {5, 5, SPECIES_SEVIPER},
- {5, 5, SPECIES_MILOTIC},
- {5, 5, SPECIES_ELECTRODE},
- {5, 5, SPECIES_ELECTRODE},
- {5, 5, SPECIES_ELECTRODE},
- {5, 5, SPECIES_ELECTRODE},
- {5, 5, SPECIES_SEVIPER},
- {5, 5, SPECIES_MILOTIC},
- {5, 5, SPECIES_ELECTRODE},
- {5, 5, SPECIES_ELECTRODE},
- {5, 5, SPECIES_SEVIPER},
- {5, 5, SPECIES_MILOTIC},
-};
-
-const struct WildPokemonInfo gBattlePikeMonsInfo_2 = {10, gBattlePikeMons_2};
-
-const struct WildPokemon gBattlePikeMons_3[] =
-{
- {5, 5, SPECIES_SEVIPER},
- {5, 5, SPECIES_MILOTIC},
- {5, 5, SPECIES_BRELOOM},
- {5, 5, SPECIES_BRELOOM},
- {5, 5, SPECIES_BRELOOM},
- {5, 5, SPECIES_BRELOOM},
- {5, 5, SPECIES_SEVIPER},
- {5, 5, SPECIES_MILOTIC},
- {5, 5, SPECIES_BRELOOM},
- {5, 5, SPECIES_BRELOOM},
- {5, 5, SPECIES_SEVIPER},
- {5, 5, SPECIES_MILOTIC},
-};
-
-const struct WildPokemonInfo gBattlePikeMonsInfo_3 = {10, gBattlePikeMons_3};
-
-const struct WildPokemon gBattlePikeMons_4[] =
-{
- {5, 5, SPECIES_SEVIPER},
- {5, 5, SPECIES_MILOTIC},
- {5, 5, SPECIES_WOBBUFFET},
- {5, 5, SPECIES_WOBBUFFET},
- {5, 5, SPECIES_WOBBUFFET},
- {5, 5, SPECIES_WOBBUFFET},
- {5, 5, SPECIES_SEVIPER},
- {5, 5, SPECIES_MILOTIC},
- {5, 5, SPECIES_WOBBUFFET},
- {5, 5, SPECIES_WOBBUFFET},
- {5, 5, SPECIES_SEVIPER},
- {5, 5, SPECIES_MILOTIC},
-};
-
-const struct WildPokemonInfo gBattlePikeMonsInfo_4 = {10, gBattlePikeMons_4};
-
-const struct WildPokemonHeader gBattlePikeWildMonHeaders[] =
-{
- {
- .mapGroup = 0,
- .mapNum = 1,
- .landMonsInfo = &gBattlePikeMonsInfo_1,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = 0,
- .mapNum = 2,
- .landMonsInfo = &gBattlePikeMonsInfo_2,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = 0,
- .mapNum = 3,
- .landMonsInfo = &gBattlePikeMonsInfo_3,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = 0,
- .mapNum = 4,
- .landMonsInfo = &gBattlePikeMonsInfo_4,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = 255,
- .mapNum = 255,
- .landMonsInfo = NULL,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
-};
-
-const struct WildPokemon gWildFeebasRoute119Data = {20, 25, SPECIES_FEEBAS};
-
-const u16 gRoute119WaterTileData[] =
-{
- 0, 0x2D, 0,
- 0x2E, 0x5B, 0x83,
- 0x5C, 0x8B, 0x12A,
-};
+#include "data/wild_encounters.h"
// code
void DisableWildEncounters(bool8 disabled)
@@ -4639,20 +88,12 @@ static bool8 CheckFeebas(void)
x -= 7;
y -= 7;
-#ifdef NONMATCHING
+ if (y >= gRoute119WaterTileData[3 * 0 + 0] && y <= gRoute119WaterTileData[3 * 0 + 1])
+ route119Section = 0;
if (y >= gRoute119WaterTileData[3 * 1 + 0] && y <= gRoute119WaterTileData[3 * 1 + 1])
route119Section = 1;
if (y >= gRoute119WaterTileData[3 * 2 + 0] && y <= gRoute119WaterTileData[3 * 2 + 1])
route119Section = 2;
-#else
- {
- register const u16 *arr asm("r0");
- if (y >= (arr = gRoute119WaterTileData)[3 * 1 + 0] && y <= arr[3 * 1 + 1])
- route119Section = 1;
- if (y >= arr[3 * 2 + 0] && y <= arr[3 * 2 + 1])
- route119Section = 2;
- }
-#endif
if (Random() % 100 > 49) // 50% chance of encountering Feebas
return FALSE;
@@ -4802,7 +243,7 @@ static u8 ChooseWildMonLevel(const struct WildPokemon *wildPokemon)
rand = Random() % range;
// check ability for max level mon
- if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3))
+ if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG))
{
u8 ability = GetMonAbility(&gPlayerParty[0]);
if (ability == ABILITY_HUSTLE || ability == ABILITY_VITAL_SPIRIT || ability == ABILITY_PRESSURE)
@@ -4883,7 +324,7 @@ static u8 PickWildMonNature(void)
}
}
// check synchronize for a pokemon with the same ability
- if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3)
+ if (!GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG)
&& GetMonAbility(&gPlayerParty[0]) == ABILITY_SYNCHRONIZE
&& Random() % 2 == 0)
{
@@ -4911,7 +352,7 @@ static void CreateWildMon(u16 species, u8 level)
}
if (checkCuteCharm
- && !GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3)
+ && !GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG)
&& GetMonAbility(&gPlayerParty[0]) == ABILITY_CUTE_CHARM
&& Random() % 3 != 0)
{
@@ -5029,7 +470,7 @@ static bool8 DoWildEncounterRateTest(u32 encounterRate, bool8 ignoreAbility)
encounterRate = encounterRate * 80 / 100;
ApplyFluteEncounterRateMod(&encounterRate);
ApplyCleanseTagEncounterRateMod(&encounterRate);
- if (!ignoreAbility && !GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3))
+ if (!ignoreAbility && !GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG))
{
u32 ability = GetMonAbility(&gPlayerParty[0]);
@@ -5419,7 +860,7 @@ static bool8 IsAbilityAllowingEncounter(u8 level)
{
u8 ability;
- if (GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3))
+ if (GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG))
return TRUE;
ability = GetMonAbility(&gPlayerParty[0]);
@@ -5456,7 +897,7 @@ static bool8 TryGetRandomWildMonIndexByType(const struct WildPokemon *wildMon, u
static bool8 TryGetAbilityInfluencedWildMonIndex(const struct WildPokemon *wildMon, u8 type, u8 ability, u8 *monIndex)
{
- if (GetMonData(&gPlayerParty[0], MON_DATA_SANITY_BIT3))
+ if (GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG))
return FALSE;
else if (GetMonAbility(&gPlayerParty[0]) != ability)
return FALSE;
diff --git a/src/window.c b/src/window.c
index 4e1a38eff..aa1df3a12 100644
--- a/src/window.c
+++ b/src/window.c
@@ -276,16 +276,16 @@ void CopyWindowToVram(u8 windowId, u8 mode)
switch (mode)
{
- case 1:
- CopyBgTilemapBufferToVram(windowLocal.window.bg);
- break;
- case 2:
- LoadBgTiles(windowLocal.window.bg, windowLocal.tileData, windowSize, windowLocal.window.baseBlock);
- break;
- case 3:
- LoadBgTiles(windowLocal.window.bg, windowLocal.tileData, windowSize, windowLocal.window.baseBlock);
- CopyBgTilemapBufferToVram(windowLocal.window.bg);
- break;
+ case 1:
+ CopyBgTilemapBufferToVram(windowLocal.window.bg);
+ break;
+ case 2:
+ LoadBgTiles(windowLocal.window.bg, windowLocal.tileData, windowSize, windowLocal.window.baseBlock);
+ break;
+ case 3:
+ LoadBgTiles(windowLocal.window.bg, windowLocal.tileData, windowSize, windowLocal.window.baseBlock);
+ CopyBgTilemapBufferToVram(windowLocal.window.bg);
+ break;
}
}
@@ -308,16 +308,16 @@ void CopyWindowRectToVram(u32 windowId, u32 mode, u32 x, u32 y, u32 w, u32 h)
switch (mode)
{
- case 1:
- CopyBgTilemapBufferToVram(windowLocal.window.bg);
- break;
- case 2:
- LoadBgTiles(windowLocal.window.bg, windowLocal.tileData + (rectPos * 32), rectSize, windowLocal.window.baseBlock + rectPos);
- break;
- case 3:
- LoadBgTiles(windowLocal.window.bg, windowLocal.tileData + (rectPos * 32), rectSize, windowLocal.window.baseBlock + rectPos);
- CopyBgTilemapBufferToVram(windowLocal.window.bg);
- break;
+ case 1:
+ CopyBgTilemapBufferToVram(windowLocal.window.bg);
+ break;
+ case 2:
+ LoadBgTiles(windowLocal.window.bg, windowLocal.tileData + (rectPos * 32), rectSize, windowLocal.window.baseBlock + rectPos);
+ break;
+ case 3:
+ LoadBgTiles(windowLocal.window.bg, windowLocal.tileData + (rectPos * 32), rectSize, windowLocal.window.baseBlock + rectPos);
+ CopyBgTilemapBufferToVram(windowLocal.window.bg);
+ break;
}
}
}
@@ -601,7 +601,7 @@ static void nullsub_9(void)
}
-u16 AddWindow8Bit(struct WindowTemplate *template)
+u16 AddWindow8Bit(const struct WindowTemplate *template)
{
u16 windowId;
u8* memAddress;
@@ -669,12 +669,12 @@ void FillWindowPixelRect8Bit(u8 windowId, u8 fillValue, u16 x, u16 y, u16 width,
FillBitmapRect8Bit(&pixelRect, x, y, width, height, fillValue);
}
-void BlitBitmapRectToWindow4BitTo8Bit(u8 windowId, u8 *pixels, u16 srcX, u16 srcY, u16 srcWidth, int srcHeight, u16 destX, u16 destY, u16 rectWidth, u16 rectHeight, u8 paletteNum)
+void BlitBitmapRectToWindow4BitTo8Bit(u8 windowId, const u8 *pixels, u16 srcX, u16 srcY, u16 srcWidth, int srcHeight, u16 destX, u16 destY, u16 rectWidth, u16 rectHeight, u8 paletteNum)
{
struct Bitmap sourceRect;
struct Bitmap destRect;
- sourceRect.pixels = (u8*)pixels;
+ sourceRect.pixels = (u8*) pixels;
sourceRect.width = srcWidth;
sourceRect.height = srcHeight;
@@ -692,16 +692,16 @@ void CopyWindowToVram8Bit(u8 windowId, u8 mode)
switch (mode)
{
- case 1:
- CopyBgTilemapBufferToVram(sWindowPtr->window.bg);
- break;
- case 2:
- LoadBgTiles(sWindowPtr->window.bg, sWindowPtr->tileData, sWindowSize, sWindowPtr->window.baseBlock);
- break;
- case 3:
- LoadBgTiles(sWindowPtr->window.bg, sWindowPtr->tileData, sWindowSize, sWindowPtr->window.baseBlock);
- CopyBgTilemapBufferToVram(sWindowPtr->window.bg);
- break;
+ case 1:
+ CopyBgTilemapBufferToVram(sWindowPtr->window.bg);
+ break;
+ case 2:
+ LoadBgTiles(sWindowPtr->window.bg, sWindowPtr->tileData, sWindowSize, sWindowPtr->window.baseBlock);
+ break;
+ case 3:
+ LoadBgTiles(sWindowPtr->window.bg, sWindowPtr->tileData, sWindowSize, sWindowPtr->window.baseBlock);
+ CopyBgTilemapBufferToVram(sWindowPtr->window.bg);
+ break;
}
}
diff --git a/sym_ewram.txt b/sym_ewram.txt
index f386e9da1..f99dd1ab3 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -191,69 +191,7 @@ gUnknown_02039CF4: @ 2039CF4
gUnknown_02039CF8: @ 2039CF8
.space 0x8
-gUnknown_02039D00: @ 2039D00
- .space 0x4
-
-gUnknown_02039D04: @ 2039D04
- .space 0x4
-
-gUnknown_02039D08: @ 2039D08
- .space 0x4
-
-gUnknown_02039D0C: @ 2039D0C
- .space 0x1
-
-gUnknown_02039D0D: @ 2039D0D
- .space 0x1
-
-gUnknown_02039D0E: @ 2039D0E
- .space 0x1
-
-gUnknown_02039D0F: @ 2039D0F
- .space 0x1
-
-gUnknown_02039D10: @ 2039D10
- .space 0x2
-
-gUnknown_02039D12: @ 2039D12
- .space 0x2
-
-gUnknown_02039D14: @ 2039D14
- .space 0x64
-
-gUnknown_02039D78: @ 2039D78
- .space 0x1
-
-gUnknown_02039D79: @ 2039D79
- .space 0x1
-
-gUnknown_02039D7A: @ 2039D7A
- .space 0x1
-
-gUnknown_02039D7B: @ 2039D7B
- .space 0x1
-
-gUnknown_02039D7C: @ 2039D7C
- .space 0x1
-
-gUnknown_02039D7D: @ 2039D7D
- .space 0x1
-
-gUnknown_02039D7E: @ 2039D7E
- .space 0x2
-
-gUnknown_02039D80: @ 2039D80
- .space 0x4
-
-gUnknown_02039D84: @ 2039D84
- .space 0x4
-
-gUnknown_02039D88: @ 2039D88
- .space 0x4
-
-gUnknown_02039D8C: @ 2039D8C
- .space 0x4
-
+ .include "src/pokemon_storage_system.o"
.include "src/script_movement.o"
.include "src/fldeff_cut.o"
.include "src/map_name_popup.o"
@@ -362,49 +300,7 @@ gUnknown_0203CD88: @ 203CD88
.include "src/list_menu.o"
.include "src/dynamic_placeholder_text_util.o"
.include "src/item_icon.o"
-
-gUnknown_0203CEC4: @ 203CEC4
- .space 0x4
-
-gUnknown_0203CEC8: @ 203CEC8
- .space 0xE
-
-gUnknown_0203CED6: @ 203CED6
- .space 0x6
-
-gUnknown_0203CEDC: @ 203CEDC
- .space 0x4
-
-gUnknown_0203CEE0: @ 203CEE0
- .space 0x4
-
-gUnknown_0203CEE4: @ 203CEE4
- .space 0x4
-
-gUnknown_0203CEE8: @ 203CEE8
- .space 0x1
-
-gUnknown_0203CEE9: @ 203CEE9
- .space 0x3
-
-gPostMenuFieldCallback: @ 203CEEC
- .space 0x4
-
-gUnknown_0203CEF0: @ 203CEF0
- .space 0x4
-
-gUnknown_0203CEF4: @ 203CEF4
- .space 0x4
-
-gSelectedOrderFromParty: @ 203CEF8
- .space 0x4
-
-gUnknown_0203CEFC: @ 203CEFC
- .space 0x4
-
-gUnknown_0203CF00: @ 203CF00
- .space 0x4
-
+ .include "src/party_menu.o"
.include "src/fossil_specials.o"
.include "src/fldeff_groundshake.o"
.include "src/pokemon_summary_screen.o"